按照下面的说明使用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目录:
git clone https://github.com/apache/kudu
cd kudu
2.3、快速启动集群
2.3.1、设置KUDU_QUICKSTART_IP
将KUDU_QUICKSTART_IP环境变量设置为您的ip地址:
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指定主地址。
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:
docker exec -it $(docker ps -aqf "name=kudu-master-1") /bin/bash
现在可以运行Kudu ksck工具来验证集群是否健康:
kudu cluster ksck kudu-master-1:7051,kudu-master-2:7151,kudu-master-3:7251
或者,如果你的主机上有一个可用的kudu二进制文件,你可以通过以下方式运行ksck:
export KUDU_USER_NAME=kudu
kudu cluster ksck localhost:7051,localhost:7151,localhost:7251
设置“KUDU_USER_NAME=kudu”可以简化在不安全环境中使用不同用户帐号的kudu。
2.4、运行一个简单的示例
现在,一个Kudu集群已经启动并运行,可以在集群上运行示例和集成。下面的命令在快速启动集群上运行java示例:
export KUDU_USER_NAME=kudu
cd examples/java/java-example
mvn package
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,你可以使用以下命令优雅地关闭集群:
docker-compose -f docker/quickstart.yml down
另一种选择是停止所有的Kudu容器:
docker stop $(docker ps -aqf "name=kudu")
如果你想删除集群状态,你也可以删除docker容器和卷通过:
docker rm $(docker ps -aqf "name=kudu")
docker volume rm $(docker volume ls --filter name=kudu -q)
2.7、故障排除
2.7.1、查看日志
可以使用docker logs命令查看日志。下面是一个显示其中一个平板电脑服务器日志的示例:
docker logs $(docker ps -aqf "name=kudu-tserver-1")
2.7.2、修改Kudu版本
要更改所使用的Kudu Docker镜像的版本,可以通过设置KUDU_QUICKSTART_VERSION环境变量覆盖latest的默认值。
export KUDU_QUICKSTART_VERSION="1.14.0"
2.7.3、kill a kudu master
由于KUDU-1620,主机总是被期望是可达的。