前提条件
1. 1台Linux环境机器
2. Linux环境下安装好jdk
目标
用1台Linux环境机器,安装zookeeper伪分布式环境。
操作步骤
下载:
点击如下链接下载zookeeper安装包,这里使用的版本为3.4.13
Index of /dist/zookeeper
解压:
tar -zxvf zookeeper-3.4.13.tar.gz
重命名:
mv zookeeper-3.4.13 zookeeper-3.4.13-pseudo
进入zookeeper解压目录下的配置目录conf:
hadoop@node1:~/soft$ cd zookeeper-3.4.13-pseudo/conf/ hadoop@node1:~/soft/zookeeper-3.4.13-pseudo/conf$ ls configuration.xsl log4j.properties zoo_sample.cfg
复制模板文件,得到zoo1.cfg:
hadoop@node1:~/soft/zookeeper-3.4.13-pseudo/conf$ cp zoo_sample.cfg zoo1.cfg
编辑zoo1.cfg,最终内容如下:
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/hadoop/soft/zookeeper-3.4.13-pseudo/data_1 dataLogDir=/home/hadoop/soft/zookeeper-3.4.13-pseudo/logs_1 clientPort=2181 server.1=node1:2888:3888 server.2=node1:2889:3889 server.3=node1:2890:3890
注意:
1. dataDir为zookeeper的数据目录,建议放在zookeeper解压后的目录下,目录注意按实际修改;
2.dataLogDir为zookeeper的数据目录,建议放在zookeeper解压后的目录下,目录注意按实际修改。
3.server.x表示第几台zookeeper机器,x与后面的myid里的数字一致
4.node1表示Linux机器的主机名,也可以写Linux机器的ip地址。
5.伪分布只有1台机器,通过配置不同端口来区别不同的zookeeper服务
同样的,在与zoo1.cfg相同目录下,创建zoo2.cfg和zoo3.cfg。
创建zoo2.cfg,内容如下:
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/hadoop/soft/zookeeper-3.4.13-pseudo/data_2 dataLogDir=/home/hadoop/soft/zookeeper-3.4.13-pseudo/logs_2 clientPort=2182 server.1=node1:2888:3888 server.2=node1:2889:3889 server.3=node1:2890:3890
创建zoo3.cfg,内容如下:
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/hadoop/soft/zookeeper-3.4.13-pseudo/data_3 dataLogDir=/home/hadoop/soft/zookeeper-3.4.13-pseudo/logs_3 clientPort=2183 server.1=node1:2888:3888 server.2=node1:2889:3889 server.3=node1:2890:3890
创建3个myid文件:
进入zookeeper解压目录后,因为dataDir不存在,需要先执行创建数据文件夹,并在每个数据目录下创建一个myid文件,写入对应的id,命令如下:
hadoop@node1:~/soft/zookeeper-3.4.13-pseudo$ mkdir data_1 hadoop@node1:~/soft/zookeeper-3.4.13-pseudo$ mkdir data_2 hadoop@node1:~/soft/zookeeper-3.4.13-pseudo$ mkdir data_3 hadoop@node1:~/soft/zookeeper-3.4.13-pseudo$ echo 1 > data_1/myid hadoop@node1:~/soft/zookeeper-3.4.13-pseudo$ echo 2 > data_2/myid hadoop@node1:~/soft/zookeeper-3.4.13-pseudo$ echo 3 > data_3/myid
启动zookeeper:
分别按3个配置启动zookeeper
$ bin/zkServer.sh start conf/zoo1.cfg $ bin/zkServer.sh start conf/zoo2.cfg $ bin/zkServer.sh start conf/zoo3.cfg
具体执行过程如下:
hadoop@node1:~/soft/zookeeper-3.4.13-pseudo$ bin/zkServer.sh start conf/zoo1.cfg ZooKeeper JMX enabled by default Using config: conf/zoo1.cfg Starting zookeeper ... STARTED hadoop@node1:~/soft/zookeeper-3.4.13-pseudo$ bin/zkServer.sh start conf/zoo2.cfg ZooKeeper JMX enabled by default Using config: conf/zoo2.cfg Starting zookeeper ... STARTED hadoop@node1:~/soft/zookeeper-3.4.13-pseudo$ bin/zkServer.sh start conf/zoo3.cfg ZooKeeper JMX enabled by default Using config: conf/zoo3.cfg Starting zookeeper ... STARTED
查看zookeeper状态:
hadoop@node1:~/soft/zookeeper-3.4.13-pseudo$ bin/zkServer.sh status conf/zoo1.cfg ZooKeeper JMX enabled by default Using config: conf/zoo1.cfg Mode: follower hadoop@node1:~/soft/zookeeper-3.4.13-pseudo$ bin/zkServer.sh status conf/zoo2.cfg ZooKeeper JMX enabled by default Using config: conf/zoo2.cfg Mode: leader hadoop@node1:~/soft/zookeeper-3.4.13-pseudo$ bin/zkServer.sh status conf/zoo3.cfg ZooKeeper JMX enabled by default Using config: conf/zoo3.cfg Mode: follower
可看到zoo2.cfg配置的zk为leader,另外两个配置的zk为follower。
至此,zookeeper伪分布式配置成功。
完成!enjoy it!



