Dhr*_*aya 6 java apache-zookeeper
我有两个问题,我找不到任何受欢迎/广泛接受的解决方案:
使用Java程序启动zookeeper服务器的最简单方法是什么?
并且,是否可以将服务器添加到zookeeper集群,而无需手动转到每台计算机并使用新节点的id和ip:port条目更新其配置文件?
有人可以帮忙吗?谢谢!
如果您想从 Java 代码启动一个新的 ZooKeeper 服务器进程,您可以像从 Java 启动任何其他外部进程一样进行操作,例如使用 ProcessBuilder。对于 ZooKeeper 来说,这里没有什么特别的。您可以查看官方文档以了解实际命令的外观。如果您想监督生产使用的过程,事情会变得很复杂,因此在这种情况下,最好使用操作系统上提供的东西(例如 upstart、runit 等...),或者查看 Exhibitor 以获取代码示例: https: //github.com/Netflix/exhibitor。
如果您询问如何从 Java 程序启动 ZooKeeper 集群,那么您会使事情变得更加复杂,因为您基本上需要监督不同主机上的多个 ZooKeeper JVM 进程。另请查看参展商。
如果您的问题是关于在与 Java 代码(嵌入)相同的 JVM 进程中启动 ZooKeeper 服务器实例,那么这也是可能的。有一些重要的细节需要记住,看看这个答案: Is it possible to start a Zookeeper server instance in process, say for unit test?
关于你的第二个问题,最近在 3.5.0 中添加了对动态集群重新配置的真正支持: http: //zookeeper.apache.org/doc/trunk/zookeeperReconfig.html。
在此之前,您仍然可以“将服务器添加到zookeeper集群,而不必手动转到每台机器并更新其配置”,但您必须使用像Chef、Puppet或类似的配置管理工具,在这种情况下您还需要需要重新启动集群以采用新配置。
| 归档时间: |
|
| 查看次数: |
2925 次 |
| 最近记录: |