【发布时间】:2018-11-13 04:59:33
【问题描述】:
我正在尝试使用来自 https://github.com/cybermaggedon/accumulo-docker 的容器在 Google Kubernetes Engine 中创建一个 3 节点部署。我的主要问题是如何让节点相互了解。例如,accumulo/conf/slaves 配置文件包含所有节点的列表(名称或 IP,每行一个),并且需要在所有节点之间复制。此外,单个 Accumulo 节点被指定为主节点,所有从节点通过使其成为 conf/masters 文件中的唯一名称/IP 来指向它。
Accumulo docker 容器的文档通过提供环境变量以这种方式配置每个容器,容器启动脚本又使用这些环境变量来重写该容器的配置文件,例如
docker run -d --ip=10.10.10.11 --net my_network \
-e ZOOKEEPERS=10.10.5.10,10.10.5.11,10.10.5.12 \
-e HDFS_VOLUMES=hdfs://hadoop01:9000/accumulo \
-e NAMENODE_URI=hdfs://hadoop01:9000/ \
-e MY_HOSTNAME=10.10.10.11 \
-e GC_HOSTS=10.10.10.10 \
-e MASTER_HOSTS=10.10.10.10 \
-e SLAVE_HOSTS=10.10.10.10,10.10.10.11,10.10.10.12 \
-e MONITOR_HOSTS=10.10.10.10 \
-e TRACER_HOSTS=10.10.10.10 \
--link hadoop01:hadoop01 \
--name acc02 cybermaggedon/accumulo:1.8.1h
这是一个从节点的启动,它包含在SLAVE_HOSTS 中并指向MASTER_HOSTS 中的主节点。
如果我在 Kubernetes 下将扩展实现为有状态集,我如何才能获得类似的结果?我可以根据需要修改容器,创建自己的版本没有问题。
【问题讨论】:
标签: docker kubernetes accumulo