三个zookeeper实例。Zookeeper也是java开发的所以需要安装jdk。
1、Linux系统
2、Jdk环境。
3、Zookeeper。
第一步:把zookeeper的安装包上传到服务器
第二步:解压缩。
[root@bogon ~]# tar -zxfzookeeper-3.4.6.tar.gz
[root@bogon ~]#
第三步:在/usr/local/目录下创建一个solrcloud目录。把zookeeper解压后的文件夹复制到此目录下三份。分别命名为zookeeper1、2、3
[root@bogon ~]# mkdir /usr/local/solrcloud
[root@bogon ~]# mv zookeeper-3.4.6/usr/local/solrcloud/zookeeper1
[root@bogon ~]# cd /usr/local/solrcloud
[root@bogon solrcloud]# ll
total 4
drwxr-xr-x. 10 1000 1000 4096 Feb 20 2014 zookeeper1
[root@bogon solrcloud]# cp -r zookeeper1/zookeeper2
[root@bogon solrcloud]# cp -r zookeeper1/zookeeper3
[root@bogon solrcloud]#
第四步:配置zookeeper。
1、在每个zookeeper文件夹下创建一个data目录。
2、在data文件夹下创建一个文件名称为myid,文件的内容就是此zookeeper的编号1、2、3
[root@bogon data]# echo 1 >> myid
[root@bogon data]# ll
total 4
-rw-r--r--. 1 root root 2 Sep 17 23:43myid
[root@bogon data]# cat myid
1
[root@bogon data]#
在zookeeper2、3文件夹下分别创建data目录和myid文件
[root@bogon solrcloud]# mkdir zookeeper2/data
[root@bogon solrcloud]# echo 2 >> zookeeper2/data/myid
[root@bogon solrcloud]# ll zookeeper2/data
total 4
-rw-r--r--. 1 root root 2 Sep 17 23:44 myid
[root@bogon solrcloud]# cat zookeeper2/data/myid
2
[root@bogon solrcloud]# mkdir zookeeper3/data
[root@bogon solrcloud]# echo 3 >> zookeeper3/data/myid
[root@bogon solrcloud]#
3、把zookeeper1下conf目录下的zoo_sample.cfg文件复制一份改名为zoo.cfg
4、修改zoo.cfg的配置
cd zookeeper-3.4.8/conf
创建文件 zoo.cfg,内容如下:
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/opt/zookeeper/server1/data
dataLogDir=/opt/zookeeper/server1/dataLog
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
tickTime:zookeeper中使用的基本时间单位, 毫秒值。
initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个 tickTime 时间间隔数。这里设置为5表名最长容忍时间为 5 * 2000 = 10 秒。
syncLimit:这个配置标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2 * 2000 = 4 秒。
dataDir 和 dataLogDir 看配置就知道干吗的了,不用解释。
clientPort:监听client连接的端口号,这里说的client就是连接到Zookeeper的代码程序。
server.{myid}={ip}:{leader服务器交换信息的端口}:{当leader服务器挂了后, 选举leader的端口}
maxClientCnxns:对于一个客户端的连接数限制,默认是60,这在大部分时候是足够了。但是在我们实际使用中发现,在测试环境经常超过这个数,经过调查发现有的团队将几十个应用全部部署到一台机器上,以方便测试,于是这个数字就超过了。
第五步:启动zookeeper。进入zookeeper1/bin目录下。
启动zookeeper:./zkServer.sh start
关闭:./zkServer.shstop
查看状态:./zkServer.shstatus
[root@bogon solrcloud]#zookeeper1/bin/zkServer.sh status
JMX enabled by default
Using config:/usr/local/solrcloud/zookeeper1/bin/../conf/zoo.cfg
Mode: follower
[root@bogon solrcloud]#zookeeper2/bin/zkServer.sh status
JMX enabled by default
Using config:/usr/local/solrcloud/zookeeper2/bin/../conf/zoo.cfg
Mode: leader
[root@bogon solrcloud]#zookeeper3/bin/zkServer.sh status
JMX enabled by default
Using config: /usr/local/solrcloud/zookeeper3/bin/../conf/zoo.cfg
Mode: follower
[root@bogon solrcloud]#
-----------------------------------------常用命令
3.1. 启动ZK服务: bin/zkServer.sh start
3.2. 查看ZK服务状态: bin/zkServer.sh status
3.3 停止ZK服务: bin/zkServer.sh stop
3.4. 重启ZK服务: bin/zkServer.sh restart
3.5 连接服务器 zkCli.sh -server 127.0.0.1:2181
3.6 查看根目录 ls /
3.7 创建 testnode节点,关联字符串"zz" create /zk/testnode "zz"
3.8 查看节点内容 get /zk/testnode
3.9 设置节点内容 set /zk/testnode abc
4.0 删除节点 delete /zk/testnode