淘先锋技术网

首页 1 2 3 4 5 6 7

建议在奇数台服务器中搭建Zk环境,只要宕机数小于1/2,ZK就能继续使用。

  1. 下载并解压,自己下载的是3.4.12

wget  https://archive.apache.org/dist/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz
解压:tar -xzvf zookeeper-3.4.12.tar.gz

  1. 修改环境配置,添加jdk和zookeeper配置

vim /etc/profile   添加如下内容:
export JAVA_HOME=/home/software/jdk1.8.0_91
export ZOOKEEPER_HOME=/home/software/zookeeper/zookeeper-3.4.12
export CLASSPATH=.:%JAVA_HOME%/jre/lib/dt.jar.%JAVA_HOME%/lib/tools.jar
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin
  1. 使配置文件生效

source /etc/profile

  1. 修改zookeeper配置文件

原配置文件为:zookeeper-3.4.12/conf/zoo_sample.cfg
ZK默认的启动配置文件的名称为zoo.cfg,因此修改配置文件名称 :mv zoo_sample.cfg zoo.cfg
#####################以下为修改zoo.cfg文件内容
##修改dataDir(保存数据的地方)
dataDir=/home/software/zookeeper/zookeeper-3.4.12/data
##添加 ,2888代表各个服务器之间连接的端口
###3888表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader
server.0=192.168.145.134:2888:3888
server.1=192.168.145.135:2888:3888
server.2=192.168.145.136:2888:3888

创建文件夹data(配置文件中dataDir的路径),并在data文件夹中创建文件myid,在文件中输入服务器标识码,也就是上面配置文件中server后面的数据,这个在配置文件中是可以随便定义的,只要在每个服务器中的每个myid文件值一一对应就好。
###创建data   mkdir data
#####每个服务器创建myid文件,并输入服务器标识码。比如在134服务器上:vim  myid
然后写入0,保存退出。

  1. 启动

启动文件的路径为:zookeeper-3.4.12/bin
启动文件:zkServer.sh  start
启动后查看启动的状态:zkServer.sh status

启动成功后,可以看到那个服务器为主,哪个服务器为备

ZooKeeper JMX enabled by default
Using config: /home/software/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: follower
该服务器为备。

以上操作是每个服务器都要操作的。
-------------------------下面介绍ZK数据的简单操作-------------------------------

ZK对数据的简单操作:
ZK的数据结构是树形结构。根节点为/
在任何一台服务器输入命令:zkCli.sh

创建节点并赋值: create  /hbz  zhongguo   (是以键值对的形式存在,键为节点路径,值为该路径的值)
查询某节点的值  :get  /hbz
设置某节点的值: set  /hbz   zhongguo11111
删除某节点  :delete /hbz(hbz下面没有其他的节点)
            rmr   /hbz(删除hbz节点以及该节点下所有的节点)