按照下面的说明使用Docker设置和运行本地Kudu集群,并在几分钟内开始使用Apache Kudu。
这仅用于演示目的,不应用于生产或性能/规模测试。

2.1、安装docker

按照Docker安装文档在您的Linux、Mac或Windows环境中安装Docker。
配置Docker安装以获得足够的资源来运行快速入门指南。

  • Docker for Mac资源配置指南

一个可以轻松运行所有快速入门示例的最小配置是:

  • 4 cpu
  • 6 GB的内存
  • 50 GB的磁盘

您可以使用较低的资源配置,但是可能会失去一些性能和稳定性。
您可能还想阅读Docker入门指南,但这不是必需的。

2.2、克隆存储库

使用Git克隆Apache Kudu库,并切换到Kudu目录:

  1. git clone https://github.com/apache/kudu
  2. cd kudu

2.3、快速启动集群

2.3.1、设置KUDU_QUICKSTART_IP

将KUDU_QUICKSTART_IP环境变量设置为您的ip地址:

  1. export KUDU_QUICKSTART_IP=$(ifconfig | grep "inet " | grep -Fv 127.0.0.1 | awk '{print $2}' | tail -1)

2.3.2、启动集群

然后使用docker-compose启动一个包含3个主服务器和5个平板服务器的集群。当在docker网络/容器内部时,主地址将是kudu-master-1:7051、kudu-master-2:7151、kudu-master-3:7251,当在主机上时,您可以使用localhost:7051、localhost:7151、localhost:7251指定主地址。

  1. docker-compose -f docker/quickstart.yml up -d

您可以删除-d标志来在前台运行集群。

2.3.3、查看Web UI

一旦集群启动,您就可以通过访问localhost:8050来查看主web-ui。

2.3.4、检查群集运行状况

使用下面的命令在kudu-master-1容器中获得bash shell:

  1. docker exec -it $(docker ps -aqf "name=kudu-master-1") /bin/bash

现在可以运行Kudu ksck工具来验证集群是否健康:

  1. kudu cluster ksck kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251

或者,如果你的主机上有一个可用的kudu二进制文件,你可以通过以下方式运行ksck:

  1. export KUDU_USER_NAME=kudu
  2. kudu cluster ksck localhost:7051,localhost:7151,localhost:7251

设置“KUDU_USER_NAME=kudu”可以简化在不安全环境中使用不同用户帐号的kudu。

2.4、运行一个简单的示例

现在,一个Kudu集群已经启动并运行,可以在集群上运行示例和集成。下面的命令在快速启动集群上运行java示例:

  1. export KUDU_USER_NAME=kudu
  2. cd examples/java/java-example
  3. mvn package
  4. java -DkuduMasters=localhost:7051,localhost:7151,localhost:7251 -jar target/kudu-java-example-1.0-SNAPSHOT.jar

2.5、更多示例

使用快速启动Kudu集群的更完整的演练可以在example /quickstart目录中找到。为了方便,你可以在Github上浏览它们。

  • NiFi快速入门指南
  • Spark快速入门指南
  • impala快速入门指南

2.6、删除集群

完成快速启动集群后,可以通过几种方式关闭集群。如果运行没有-d标志的docker-compose,可以使用ctrl + c停止集群。
如果你运行带有-d标志的docker-compose,你可以使用以下命令优雅地关闭集群:

  1. docker-compose -f docker/quickstart.yml down

另一种选择是停止所有的Kudu容器:

  1. docker stop $(docker ps -aqf "name=kudu")

如果你想删除集群状态,你也可以删除docker容器和卷通过:

  1. docker rm $(docker ps -aqf "name=kudu")
  2. docker volume rm $(docker volume ls --filter name=kudu -q)

2.7、故障排除

2.7.1、查看日志

可以使用docker logs命令查看日志。下面是一个显示其中一个平板电脑服务器日志的示例:

  1. docker logs $(docker ps -aqf "name=kudu-tserver-1")

2.7.2、修改Kudu版本

要更改所使用的Kudu Docker镜像的版本,可以通过设置KUDU_QUICKSTART_VERSION环境变量覆盖latest的默认值。

  1. export KUDU_QUICKSTART_VERSION="1.14.0"

2.7.3、kill a kudu master

由于KUDU-1620,主机总是被期望是可达的。