简介
Zookeeper是一款分布式的集群化软件,可以在多台服务器上部署,并协同组成分布式集群一起工作。
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
除了为Hadoop和HBase提供协调服务外,Zookeeper也被其它许多软件采用作为其分布式状态一致性的依赖,比如Kafka,又或者一些软件项目中,也经常能见到Zookeeper作为一致性协调服务存在。
Zookeeper不论是大数据领域亦或是其它服务器开发领域,涉及到分布式状态一致性的场景,总有它的身影存在。
注意
1.需要JDK7以上的运行环境,安装方法可以参考 http://t.csdnimg.cn/WZFHThttp://t.csdnimg.cn/WZFHThttp://t.csdnimg.cn/WZFHT
2.使用root权限
su - root
前置工作
首先,要确保集群化环境前置准备工作完成
配置多台虚拟机:http://t.csdnimg.cn/NfyAS
ip固定http://t.csdnimg.cn/Ygmfl
主机映射:http://t.csdnimg.cn/wOZaF
ssh免密登录:http://t.csdnimg.cn/YBpjy
CentOS上jdk安装:http://t.csdnimg.cn/RngFu关闭防火墙以及SELinux关闭:http://t.csdnimg.cn/mSFP1
安装
(必须完成前置准备工作的所有,在准备中如有与我不同的地方,后续注意修改,比如这里的节点名字我为node1,你的看你自己命名)
【node1上操作】下载Zookeeper安装包,并解压
下载
wget http://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz
创建一个用于存放集群相关软件的文件夹 (你可以自己选择地方,只是后面配置文件的时候需要注意用你自己的存放路径,我会标红)
mkdir -p /export/server
解压到/export/server目录下
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /export/server
配置
修改配置文件
vim /export/server/zookeeper/conf/zoo.cfg
tickTime=2000
# zookeeper数据存储目录
dataDir=/export/server/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
配置myid
# 1. 创建Zookeeper的数据目录
mkdir /export/server/zookeeper/data
# 2. 创建文件
vim /export/server/zookeeper/data/myid
文件中输入
1
Esc
:wq #退出
在其他节点操作(我这是node2和node3)
【在node2和node3上操作】,创建文件夹
mkdir -p /export/server
【node1上操作】将Zookeeper 复制到node2和node3
cd /export/server
scp -r apache-zookeeper-3.5.9 node2:`pwd`/
scp -r apache-zookeeper-3.5.9 node3:`pwd`/
【在node2上操作】
# 1. 创建软链接
ln -s /export/server/apache-zookeeper-3.5.9 /export/server/zookeeper# 2. 修改myid文件
vim /export/server/zookeeper/data/myid
# 修改内容为2
【在node3上操作】
# 1. 创建软链接
ln -s /export/server/apache-zookeeper-3.5.9 /export/server/zookeeper# 2. 修改myid文件
vim /export/server/zookeeper/data/myid
# 修改内容为3
启动Zookeeper
【在node1、node2、node3上分别执行】
# 启动命令
/export/server/zookeeper/bin/zkServer.sh start # 启动Zookeeper#关闭命令
/export/server/zookeeper/bin/zkServer.sh stop
【在node1、node2、node3上分别执行】检查Zookeeper进程是否启动
jps
结果中找到有:QuorumPeerMain 进程即可
【node1上操作】验证Zookeeper
/export/server/zookeeper/bin/zkCli.sh
# 进入到Zookeeper控制台中后,执行
ls /# 如无报错即配置成功
有zookeeper就可以了,其他的不用管。