Zookeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以单机模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。
一、准备工作
1、永久关闭防火墙
1
| sudo chkconfig --level 35 iptables off
|
2、修改主机名(需要重启)
1 2 3 4 5 6 7 8 9 10 11 12
| sudo vim /etc/sysconfig/network
HOSTNAME=localhost.localdomain 修改 localhost 为 maste
修改 host :sudo vim /etc/hosts
127.0.0.1 localhost slave1.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.246.131 master 192.168.246.132 slave1 192.168.246.133 slave2
|
二、下载安装 zookeeper
1、下载 stable 版本
1
| wget http://apache.dataguru.cn/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
|
如果没速度可以从此处选择合适的镜像站进行下载 :http://www.apache.org/dyn/closer.cgi/zookeeper/
2、解压
1
| tar -zxvf zookeeper-3.4.6.tar.gz
|
3、设置环境变量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| sudo vim /etc/profile 在末尾添加
export ZOOKEEPER_HOME=/home/hadoop/zookeeper-3.4.6 export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf
JAVA_HOME=/home/hadoop/jdk1.8.0_20 CLASSPATH=.:$JAVA_HOME/lib.tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH
同步到其他服务器 sudo scp /etc/profile slave1:/etc/profile sudo scp /etc/profile slave2:/etc/profil
|
4.、修改配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| cd zookeeper-3.4.6/conf/ cp zoo_sample.cfg zoo.cfg vim zoo.cfg 修改为
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/hadoop/zookeeper-3.4.6/data clientPort=2181 server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888
同步到其他服务器 sudo scp -r /home/hadoop/zookeeper-3.4.6/ slave1:/home/hadoop/zookeeper-3.4.6/ sudo scp -r /home/hadoop/zookeeper-3.4.6/ slave2:/home/hadoop/zookeeper-3.4.6/
|
5、创建 myid
在dataDir指定目录下操作,本文是 /home/hadoop/zookeeper-3.4.6/data
vim myid 三台服务器分别填写 1,2,3 即可,对应主机名称,即 server.1=master:2888:3888
三、启动 zookeeper 集群
1、启动
三台服务器分别执行 zookeeper-3.4.6/bin/zkServer.sh start
2、检查状态
1
| zookeeper-3.4.6/bin/zkServer.sh status
|
其中QuorumPeerMain是zookeeper进程,启动正常
3、关闭 zookeeper
1
| zookeeper-3.4.6/bin/zkServer.sh stop
|