首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes中的Accumulo集群部署

Kubernetes中的Accumulo集群部署
EN

Stack Overflow用户
提问于 2018-11-13 00:57:23
回答 1查看 668关注 0票数 2

我正在尝试使用https://github.com/cybermaggedon/accumulo-docker中的容器在Google Kubernetes引擎中创建一个3节点部署。我的主要问题是如何让节点相互感知。

Accumulo容器的文档通过提供环境变量来以这种方式配置每个容器,容器启动脚本依次使用环境变量来重写该容器的配置文件,例如

代码语言:javascript
复制
  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下将我的伸缩实现为有状态集,我如何实现类似的结果?我可以根据需要修改容器,创建自己的版本没有问题。

EN

回答 1

Stack Overflow用户

发布于 2018-11-13 04:59:33

免责声明:仅仅因为它在docker上运行,并不一定意味着它可以在Kubernetes上运行。Accumulo是Hadoop/HDFS生态系统的一部分,许多组件不一定是生产就绪的。

Kubernetes使用PodCidr运行它的pods,并且它只在集群中可见。此外,每个pod的IP地址不是固定的,这意味着它可能会随着pod从一个群集移动到另一个群集或随着pod的停止/启动而改变。通常在集群中发现服务/pods的方式是使用DNS。因此,例如,对于主选项和从选项,您可能必须指定Kubernetes DNS (并且考虑到您使用的StatefulSet对pod使用序号)。

代码语言:javascript
复制
MASTER_HOSTS=acummulo-0.accumulo.default.svc.cluster.local
SLAVE_HOSTS=acummulo-0.accumulo.default.svc.cluster.local,acummulo-1.accumulo.default.svc.cluster.local,acummulo-2.accumulo.default.svc.cluster.local

由于Accumulo是一个分布式K/V存储,您可以从如何在Kubernetes集群上部署Cassandra中获得线索。希望它能帮上忙!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53266785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档