linux上搭建zookeeper

1.zookeeper介绍 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 ZooKeeper包含一个简单的原语集,[1] 提供Java和C的接口。 ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3src ecipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

2.安装环境 系统: CentOS6.8 zookeeper版本:3.4.9 服务(3台): 192.168.1.11  , 192.168.1.12   ,192.168.1.13  

(集群搭建要2n+1台服务) 需安装Java环境(JDK) 参考: http://blog.csdn.net/lkl_csdn/article/details/73160530

3.zookeeper集群搭建 在 root目录下 执行命令  mdkir software software/zookeeper 

执行命令 cd software/zookeeper

1.下载zookeeper 3.1.1

执行命令  wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz 

在线下载(有网络) [plain] view plain copy wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz  

3.1.2 然后解压  tar -zxvf zookeeper-3.4.9.tar.gz [plain] view plain copy tar -zxvf zookeeper-3.4.9.tar.gz  

4.安装zookeeper 4.1 进入解压后目录的conf目录下 执行命令 cd zookeeper-3.4.9/conf/  

执行命令 ls 如图: 执行命令 cp zoo_sample.cfg zoo.cfg 如图:

4.2 编辑 zoo.cfg 文件 执行命令  vim zoo.cfg  文件内容如下:

[plain] view plain copy tickTime=2000  

initLimit=10  

syncLimit=5  

dataDir=/root/software/zookeeper/zkdata (此路径指向myid位置) 

  dataLogDir=/root/software/zookeeper/logs(此路径指向日志位置)

   clientPort=2181 

  server.1=192.168.1.11:2888:3888  

server.2=192.168.1.12:2888:3888 

  server.3=192.168.1.13:2888:3888  

保存并退出

4.3 在 zookeeper目录下执行命令 mkdir zkdata logs

4.4 最后把zookeeper文件复制到其他服务上去

执行命令: scp -r /root/software/zookeeper/ 192.168.1.12:/root/software/zookeeper  scp -r /root/software/zookeeper/ 192.168.1.13:/root/software/zookeeper [plain] view plain copy scp -r /root/software/zookeeper/ 192.168.1.12:/root/software/zookeeper      

scp -r /root/software/zookeeper/ 192.168.1.13:/root/software/zookeeper 

  4.5 在创建zookeeper节点表示文件是myid(在zookeeper目录下) 创建myid编号,一次在每台server上执行,

注意每台server的myid要对应正确的编号: 在 192.168.1.11这台server上

执行命令:echo "1">zkdata/myid 在 192.168.1.12这台server上

执行命令:echo "2">zkdata/myid 在 192.168.1.13这台server上

执行命令: echo "3">zkdata/myid

4.6 配置环境变量并使环境变量立即生效(环境变量也可不配) vim /etc/profile 添加

内容如下: export ZOOKEEPER_HOME=/root/software/zookeeper/zookeeper-3.4.9 export PATH=$ZOOKEEPER_HOME/bin:$PATH [plain] view plain copy

export ZOOKEEPER_HOME=/root/software/zookeeper/zookeeper-3.4.9  

export PATH=$ZOOKEEPER_HOME/bin:$PATH  

保存生效:source /etc/profile 在另外两台server上执行同样的操作。

5 启动zookeeper

5.1启动服务

进入解压文件的bin目录下: 执行命令:zkServer.sh start (启动)

执行命令:zkServer.sh statut (查看状态) 查看是否启动成功 启动成功:

启动失败: 如果启动失败可以去bin目录下查看日志文件 cat zookeeper.out 也可以去自己创建的logs目录下查看日志文件,

注意:要每天server的防火墙都要关闭,并且要都启动才有可能启动成功  之启动一台是无法启动成功的 

关闭CentOS的防火墙命令是:service iptables stop 5.1 连接zookeeper服务 

在bin目录在执行 : ./zkServer.sh -server 192.168.1.11:2181启动服务

6.zk客户端命令 1. 显示根目录下、

文件: ls / 使用 ls 命令来查看当前 ZooKeeper 中所包含的内容 2. 显示根目录下、

文件: ls2 / 查看当前节点数据并能看到更新次数等数据

3. 创建文件,并设置初始内容: create /zk “test” 创建一个新的 znode节点“ zk ”以及与它关联的字符串

4. 获取文件内容: get /zk 确认 znode 是否包含我们所创建的字符串

5. 修改文件内容: set /zk “zkbak” 对 zk 所关联的字符串进行设置

6. 删除文件: delete /zk 将刚才创建的 znode 删除

7. 退出客户端: quit

8. 帮助命令: help

原文地址:https://www.cnblogs.com/xiaofei1208/p/7066249.html