共计 3944 个字符,预计需要花费 10 分钟才能阅读完成。
一、准备服务器环境
ZooKeeper Cluster
Host | IP |
zookeeper1 | 192.168.50.228 |
zookeeper2 | 192.168.50.229 |
zookeeper3 | 192.168.50.230 |
注:为了测试方便,把所有服务器的防火墙都关闭了
#chkconfig iptables off #永久关闭防火墙
#chkconfig iptables on #永久开启防火墙
使用主机名代替 IP 更加易读,修改方法如下:
1、修改主机名
#vim /etc/sysconfig/network
HOSTNAME=zookeeper1 #主机名称
2、配置 hosts 文件(相当于么有 DNS 服务器)
192.168.50.228 zookeeper1
192.168.50.229 zookeeper2
192.168.50.230 zookeeper3
二、安装 SunJRE
2.1、JRE7 下载
下载地址:
http://download.Oracle.com/otn-pub/java/jdk/7u75-b13/jre-7u75-linux-x64.tar.gz?AuthParam=1426833144_785a1e689cccd502d1def7b4a777c646
2.2、安装
把 jre7.tar.gz 拷贝到安装目录,然后解压
#tar -zxvf jre7.tar.gz
2.3、配置环境变更
#vim /etc/profile
export JAVA_HOME=/home/bdata/software/jre1.7.0_75
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export ZOOKEEPER_HOME=/home/bdata/software/zookeeper-3.4.6
export PATH=$PATH: $JAVA_HOME/bin :$ZOOKEEPER_HOME/bin
2.4、设置默认 JRE
sudo update-alternatives
–install /usr/bin/java java /home/bdata/software/jre1.7.0_75/bin/java 300
三、安装 zookeeper 集群
•1、下载 zookeeper
下载地址:
http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
2、安装 & 配置 zookeeper
把 tar 文件解压到安装目录
#tar -zxvf zookeeper-3.4.6.tar.gz
在 conf 文件夹下创建 zoo.cfg
#cd ${zookeeper_home}/conf
#cp zoo_sample.cfg zoo.cfg
#vim zoo.cfg
# 配置如下
#Zookeeper 服务器心跳时间,单位毫秒
tickTime=2000
# 投票选举新 leader 的初始化时间
initLimit=10
#Leader 与 Follower 之间的最大响应时间单位,响应超过 syncLimit*tickTime,Leader 认为 Follwer 死掉,从服务器列表中删除 Follwer
syncLimit=5
# 数据存放目录(持久化路径)
dataDir=/home/bdata/datadir/zk/data
# 日志保存路径 这个要自己新建
dataLogDir=/home/bdata/datadir/zk/logs
clientPort=2181
# 最大的客户端连接数,这里我们设置 10000
maxClientCnxns=10000
# 集群配置,zookeeper1 表示服务机器名可以使用 IP 或机器名,使用机器名需要设置 hosts 文件,集群部署需要在 dataDir 指定的目录下创建一个 myid 文件,里面设置 1 -255 之间的整数用作 zookeeper 唯一标识名称,集群必须设置该值
如 /home/bdata/datadir/zk/data/myid
echo “1” > myid
#server. 服务器标识 =IP 或机器名: 选举 leader 端口(zk 之间的通讯): 接收选举数据通信端口,还有一个客户端的端口 2181,这三个端口不要混淆
server.1=zookeeper1:2887:3887
server.2=zookeeper2:2887:3887
server.3=zookeeper3:2887:3887
•3、设置日志输出路径
#vim ${zookeeper_home}/bin/zkEnv.sh
################# 截取部分配置 #################
ZOOBINDIR=”${ZOOBINDIR:-/usr/bin}”
ZOOKEEPER_PREFIX=”${ZOOBINDIR}/..”
if [“x$ZOOCFGDIR” = “x”]
then
if [-e “${ZOOKEEPER_PREFIX}/conf” ]; then
ZOOCFGDIR=”$ZOOBINDIR/../conf”
else
ZOOCFGDIR=”$ZOOBINDIR/../etc/zookeeper”
fi
fi
if [-f “${ZOOCFGDIR}/zookeeper-env.sh” ]; then
. “${ZOOCFGDIR}/zookeeper-env.sh”
fi
if [“x$ZOOCFG” = “x”]
then
ZOOCFG=”zoo.cfg”
fi
ZOOCFG=”$ZOOCFGDIR/$ZOOCFG”
if [-f “$ZOOCFGDIR/java.env”]
then
. “$ZOOCFGDIR/java.env”
fi
if [“x${ZOO_LOG_DIR}” = “x” ]
then
# 设置日志输出路径,默认为执行 zkServer.sh start 命令所在目录生成日志文件
ZOO_LOG_DIR=”/home/bdata/software/datadir/zk/logs/”
fi
•4、启动 zookeeper
每个节点都启动 zookeeper 服务
#zkServer.sh start
查看 zookeeper 运行状态
#zkServer.sh status
// 显示如下信息表示集群启动失败(注:集群环境至少启动两台服务器才能成功)
JMX enabled by default
Using config: /home/bdata/software/zookeeper-3.4.6/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
//**********************************************************************
// 显示如下信息表示集群启动成功
JMX enabled by default
Using config: /home/bdata/software/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader #leade 节点显示 leader, 普通节点显示 follower
四、注意事项
1、检查状态(zkServer.sh status)出现:Error contacting service. It is probably not running.
解决方法:
打开 zkServer.sh
找到
status)
STAT=`echo stat | nc localhost $(grep clientPort “$ZOOCFG” | sed -e ‘s/.*=//’) 2> /dev/null| grep Mode`
在 nc 与 localhost 之间加上 -q 1(是数字 1 而不是字母 l)
如果已存在则去掉
2、Unkown Host/ 无法映射主机名错误 / 连接超时
解决方式,Zookeeper 内部是通过配置主机名然后去 DNS 中查找的 IP 进行访问的,所以这里你必须采用主机名的方式进行访问,一定要在本机 HOST 中配置 IP 映射。
Ubuntu 14.04 安装分布式存储 Sheepdog+ZooKeeper http://www.linuxidc.com/Linux/2014-12/110352.htm
CentOS 6 安装 sheepdog 虚拟机分布式储存 http://www.linuxidc.com/Linux/2013-08/89109.htm
ZooKeeper 集群配置 http://www.linuxidc.com/Linux/2013-06/86348.htm
使用 ZooKeeper 实现分布式共享锁 http://www.linuxidc.com/Linux/2013-06/85550.htm
分布式服务框架 ZooKeeper — 管理分布式环境中的数据 http://www.linuxidc.com/Linux/2013-06/85549.htm
ZooKeeper 集群环境搭建实践 http://www.linuxidc.com/Linux/2013-04/83562.htm
ZooKeeper 服务器集群环境配置实测 http://www.linuxidc.com/Linux/2013-04/83559.htm
ZooKeeper 集群安装 http://www.linuxidc.com/Linux/2012-10/72906.htm
Zookeeper3.4.6 的安装 http://www.linuxidc.com/Linux/2015-05/117697.htm
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-03/128912.htm