首页 > 其他 > 详细

大数据培训<二> Zookeeper HA 部署方案

时间:2015-09-24 13:06:32      阅读:256      评论:0      收藏:0      [点我收藏+]

一、准备服务器环境

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.1JRE7下载

下载地址:

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

#LeaderFollower之间的最大响应时间单位,响应超过syncLimit*tickTimeLeader认为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`

nclocalhost之间加上 -q 1 (是数字1而不是字母l

如果已存在则去掉

      

  • 2、Unkown Host/无法映射主机名错误/连接超时

解决方式,Zookeeper内部是通过配置主机名然后去DNS中查找的IP进行访问的,所以这里你必须采用主机名的方式进行访问,一定要在本机HOST中配置IP映射


记于2015-03-20


大数据培训<二> Zookeeper HA 部署方案

原文:http://my.oschina.net/tearsky/blog/510555

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!