Zookeeper 集群搭建

hosts 配置

在 /etc/hosts 配置文件中添加如下内容:

10.142.165.40 frin-zookeeper1
10.142.165.41 frin-zookeeper2
10.142.165.44 frin-zookeeper3

创建用户及目录

  • 创建 zookeeper 用户,用来启动 zookeeper 进程。
  • 创建 /frin/zookeeper 目录作为 zookeeper 的 home 目录。修改该目录的属主与组为 zookeeper。

下载 zookeeper 并解压

当前最新稳定版本是 zookeeper-3.4.10.tar.gz,下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/。下载并解压到 /frin/zookeeper 目录下。

创建软连接:

ln -s /frin/zookeeper/zookeeper-3.4.10 /usr/local/zookeeper-3.4.10

Java heap 设置

设置Java heap 大小,避免内存与磁盘空间的交换,能够大大提升ZK的性能,设置合理的heap大小则能有效避免此类空间交换的触发。在正式发布上线之前,建议是针对使用场景进行一些压力测试,确保正常运行后内存的使用不会触发此类交换。通常在一个物理内存为4G的机器上,最多设置-Xmx为3G。

因为存储数据量很小,此处使用默认值。

zookeeper 配置

cd conf
cp zoo_sample.cfg zoo.cfg

在 zoo.cfg 中添加如下配置:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper
clientPort=2181
server.1=frin-zookeeper1:2888:3888
server.2=frin-zookeeper2:2888:3888
server.3=frin-zookeeper3:2888:3888

创建数据目录:/data/zookeeper

创建 myid 文件

myid文件中只有一个数字,即一个Server ID。例如,server.1 的myid文件内容就是“1”。注意,请确保每个server的myid文件中id数字不同,并且和server.id=host:port:port中的id一致。另外,id的范围是1~255。

分别在三台机器上的 /data/zookeeper 目录下创建 myid 文件,并设置相应的值。

启动 zookeeper

bin/zkServer.sh start

测试

bin/zkCli.sh -server frin-zookeeper1:2181