在CentOS7中搭建Zookeeper集群

前几天装了CentOS7、并安装了一些基本的工具,现在我手上有三台机器:分别是master,slave1,slave2。

今天我将搭建zookeeper,使用的版本是zookeeper-3.4.11.tar.gz。zk安装非常简单他有两种搭建方式:一种是单机模式,一种是集群模式。我这演示的是集群模式...

一、下载zk安装包:

  http://zookeeper.apache.org/releases.html

二、安装

1. 将zookeeper-3.4.11.tar.gz上传到安装目录

#在/usr/local/下创建一个zk包
cd /usr/local
mdkir zookeeper

#通过rz命令,上传zk,并解压
tar -zxvf zookeeper-3.4.11

2.修改配置文件

# 进入conf目录
cd /usr/local/zookeeper/zookeeper-3.4.11/conf

# 复制一份zoo_sample.cfg命名为zoo.cfg cp zoo_sample.cfg zoo.cfg # 修改zoo.cfg vim zoo.cfg

这里主要修改三个内容:数据文件夹dataDir、日志文件夹dataLogDir、客户端访问 zookeeper 的端口号clientPort

在文件的末端添加集群机器:server.1、server.2、server.3

注意:dataDir、dataLogDir 的目录必须存在,不然会报错。server.*的配置可以是hostname:2888:3888

3. 在dataDir目录下创建myid文件,然后分别在myid文件中按照zoo.cfg文件的server.A中A的数值,在不同机器上的该文件中填写相应的值。例如server.1 在当前机器的myid中就只写上1就可以了。

#进入dataDir目录
cd 

#创建myid文件(也可以touch myid,创建一个空的myid文件)
cat > myid

#然后把接下来的键盘输入写入文件,直到按Ctrl+D为止

4. 配置环境变量

#修改环境变量
vim /etc/profile

#在文件的结尾处添加
export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.4.11
export PATH=$PATH:$ZOOKEEPER_HOME/bin

# 让文件立即生效
source /etc/profile

5. 将zk目录,复制到其它几台机器,修改相应的配置项

6. 分别启动三台机器的zk

#进入bin目录
cd /usr/local/zookeeper/zookeeper-3.4.11/bin/

#启动
zkServer.sh start

#查看启动状态(会有一个主节点,两个子节点)
zkServer.sh status

三、启动过程中遇到的错误和解决方法

1. 防火墙没有关;(具体操作见我环境部署中的上一篇文章)

2. SELinux没有关;(具体操作见我环境部署中的上一篇文章)

3. zookeeper.out中报错:dataDir 找不到; 检查一下dataDir 目录是否正确;

4. zookeeper.out中报错:“zookeeper address already in use”;端口被占用,检查一下是其他进程占用了配置的端口,还是配置的clientPort和server中的端口有重复;
5. zookeeper.out中报错:Cannot open channel to 2 at election address /192.168.10.120:3888;这应该只是组成集群的120节点未启动,到120启动起来zk即会正常;

6. 应用连接zookeepr报错:Session 0x0 for server 192.168.10.120/192.168.10.120:2181,unexpected error,closing socket connection and attempting reconnect;

                                        先看端口能否telnet通,如果通则使用./zkServer.sh status查看zk是否确实已启动,没启查看zookeeper.out中的报错;
 
ok, zookeeper的集群模式就搭建好了...

猜你喜欢

转载自www.cnblogs.com/jiangyaxiong1990/p/9053563.html