1、上传zookeeper,并解压到指定路径
2、在zookeeper的conf目录下,重命名一个zoo.cfg文件
[root@master conf]# mv zoo_sample.cfg zoo.cfg
3、在zookeeper目录下新建一个data工作目录
[root@master zookeeper-3.4.10]# mkdir data
4、修改配置文件zoo.cfg
如果配置了主机IP映射可以直接写对应的主机名,没有配置的话,写IP:
server.1= master:2888:3888
server.2= slave1:2888:3888
server.3= slave2:2888:3888
5、在上面server.N对应的主机的data目录下创建一个myid文件,里面内容是N(server.1对应的master里面的myid文件内容为1 server.2对应的slave1里面的myid文件内容为2, server.3对应的slave2里面的myid文件内容为3)
[root@master data]# touch myid
[root@master data]# echo "1" >myid
6、修改日志存放目录 (方便以后查找问题)
[root@master data]# vim /usr/apps/zookeeper-3.4.10/bin/zkEnv.sh
7、复制zookeeper到其他两台机器,并修改myid的内容:
//传到子机器上
[root@master apps]# scp -r zookeeper-3.4.10/ slave1:/usr/apps/
//改值
[root@slave1 data]# echo "2" > myid
[root@master apps]# scp -r zookeeper-3.4.10/ slave2:/usr/apps/
[root@slave2 data]# echo "3" > myid
8、启动集群,三台机器上分别启动:
[root@master zookeeper-3.4.10]# bin/zkServer.sh start
9.查看集群状态
[root@master zookeeper-3.4.10]# bin/zkServer.sh status
集群的测试和使用》》》》
10.zookeeper客户端的使用,任意机器上可执行:
[root@master zookeeper-3.4.10]# bin/zkCli.sh
回车:
11. zk服务器中也有类似 linux中的目录结构,”/“ 是它的目录根,在这个根下可以创建任何一个key、value对,其中key值就相当于一个linux中子目录名,但是这个子目录是可以有值的,就是那个value。这个key-value对在zk中叫一个node 这个node可以有子孙node。
在根下创建一个node节点key为age, value为18:
[zk: localhost:2181(CONNECTED) 0] create /age 18
显示“根”下所有节点 :
[zk: localhost:2181(CONNECTED) 1] ls /
获取node的value值 :
[zk: localhost:2181(CONNECTED) 2] get /age
用shell命令启动,关闭,查看zookeeper
由于zookeeper启动需要每个节点分别启动 , 操作起来毕竟麻烦 , 提供一种通过shell命令启动 , 关闭 , 查看状态的方法
--新建shell文件夹
# mkdir /usr/shell
--启动
# vim /usr/shell/startzk.sh
输入如下内容
#!/bin/bash
echo "start zookeeper server......."
hosts="master slave1 slave2"
for host in $hosts
do
ssh $host "source /etc/profile;/usr/zookeeper-3.4.10/bin/zkServer.sh start"
done
保存!
--关闭
# vim /usr/shell/stopzk.sh
输入如下内容
#!/bin/bash
echo "stop zookeeper server......."
hosts="master slave1 slave2"
for host in $hosts
do
ssh $host "source /etc/profile;/usr/zookeeper-3.4.10/bin/zkServer.sh stop"
done
保存!
--查看状态
# vim /usr/shell/statuszk.sh
输入如下内容
#!/bin/bash
echo "status zookeeper server......."
hosts="master slave1 slave2"
for host in $hosts
do
ssh $host "source /etc/profile;/usr/zookeeper-3.4.10/bin/zkServer.sh status"
done
注意:hosts = “” 里面有几个节点就写几个节点 , 我这里只有三个 , 故写了三个
ssh $host “” 注意zookeeper的安装路径 , 不要写错
最后分配权限
# chmod 777 ./startzk.sh
# chmod 777 ./stopzk.sh
# chmod 777 ./statuszk.sh
有问题请指出谢谢,博主会修改。