Zookeeper集群搭建与基本操作
2017-11-28 19:17
423 查看
进入zookeeper官网,点击download。下载当前稳定版本的zookeeper。
上传解压zookeeper安装包。重命名为zookeeper。
[root@hadoop01 softwares]# mvzookeeper-3.4.10 zookeeper
进入conf文件夹。
[root@hadoop01 zookeeper]# cd conf/
[root@hadoop01 conf]# ls
configuration.xsl log4j.properties zoo_sample.cfg
拷贝zoo_sample.cfg命名为zoo.cfg。
[root@hadoop01 conf]# cp zoo_sample.cfgzoo.cfg
[root@hadoop01 conf]# vim zoo.cfg
修改dataDir地址,添加服务器地址与端口号
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/zookeeper
clientPort=2181
server.1=10.250.109.123:2888:3888
server.2=10.250.109.124:2888:3888
server.3=10.250.109.125:2888:3888
~
将zookeeper拷贝给其他两台主机。
[root@hadoop01 conf]# scp -r/usr/softwares/zookeeper hadoop02:/usr/softwares/
[root@hadoop01 conf]# scp -r /usr/softwares/zookeeperhadoop03:/usr/softwares/
进入var文件夹下创建刚才在配置文件配置的路径,创建zookeeper文件夹。
[root@hadoop01 conf]# cd /var
[root@hadoop01 var]# mkdir zookeeper
[root@hadoop01 bin]# cd /var/zookeeper/
在/var/zookeeper文件夹下创建一个myid文件。里面写本主机id。
[root@hadoop01 zookeeper]#vim myid
命名规则:
本主机为server.1 在myid文件内写入数字1即可。
[root@hadoop01 var]# ssh hadoop02
Last login: Fri Oct 20 13:16:50 2017 from10.250.95.162
[root@hadoop02 ~]# cd /var
[root@hadoop02 var]# mkdir zookeeper
[root@hadoop02 bin]# cd /var/zookeeper/
[root@hadoop02 zookeeper]# vim myid
本主机为server.2。在myid文件内写入2即可。
[root@hadoop02 var]# ssh hadoop03
Last login: Thu Oct 19 15:06:58 2017 from10.250.95.162
[root@hadoop03 ~]# cd /var/
[root@hadoop03 var]# mkdir zookeeper
[root@hadoop03 bin]# cd /var/zookeeper/
[root@hadoop03 zookeeper]# vim myid
同理,在hadoop03写入3。
进入zookeeper安装目录下bin文件夹,启动zookeeper。
查看进程。发现QuorumPeerMain启动成功。
同理。分别启动hadoop02,hadoop03主机的zookeeper进程。
查看3台主机的状态。命令为 sh zkServer.shstatus
Hadoop01是一个追随者。
Hadoop02是领导者。
使用nc(也可以使用telnet)发送rouk(are you ok?)到监听端口,检测是否运行。
[root@hadoop01 zookeeper]# echo ruok | nclocalhost 2181
imok[root@hadoop01 zookeeper]#
返回imok(I am ok)。
使用nc(也可以使用telnet)发送stat到监听端口,检测运行状态。
[root@hadoop01 zookeeper]# echo stat | nclocalhost 2181
Zookeeper version:3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
Clients:
/0:0:0:0:0:0:0:1:59969[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/0/0
Received: 4
Sent: 3
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: follower
Node count: 4
[root@hadoop01 zookeeper]#
Zookeeper四字命令
ZooKeeper 支持某些特定的四字命令(The Four LetterWords)与其进行交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令。 ZooKeeper 常用四字命令主要如下:
连接完成。
输入h查看所有指令。
使用ls / 查看所有节点
[zk: 10.250.109.123:2181(CONNECTED) 1] ls /
[zookeeper]
查看zookeeper的节点信息
[zk: 10.250.109.123:2181(CONNECTED) 2] stat/zookeeper
cZxid = 0x0
ctime = Wed Dec 31 19:00:00 EST 1969
mZxid = 0x0
mtime = Wed Dec 31 19:00:00 EST 1969
pZxid = 0x0
cversion = -1 /版本号
dataVersion = 0 /数据版本号
aclVersion = 0 /权限版本号
ephemeralOwner = 0x0 /是否临时节点
dataLength = 0 /数据长度
numChildren = 1 /子节点数
创建节点
[zk: 10.250.109.123:2181(CONNECTED) 4]create /node_1 111
Created /node_1
创建子节点
[zk: 10.250.109.123:2181(CONNECTED) 5]create /node_1/node_1_1 112
Created /node_1/node_1_1
创建临时节点
[zk: 10.250.109.123:2181(CONNECTED) 6]create -e /node_1/node_1_2 113
Created /node_1/node_1_2
当输入quit退出当前客户端。临时节点当消失。
创建顺序节点
[zk: 10.250.109.123:2181(CONNECTED) 8]create -s /node_1/node_1_3 113
Created /node_1/node_1_30000000002
[zk: 10.250.109.123:2181(CONNECTED) 9]create -s /node_1/node_1_3 113
Created /node_1/node_1_30000000003
创建的节点名将会自增。
修改节点数据
[zk: 10.250.109.123:2181(CONNECTED) 10] set/zookeeper 999
cZxid = 0x0
ctime = Wed Dec 31 19:00:00 EST 1969
mZxid = 0x100000009
mtime = Sat Oct 28 02:05:07 EDT 2017
pZxid = 0x0
cversion = -1
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 1
[zk: 10.250.109.123:2181(CONNECTED) 11] get/zookeeper
999 //数据被修改
cZxid = 0x0
ctime = Wed Dec 31 19:00:00 EST 1969
mZxid = 0x100000009
mtime = Sat Oct 28 02:05:07 EDT 2017
pZxid = 0x0
cversion = -1
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 1
使用get获取节点数据信息。
[zk: 10.250.109.123:2181(CONNECTED) 7] get/node_1
111
cZxid = 0x100000004
ctime = Sat Oct 28 02:00:19 EDT 2017
mZxid = 0x100000004
mtime = Sat Oct 28 02:00:19 EDT 2017
pZxid = 0x100000006
cversion = 2
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 2
删除指令只能删除没有子节点的节点
[zk: 10.250.109.123:2181(CONNECTED) 12]delete /node_1
Node not empty: /node_1
循环删除全部节点
[zk: 10.250.109.123:2181(CONNECTED) 13] rmr/node_1
上传解压zookeeper安装包。重命名为zookeeper。
[root@hadoop01 softwares]# mvzookeeper-3.4.10 zookeeper
进入conf文件夹。
[root@hadoop01 zookeeper]# cd conf/
[root@hadoop01 conf]# ls
configuration.xsl log4j.properties zoo_sample.cfg
拷贝zoo_sample.cfg命名为zoo.cfg。
[root@hadoop01 conf]# cp zoo_sample.cfgzoo.cfg
[root@hadoop01 conf]# vim zoo.cfg
修改dataDir地址,添加服务器地址与端口号
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/zookeeper
clientPort=2181
server.1=10.250.109.123:2888:3888
server.2=10.250.109.124:2888:3888
server.3=10.250.109.125:2888:3888
~
将zookeeper拷贝给其他两台主机。
[root@hadoop01 conf]# scp -r/usr/softwares/zookeeper hadoop02:/usr/softwares/
[root@hadoop01 conf]# scp -r /usr/softwares/zookeeperhadoop03:/usr/softwares/
进入var文件夹下创建刚才在配置文件配置的路径,创建zookeeper文件夹。
[root@hadoop01 conf]# cd /var
[root@hadoop01 var]# mkdir zookeeper
[root@hadoop01 bin]# cd /var/zookeeper/
在/var/zookeeper文件夹下创建一个myid文件。里面写本主机id。
[root@hadoop01 zookeeper]#vim myid
命名规则:
本主机为server.1 在myid文件内写入数字1即可。
[root@hadoop01 var]# ssh hadoop02
Last login: Fri Oct 20 13:16:50 2017 from10.250.95.162
[root@hadoop02 ~]# cd /var
[root@hadoop02 var]# mkdir zookeeper
[root@hadoop02 bin]# cd /var/zookeeper/
[root@hadoop02 zookeeper]# vim myid
本主机为server.2。在myid文件内写入2即可。
[root@hadoop02 var]# ssh hadoop03
Last login: Thu Oct 19 15:06:58 2017 from10.250.95.162
[root@hadoop03 ~]# cd /var/
[root@hadoop03 var]# mkdir zookeeper
[root@hadoop03 bin]# cd /var/zookeeper/
[root@hadoop03 zookeeper]# vim myid
同理,在hadoop03写入3。
进入zookeeper安装目录下bin文件夹,启动zookeeper。
查看进程。发现QuorumPeerMain启动成功。
同理。分别启动hadoop02,hadoop03主机的zookeeper进程。
查看3台主机的状态。命令为 sh zkServer.shstatus
Hadoop01是一个追随者。
Hadoop02是领导者。
使用nc(也可以使用telnet)发送rouk(are you ok?)到监听端口,检测是否运行。
[root@hadoop01 zookeeper]# echo ruok | nclocalhost 2181
imok[root@hadoop01 zookeeper]#
返回imok(I am ok)。
使用nc(也可以使用telnet)发送stat到监听端口,检测运行状态。
[root@hadoop01 zookeeper]# echo stat | nclocalhost 2181
Zookeeper version:3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
Clients:
/0:0:0:0:0:0:0:1:59969[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/0/0
Received: 4
Sent: 3
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: follower
Node count: 4
[root@hadoop01 zookeeper]#
Zookeeper四字命令
ZooKeeper 支持某些特定的四字命令(The Four LetterWords)与其进行交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令。 ZooKeeper 常用四字命令主要如下:
ZooKeeper四字命令 | 功能描述 |
conf | 3.3.0版本引入的。打印出服务相关配置的详细信息。 |
cons | 3.3.0版本引入的。列出所有连接到这台服务器的客户端全部连接/会话详细信息。包括"接受/发送"的包数量、会话id、操作延迟、最后的操作执行等等信息。 |
crst | 3.3.0版本引入的。重置所有连接的连接和会话统计信息。 |
dump | 列出那些比较重要的会话和临时节点。这个命令只能在leader节点上有用。 |
envi | 打印出服务环境的详细信息。 |
reqs | 列出未经处理的请求 |
ruok | 测试服务是否处于正确状态。如果确实如此,那么服务返回"imok",否则不做任何相应。 |
stat | 输出关于性能和连接的客户端的列表。 |
srst | 重置服务器的统计。 |
srvr | 3.3.0版本引入的。列出连接服务器的详细信息 |
wchs | 3.3.0版本引入的。列出服务器watch的详细信息。 |
wchc | 3.3.0版本引入的。通过session列出服务器watch的详细信息,它的输出是一个与watch相关的会话的列表。 |
wchp | 3.3.0版本引入的。通过路径列出服务器watch的详细信息。它输出一个与session相关的路径。 |
mntr | 3.4.0版本引入的。输出可用于检测集群健康状态的变量列表 |
Zookeeper客户端
[root@hadoop01 bin]# sh zkcli.sh -timeout5000 -server 10.250.109.123:2181连接完成。
输入h查看所有指令。
使用ls / 查看所有节点
[zk: 10.250.109.123:2181(CONNECTED) 1] ls /
[zookeeper]
查看zookeeper的节点信息
[zk: 10.250.109.123:2181(CONNECTED) 2] stat/zookeeper
cZxid = 0x0
ctime = Wed Dec 31 19:00:00 EST 1969
mZxid = 0x0
mtime = Wed Dec 31 19:00:00 EST 1969
pZxid = 0x0
cversion = -1 /版本号
dataVersion = 0 /数据版本号
aclVersion = 0 /权限版本号
ephemeralOwner = 0x0 /是否临时节点
dataLength = 0 /数据长度
numChildren = 1 /子节点数
创建节点
[zk: 10.250.109.123:2181(CONNECTED) 4]create /node_1 111
Created /node_1
创建子节点
[zk: 10.250.109.123:2181(CONNECTED) 5]create /node_1/node_1_1 112
Created /node_1/node_1_1
创建临时节点
[zk: 10.250.109.123:2181(CONNECTED) 6]create -e /node_1/node_1_2 113
Created /node_1/node_1_2
当输入quit退出当前客户端。临时节点当消失。
创建顺序节点
[zk: 10.250.109.123:2181(CONNECTED) 8]create -s /node_1/node_1_3 113
Created /node_1/node_1_30000000002
[zk: 10.250.109.123:2181(CONNECTED) 9]create -s /node_1/node_1_3 113
Created /node_1/node_1_30000000003
创建的节点名将会自增。
修改节点数据
[zk: 10.250.109.123:2181(CONNECTED) 10] set/zookeeper 999
cZxid = 0x0
ctime = Wed Dec 31 19:00:00 EST 1969
mZxid = 0x100000009
mtime = Sat Oct 28 02:05:07 EDT 2017
pZxid = 0x0
cversion = -1
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 1
[zk: 10.250.109.123:2181(CONNECTED) 11] get/zookeeper
999 //数据被修改
cZxid = 0x0
ctime = Wed Dec 31 19:00:00 EST 1969
mZxid = 0x100000009
mtime = Sat Oct 28 02:05:07 EDT 2017
pZxid = 0x0
cversion = -1
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 1
使用get获取节点数据信息。
[zk: 10.250.109.123:2181(CONNECTED) 7] get/node_1
111
cZxid = 0x100000004
ctime = Sat Oct 28 02:00:19 EDT 2017
mZxid = 0x100000004
mtime = Sat Oct 28 02:00:19 EDT 2017
pZxid = 0x100000006
cversion = 2
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 2
删除指令只能删除没有子节点的节点
[zk: 10.250.109.123:2181(CONNECTED) 12]delete /node_1
Node not empty: /node_1
循环删除全部节点
[zk: 10.250.109.123:2181(CONNECTED) 13] rmr/node_1
相关文章推荐
- 2、Zookeeper集群搭建、命令行Client操作
- 2、Zookeeper集群搭建、命令行Client操作
- Zookeeper服务器集群的搭建与操作
- 基本Docker zookeeper 3.4.9 集群搭建
- 阿里云搭建基于MatlabMPI的集群(一):阿里云连接基本操作
- Zookeeper(一)CentOS7.5搭建Zookeeper3.4.12集群与命令行操作
- Linux的一些基本操作以及搭建Redis集群时的一些配置和踩过的坑
- ZooKeeper基本讲解 & 集群构建 & 常用操作指令
- 2、Zookeeper集群搭建、命令行Client操作
- Zookeeper集群搭建
- Hadoop集群之 ZooKeeper和Hbase环境搭建
- Zookeeper与Kafka集群搭建
- CentOS6.5以上搭建zookeeper集群
- Zookeeper+kafka集群环境搭建
- sentos7 zookeeper 单机,集群搭建
- zookeeper集群搭建
- mongodb-搭建服务器和基本操作
- 超详细zookeeper集群搭建及解析说明
- zookeeper安装和集群搭建