Zookeeper安装和使用

Zookeeper安装

wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz

tar zxvf zookeeper-3.3.6.tar.gz

mv zookeeper-3.3.6 /usr/local/zookeeper-3.3.6-2181

cd /usr/local/zookeeper-3.3.6-2181

cp conf/zoo_sample.cfg conf/zoo.cfg

单实例配置

vi conf/zoo.cfg

#心跳时间

tickTime=2000

initLimit=10

syncLimit=5

#数据保存目录

dataDir=/data/zhanglin/logistics/zookeeper-3.3.6

#客户端连接端口

clientPort=2181

集群配置

 修改配置文件

vi conf/zoo.cfg

tickTime=2000

#连接leader的等待的最长时间(秒)

initLimit=10

#标识 Leader 与 Follower 之间发送消息,请求和应答时间最长时间

syncLimit=5

dataDir=/data/zhanglin/logistics/zookeeper-3.3.6

clientPort=2181

#server.A=B:C:D
 A 是一个数字,表示这个是第几号服务器;
 B 是这个服务器的 ip 地址;
 C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;
 D 执行选举时服务器相互通信的端口。
 表示的是万一集群中的 #Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 #Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。

server.1=10.0.30.138:2555:3555

server.2=10.0.30.139:2555:3555

增加myid文件

并在data目录下放置myid文件:(上面zoo.cfg中的dataDir)

mkdir data

vi myid

myid指明自己的id,对应上面zoo.cfg中server.后的数字,第一台的内容为1,第二台的内容为2,内容如下:

myid

1

1
这里写图片描述
2
这里写图片描述
3
这里写图片描述

优化Zookeeper

 增加内存

zkEnv.sh

zkEnv.sh

#在文件底部增加

export JVMFLAGS="-Xms1024m -Xmx2048m $JVMFLAGS"

查询内存大小

ps -ef|grep zookeeper

#查询pid

jmap --heap  pid 

服务命令

1. 启动ZK服务:       sh bin/zkServer.sh start
2. 查看ZK服务状态: sh bin/zkServer.sh status
3. 停止ZK服务:       sh bin/zkServer.sh stop
4. 重启ZK服务:       sh bin/zkServer.sh restart 

客户端命令

1. 显示根目录下、文件: ls / 使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
2. 显示根目录下、文件: ls2 / 查看当前节点数据并能看到更新次数等数据
3. 创建文件,并设置初始内容: create /zk "test" 创建一个新的 znode节点“ zk ”以及与它关联的字符串
4. 获取文件内容: get /zk 确认 znode 是否包含我们所创建的字符串
5. 修改文件内容: set /zk "zkbak" 对 zk 所关联的字符串进行设置
6. 删除文件: delete /zk 将刚才创建的 znode 删除
7. 退出客户端: quit
8. 帮助命令: help 
1. 可以通过命令:echo stat|nc 127.0.0.1 2181 来查看哪个节点被选择作为follower或者leader
2. 使用echo ruok|nc 127.0.0.1 2181 测试是否启动了该Server,若回复imok表示已经启动。
3. echo dump| nc 127.0.0.1 2181 ,列出未经处理的会话和临时节点。
4. echo kill | nc 127.0.0.1 2181 ,关掉server
5. echo conf | nc 127.0.0.1 2181 ,输出相关服务配置的详细信息。
6. echo cons | nc 127.0.0.1 2181 ,列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。
7. echo envi |nc 127.0.0.1 2181 ,输出关于服务环境的详细信息(区别于 conf 命令)。
8. echo reqs | nc 127.0.0.1 2181 ,列出未经处理的请求。
9. echo wchs | nc 127.0.0.1 2181 ,列出服务器 watch 的详细信息。
10. echo wchc | nc 127.0.0.1 2181 ,通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
11. echo wchp | nc 127.0.0.1 2181 ,通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章