最近在学习zookeeper的使用,所以自己在电脑上安装了个简单版的zookeeper集群,在这里将整个安装过程和一些简单的zookeeper命令写下来,后续再随着自己的不断学习中会抽空完善
首先你需要准备三台虚拟机,我这边创建了三台虚拟机,ip分别为192.118.112.129,192.168.112.131,192.168.112.133
安装zookeeper之前需要安装jdk,jdk安装步骤参考我之前的博文
首先,在三台虚拟机上下载zookeeper的安装包,我这里下载的是3.4.9的版本
这里使用的是wget http://apache.osuosl.org/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
下载完后
依次在三台虚拟机上解压tar包
tar -xvf zookeeper-3.4.9.tar.gz
解压完成后下一步修改配置文件
进入conf目录
cd zookeeper-3.4.9/conf
将zoo_sample.conf 拷贝成zoo.conf
cp zoo_sample.conf zoo.conf
修改zoo.conf文件
zoo.conf文件配置的各个属性的解释如下
1.tickTime:CS通信心跳数 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位 2.initLimit:LF初始通信时限 3.syncLimit:LF同步通信时限 4.dataDir:数据文件目录 5.dataLogDir:日志文件目录 6.clientPort:客户端连接端口 7.服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口) 其中N表示服务器编号,YYY表示服务器的IP地址,A为LF通信端口,表示该服务器与集群中的leader交换的信息的端口。B为选举端口,表示选举新leader时服务器间相互通信的端口(当leader挂掉时,其余服务器会相互通信,选择出新的leader)。一般来说,集群中每个服务器的A端口都是一样,每个服务器的B端口也是一样。但是当所采用的为伪集群时,IP地址都一样,只能时A端口和B端口不一样。
|
修改dataDir
载文件末尾加上
server.0=192.168.112.129:2888:3888
server.1=192.168.112.131:2888:3888
server.2=192.168.112.133:2888:3888
进入zoo.conf文件配置的dataDir属性对应的目录
在目录下创建myid文件
vi myid
myid中的内容对应server.0中的"0",找准自己ip对应的编号
保存myid文件
进入zookeeper-3.4.9目录
启动zookeeper
bin/zkServer start
启动完成后,会在zookeeper-3.4.9目录生成zookeeoer.out文件,文件内容为启动日志
查看启动日志会出现
可能会出现连接不上另外两台服务的日志
忽略它,打开此日志,当另外两台服务启动后,会更新连接日志
当三台都安装并启动完成后
使用bin/zkCli.sh -server 192.168.112.131:2181命令连接其中一台zookeeper
创建znode节点
create /zk1 test1
会出现
创建节点成功
执行get zk1
会出现
在另外一台虚拟机中连接129的zookeeper服务
get /zk1
同样得到
结果
到这里,zookeeper集群安装和启动已经完成
这里介绍几个常见的zookeeper命令
ls(查看当前节点数据),
ls2(查看当前节点数据并能看到更新次数等数据) ,
create(创建一个节点) ,
get(得到一个节点,包含数据和更新次数等数据),
set(修改节点)
delete(删除一个节点)