Zookeeper内存配置较为复杂,务必仔细阅读,切勿出错,让我们一起来理清设置要点。
1、 看了你的问题后,我特地查阅了ZooKeeper的启动脚本代码,发现其中并未添加任何参数,完全依赖JVM的默认配置进行启动。
2、 若需增加ZooKeeper的JVM内存,可修改{ZK_HOME}/bin/zkServer.sh文件,定位至约第109到110行,调整相关内存参数即可。
3、 运行ZooKeeper时,通过执行jmap -heap 命令查看其内存使用情况,结果如下所示。
4、 将三个Zookeeper服务部署在同一台服务器上,配置中包含两个TCP端口:前者用于Leader与Follower或Observer之间的数据通信,后者专用于Zookeeper集群的选举过程。同时,配置中server.后跟随的数字也值得注意,它代表每个节点在集群中的唯一标识,对服务定位和角色区分具有重要作用。
5、 在dataDir目录下需创建一个名为myid的文件,其中仅包含一个数字,用作当前服务的唯一标识。该ID在整个集群中必须唯一,不可重复。ZooKeeper会依据此ID读取对应server.x的配置信息。例如,若myid值为1,则系统将加载zoo.cfg配置文件中server.1所对应的节点设置,确保服务正确加入集群并运行。
评论
更多评论