linux安装zookeeper及使用
一、安装条件
想要安装zookeeper,必须先在linux中安装好jdk。安装步骤见:
https://www.cnblogs.com/expiator/p/9987351.html
二、下载并解压zookeeper压缩包
1. 先进入/usr/local/目录,也可以是其他的目录:
- [root@localhost /]# cd /usr/local
2. zookeeper安装包可以在官网下载。
也可以在后面这个地址下载 http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
如果链接打不开,就先打开 http://mirror.bit.edu.cn/apache/zookeeper, 再选择版本。
在此目录下载zookeeper安装包:
- [root@localhost local]# wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
3. 解压:
- [root@localhost local]# tar -zxvf zookeeper-3.4.13.tar.gz
三、编辑配置文件
1.进入conf目录:
- [root@localhost local]# cd zookeeper-3.4.13/conf
2. 将zoo_sample.cfg这个文件复制为zoo.cfg (必须是这个文件名)
- [root@localhost conf]# cp zoo_sample.cfg zoo.cfg
3. 进入zoo.cfg文件进行编辑
- [root@localhost conf]# vim zoo.cfg
4. 按 i 进入编辑模式,修改以下内容:
- dataDir=/tmp/zookeeper/data
- dataLogDir=/tmp/zookeeper/log
注意:如果想配置集群的话,请在clientPort下面添加服务器的ip。如
server.1=192.168.180.132:2888:3888
server.2=192.168.180.133:2888:3888
server.3=192.168.180.134:2888:3888
如果电脑内存比较小,zookeeper还可以设置成伪集群。也就是全部服务器采用同一个ip,但是使用不同的端口。
5. 在tmp目录创建目录。
- [root@localhost conf]# mkdir /tmp/zookeeper
- [root@localhost conf]# mkdir /tmp/zookeeper/data
- [root@localhost conf]# mkdir /tmp/zookeeper/log
6.如果是配置集群,还需要在前面配置过的dataDir路径下新增myid文件
- [root@localhost conf]# cd /tmp/zookeeper/data
- [root@localhost data]# touch myid
- [root@localhost data]# vim myid
在data目录下创建文件,文件名为“myid”, 编辑该“myid”文件,并在对应的IP的机器上输入对应的编号。
如在192.168.180.132上,“myid”文件内容就是1。在192.168.180.133上,内容就是2。
四、配置环境变量
1.上面的操作都完事之后,我们需要配置一下环境变量,配置环境变量的命令如下:
- [root@localhost zookeeper-3.4.13]# export ZOOKEEPER_INSTALL=/usr/local/zookeeper-3.4.13/
- [root@localhost zookeeper-3.4.13]# export PATH=$PATH:$ZOOKEEPER_INSTALL/bin
五、启动zookeeper
1.进入bin目录,并启动zookeep。如果不是在bin目录下执行,启动zookeeper时会报错: bash: ./zkServer.sh: No such file or directory
注意: ./zkServer.sh start前面的 . 不可忽略。
- [root@localhost local]# cd /usr/local/zookeeper-3.4.13/bin
- [root@localhost bin]# ./zkServer.sh start
2.启动成功效果如下:
- ZooKeeper JMX enabled by default
- Using config: /usr/local/zookeeper-3.4.13/bin/../conf/zoo.cfg
- Starting zookeeper ... STARTED
3.zookeeper的服务端启动后,还需要启动zookeeper的客户端:
- [root@localhost bin]# ./zkCli.sh
如果是连接多个不同的主机节点,可以使用如下命令:
- ./zkCli.sh -server 192.168.180.132:2888
启动成功效果如下:
- Connecting to localhost:2181
..........
..........
..........
Welcome to ZooKeeper!- 2018-10-25 21:04:54,407 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1029] - Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)
- JLine support is enabled
- 2018-10-25 21:04:54,471 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@879] - Socket connection established to localhost/0:0:0:0:0:0:0:1:2181, initiating session
- [zk: localhost:2181(CONNECTING) 0] 2018-10-25 21:04:54,501 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@1303] - Session establishment complete on server localhost/0:0:0:0:0:0:0:1:2181, sessionid = 0x10000712e6f0000, negotiated timeout = 30000
- WATCHER::
- WatchedEvent state:SyncConnected type:None path:null
4.查看状态:
- [root@localhost bin]# ./zkServer.sh status
- ZooKeeper JMX enabled by default
- Using config: /usr/local/zookeeper-3.4.13/bin/../conf/zoo.cfg
- Mode: standalone
遇到问题怎么解决?
zookeeper的出错日志会记录在 zookeeper.out。
当前处于哪个目录,执行完zkServer.sh start命令, zookeeper.out就会写在哪个目录。
vim zookeeper.out 可以查看报错信息。然后再搜索解决。
六、zookeeper使用
通过 ./zkCli.sh 进入客户端后,就可以使用命令来操作zookeeper了。
1.创建节点
使用create命令,可以创建一个zookeeper节点。
create [-s] [-e] path data acl
其中-s表示顺序节点,-e表示临时节点。默认情况下,创建的是持久节点。
path是节点路径,data是节点数据,acl是用来进行权限控制的。
如下:
创建一个叫做/zk-test的节点,内容是"123"
- [zk: localhost:2181(CONNECTED) 0] create /zk-test 123
- Created /zk-test
创建/zk-test的子节点book,内容是"233"
- [zk: localhost:2181(CONNECTED) 7] create /zk-test/book 233
- Created /zk-test/book
2.查看节点内容
使用get命令,可以获取zookeeper指定节点的内容和属性信息。
如下:
- [zk: localhost:2181(CONNECTED) 1] get /zk-test
- 123
- cZxid = 0x3a
- ctime = Sun Nov 11 21:50:44 CST 2018
- mZxid = 0x3a
- mtime = Sun Nov 11 21:50:44 CST 2018
- pZxid = 0x3a
- cversion = 0
- dataVersion = 0
- aclVersion = 0
- ephemeralOwner = 0x0
- dataLength = 3
- numChildren = 0
3.查看子节点
使用ls命令可以查看指定节点下的所有子节点
以下查看根目录下的所有子节点:
- [zk: localhost:2181(CONNECTED) 2] ls /
- [zk-test, zookeeper]
查看zk-test节点的子节点:
- [zk: localhost:2181(CONNECTED) 3] ls /zk-test
- [book]
4.更新节点内容
使用set命令,更新节点内容。格式为:
set path data
其中的data就是要更新的新内容。
- [zk: localhost:2181(CONNECTED) 4] set /zk-test 456
- cZxid = 0x3a
- ctime = Sun Nov 11 21:50:44 CST 2018
- mZxid = 0x3b
- mtime = Sun Nov 11 22:05:20 CST 2018
- pZxid = 0x3a
- cversion = 0
- dataVersion = 1
- aclVersion = 0
- ephemeralOwner = 0x0
- dataLength = 3
- numChildren = 0
在输出的信息中,可以发现,dataVersion的值由原来的0 变成了 1,这是因为刚才的更新操作导致该节点的数据版本也发生变更。
6.删除节点
使用delete命令来删除节点,如下:
- [zk: localhost:2181(CONNECTED) 11] delete /zk-test
- Node not empty: /zk-test
可以发现,一个节点存在子节点时,无法删除该节点。
删除子节点/zk-test/book,如下:
- [zk: localhost:2181(CONNECTED) 12] delete /zk-test/book
- WATCHER::
- WatchedEvent state:SyncConnected type:NodeDeleted path:/zk-test/book
zookeeper中的watcher会监控节点,当子节点发生变化时会发出通知。此时提示子节点 /zk-test/book删除成功。
继续尝试删除节点 /zk-test,
- [zk: localhost:2181(CONNECTED) 13] ls /zk-test
- []
- [zk: localhost:2181(CONNECTED) 14] delete /zk-test
- [zk: localhost:2181(CONNECTED) 15] ls /
- []
删除成功。
参考资料 :
《从Paxos到zookeeper分布式一致性原理与实践》
https://blog.csdn.net/zknxx/article/details/52601554
https://blog.csdn.net/21aspnet/article/details/18990891
linux安装zookeeper及使用的更多相关文章
- Linux 安装Zookeeper<准备>(使用Mac远程访问)
阅读本文需要安装JDK 一 Zookeeper简介 zookeeper是用java语言编写的一款为分布式应用所设计的协调服务 zookeeper是apacahe hadoop的子项目 使用zookee ...
- linux安装Zookeeper及redis集群
亲测有效: 1.linux下安装zookeeper:https://www.cnblogs.com/zuolun2017/p/8186254.html 2.linux下安装redis集群:https: ...
- Linux 安装Zookeeper<集群版>(使用Mac远程访问)
阅读本文需要先阅读安装Zookeeper<准备> 一 架构细节 zookeeper集群根据投票选举的机制 选出leader和follower zookeeper集群节点建议是奇数 这里我准 ...
- Linux 安装Zookeeper<单机版>(使用Mac远程访问)
阅读本文需要先阅读安装Zookeeper<准备> 新建目录 mkdir /usr/local/zookeeper 解压 cd zookeeper压缩包所在目录 tar -xvf zooke ...
- linux安装zookeeper
安装环境:Linux:centos6.4Jdk:1.7以上版本 Zookeeper是java开发的可以运行在windows.linux环境.需要先安装jdk.安装步骤:第一步:安装jdk第二步:把zo ...
- linux安装zookeeper,安装zkui,zookeeper可视化
系统要求 支持的平台 ZooKeeper由多个组件组成.某些组件得到广泛支持,其他组件仅在较小的平台上受支持. 客户端是Java客户端库,应用程序使用它连接到ZooKeeper集合. Server是在 ...
- linux 安装 zookeeper 集群
关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.servicesystemctl status firewalld ...
- Linux安装zookeeper集群
一.单机部署: ①下载.解压 http://archive.apache.org/dist/zookeeper/ tar -zxf zookeeper-3.4.10.tar.gz -C /usr/lo ...
- Linux 安装zookeeper
分享到: 1.下载zokeeper 1.1 官网下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 1.2 链接:https:/ ...
随机推荐
- dbcp 连接池参数说明
参考: http://commons.apache.org/proper/commons-dbcp/configuration.html https://www.cnblogs.com/happySm ...
- 编写优秀Bug报告的艺术及案例分析
编写优秀Bug报告的艺术及案例分析 ---Rex Black原著<Fine art of writing a good bug report > ---Kiki翻译于2005/5/28 前 ...
- asp.net在配置文件里设置多种编码方式的研究
我们在做asp.net的程序时,在根目录下肯定会有一个web.config的文件, 有点开发经验的可能都知道,它是配置程序的全局信息的地方, 当然了,也可以在这里做更多的事情,下面我们来研究一下 ,如 ...
- android stuido的代码排版的快捷建CTRL+ALT+L
CTRL+ALT+L 需要主要留意的地方是QQ的与其冲突的 我将qq的中快捷方式给去除
- JEECG前后端分离UI框架实战抢先体验(ng2-admin+Angular4+AdminLTE+WebStorm)
JEECG前后端分离UI框架 (ng2-admin+Angular4+AdminLTE) 关键词: ng2-admin.Angular4.AdminLTE.Nodejs.Jeecg JEECG紧跟技术 ...
- 【JEECG技术文档】Online唯一校验使用说明
1.功能介绍 配置了唯一校验的字段,在录入和编辑页面中,动态查询用户输入值是否存在校验. 要使用online唯一校验功能必须先在online表单开发中配置唯一字段的校验方式为唯一校验. 2.配置唯一校 ...
- putty登录显示IP
登陆服务器 cd vi .bashrc 在尾部加入如下代码 if [ "$SSH_CONNECTION" != '' -a "$TERM" != 'linux' ...
- struts2默认临时文件更改
struts的文件上传mutifile会有一个临时文件地址,如果需要使用自己指定临时文件地址需要在struts.xml中设置以下内容. <constant name="struts.m ...
- class 方法
实例对象调用class方法时返回这个实例对象的isa指针,也就是对应的类对象: 类对象调用class方法时返回这个类对象本身. (注:如果想一直获得一个类的类对象,也就是isa指针,可以调用runti ...
- P12, cer, provisioning profile
p12,本地私钥(实际上证书和私钥可以一起导出成p12,这里我们仅指私钥) cer,证书,即苹果签名后的公钥 provisioning profile描述文件 一个证书对应一个私钥,也就是本地的p12 ...