您的位置:首页 > 其它

zookeeper简单的集群配置!

2016-02-24 14:40 435 查看
准备工作:三台(最少)主机,并且为基数台主机,zookeeper规定至少一半以上正常工作才能正常运行,系统为CentOS 7,
zookeeper软件包:zookeeper-3.4.7.tar.gz

在安装zookeeper之前,请先安装jdk,Java环境支持。具体安装jdk步骤简单,不赘述。
下载软件包,放在/usr/local/src目录下,解压
tar -zxvf zookeeper-3.4.7.tar.gz
mv zookeeper-3.4.7 /usr/local/zookeeper(个人习惯,把软件包放在/usr/local下)
进入zookeeper/conf目录下,复制zoo_sample.cfg 命名为zoo.cfg
修改配置:
tickTime=2000
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
initLimit=5
syncLimit=2
clientPort=2181
server.1=IP1:2888:3888 此处红色标记可随意数字

server.2=IP2:2888:3888
server.3=IP3:2888:3888
保存退出;
由于配置文件中有dataDir和dataLogDir,所以要创建两个目录
mkdir -p /data/zookeeper/data
mkdir -p /data/zookeeper/logs
在dataDIr目录下创建server id 文件
vim myid 值为1
注:IP1上的myid的值是server.X 的X值要一致,不一致会搭建不成功。
其余两台主机同样的配置,不同就是myid的值。
启动zookeeper,进入bin目录
cd /usr/local/zookeeper/bin
会发现如下文件:



.cmd文件是windows运行脚本,.sh文件是Linux运行脚本
三台主机分别启动:
./zkServer.sh start

是否成功,则查看状态:
./zkServer.sh status;
若出现follower或者leader的单词,则表示zookeeper集群搭建成功。
常见的错误:
在查看状态的时候,会出现以下代码:
JMX enabled by defaultUsing config: /usr/local/zk/bin/../conf/zoo.cfgError contacting service. It is probably not running
原因之一是:zoo.cfg在制定log输出目录,但是没有创建。
原因之二是:在配置节点主机名和myid不匹配;
原因之三是:zookeeper所需端口没有开放,开放三个端口2181,2888,3888

把zookeeper加入开机启动中;配置如下
进入/etc/init.d/创建启动文件
vim zookeeper
内容为:
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper

EXEC=/usr/local/zookeeper/bin/zkServer.sh
ZOO_LOG_DIR="/tmp/zookeeper/logs"
JAVA_HOME=/usr/local/jdk
PATH=${JAVA_HOME}/bin:$PATH

case $1 in
start) su root /usr/local/zookeeper/bin/zkServer.sh start;;
stop) su root /usr/local/zookeeper/bin/zkServer.sh stop;;
status) su root /usr/local/zookeeper/bin/zkServer.sh status;;
restart) su root /usr/local/zookeeper/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
esac

保存退出
给与执行权限chmod +x zookeeper
添加到启动项
chkconfig --add zookeeper即可

本文出自 “沏茶品香” 博客,请务必保留此出处http://chinawu.blog.51cto.com/10692884/1744627
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: