安装zookeeper软件
1.上传软件
使用CRT等客户端远程上传 zookeeper-3.4.6.tar.gz 文件到/export/software目录下
2.解压软件
[root@node1 ~]# cd /export/software/ [root@node1 software]# tar -xzvf zookeeper-3.4.6.tar.gz -C /export/server/ [root@node1 software]# cd /export/server/ [root@node1 server]# ln -s zookeeper-3.4.6/ zookeeper
3.添加环境变量
[root@node1 server]# vim /etc/profile
# 把如下内容复制到profile文件的最后,注意:记得保存并退出wq # 小技巧 : 按G + o快速到文件末尾 export ZOOKEEPER_HOME=/export/server/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin
-
修改完后重启生效
[root@node1 server]# source /etc/profile
4.创建数据目录添加myid值为1
[root@node1 server]# mkdir -p /export/server/zookeeper/zkdatas/ [root@node1 server]# echo 1 > /export/server/zookeeper/zkdatas/myid
5.修改配置文件
[root@node1 server]# cd /export/server/zookeeper/conf/ [root@node1 conf]# cp zoo_sample.cfg zoo.cfg [root@node1 conf]# vim zoo.cfg
# 修改数据存放目录 dataDir=/export/server/zookeeper/zkdatas # 添加集群中服务地址 server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888
6.拷贝到软件到其他机器
-
nod1主机上拷贝到node2和node3中各一份
scp远程服务器拷贝文件。server cp
语法:
scp -r 本地服务器的文件/文件夹路径 远程服务的ip地址/主机名:远程服务器的存放绝对路径
[root@node1 conf]# cd /export/server/ [root@node1 server]# scp -r /export/server/zookeeper/ node2:/export/server/ [root@node1 server]# scp -r /export/server/zookeeper/ node3:/export/server/
-
node2上修改myid值并且添加环境变量
[root@node2 server]# ln -s zookeeper-3.4.6/ zookeeper [root@node2 ~]# echo 2 > /export/server/zookeeper/zkdatas/myid # 配置环境变量 [root@node2 ~]# echo 'export ZOOKEEPER_HOME=/export/server/zookeeper' >> /etc/profile [root@node2 ~]# echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> /etc/profile [root@node2 ~]# source /etc/profile
-
node3上修改myid值并且添加环境变量
[root@node3 server]# ln -s zookeeper-3.4.6/ zookeeper [root@node3 ~]# echo 3 > /export/server/zookeeper/zkdatas/myid # 配置环境变量 [root@node3 ~]# echo 'export ZOOKEEPER_HOME=/export/server/zookeeper' >> /etc/profile [root@node3 ~]# echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> /etc/profile [root@node3 ~]# source /etc/profile
7.zookeeper服务启动[重点]
如下命令三台服务器均可操作: stop:停止 start:开启 status:状态
可以使用crt发送交互到所有会话
# 启动服务 [root@node123 bin]# zkServer.sh start # 查看状态(leader或者follower或者observer) [root@node123 bin]# zkServer.sh status # 如果想关闭可以使用stop [root@node123 bin]# zkServer.sh stop
8.命令jps查看进程
jps是jdk提供的一个查看当前java进程的小工具, 全称是JavaVirtual Machine Process Status Tool
[root@node1 ~]# jps [root@node2 ~]# jps [root@node3 ~]# jps
zookeeper shell基础命令
-
进入命令行工具: zkCli.sh -server 主机地址
# 方式1:直接连接本地 [root@node1 ~]# zkCli.sh # 方式2:连接其他节点 [root@node1 ~]# zkCli.sh -server node2
-
查看zk shell命令: help
[zk: node1(CONNECTED) 0] help
-
创建节点: create [-e] [-s] path data acl 解释:默认持久节点,-e表示临时节点,-s表示序列化节点, acl用来进行权限控制
# 创建节点 [zk: node1(CONNECTED) 1] create /a 111111 [zk: node1(CONNECTED) 2] create -e /b 222222 [zk: node1(CONNECTED) 3] create -s /aa 333333 [zk: node1(CONNECTED) 4] create -e -s /bb 444444 # 查看节点 [zk: node1(CONNECTED) 5] ls / [a, b, bb0000000004, aa0000000003, zookeeper] [zk: node1(CONNECTED) 6] quit # 再次登录后查看节点 [zk: node1(CONNECTED) 0] ls / [a, aa0000000003, zookeeper] # 删除节点 [zk: node1(CONNECTED) 1] rmr /a [zk: node1(CONNECTED) 2] rmr /aa0000000003 # 历史命令 [zk: node1(CONNECTED) 3] history