Apache Zookeeper 集群的搭建

注:zookeeper集群配置需要为奇数个并且 > 1

1.节点概览
节点IP节点主机名Zookeeper端口
192.168.183.81mycat012181
192.168.183.82mycat022181
192.168.183.83mycat032181

这里默认我已经对三节点安装了jdk,并配置了JAVA_HOME到PATH,因为使用的虚拟机,没有采用开放端口的形式,只是把三台的防火墙关闭了而已,另外顺便做了IP和主机名映射及免密登录。

2.环境搭建(3.4.13版本)

下载方式:

1)Apache Zookeeper 网址:https://www.apache.org/dist/zookeeper/zookeeper-3.4.13/

2)wget https://www.apache.org/dist/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz

3)wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz

Apache Zookeeper上貌似只有一个 3.4.13 版本,其他版本可参见:华中科技大学镜像源

http://mirrors.hust.edu.cn/apache/zookeeper/

3.上传安装包并解压

我把 该解压文件的所有者与所属这全部改成了 hadoop,并且拥有执行权限

[hadoop@mycat01 ~]$ tar -zxvf zookeeper-3.4.10.tar.gz
[hadoop@mycat01 ~]$ ll
drwxr-xr-x 10 hadoop hadoop      4096 Mar 25 23:43 zookeeper-3.4.10
-rwxrw-r--  1 hadoop hadoop  35042811 Mar 25 17:40 zookeeper-3.4.10.tar.gz
4.修改配置文件
cd zookeeper-3.4.10/conf
[hadoop@mycat01 conf]$ ll
total 12
-rw-rw-r-- 1 hadoop hadoop  535 Mar 23  2017 configuration.xsl
-rw-rw-r-- 1 hadoop hadoop 2161 Mar 23  2017 log4j.properties
-rw-rw-r-- 1 hadoop hadoop 1015 Mar 25 17:43 zoo_sample.cfg

我们需要把zoo_sample.cfg这样启动服务的时候就可以被加载到

mv zoo_sample.cfg zoo.cfg

修改:

我们需要修改的主要两个地方

[hadoop@mycat01 ~]$ vim zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/home/hadoop/zookeeperdata # 这个是必须要修改的,不能放到/tmp临时目录下
# the port at which the clients will connect
clientPort=2181    # 这里我直接使用默认的端口就好了
# the maximum number of client connections.
# increase this if you need to handle more clients
# maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
# autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
# autopurge.purgeInterval=1
server.1=mycat01:2888:3888 # server.id=zookeeper节点主机名:2888:3888  选举端口和投票端口固定
server.2=mycat02:2888:3888 # 如果有四台zookeeper的话,由于非observer节点数必须为奇数个
server.3=mycat03:2888:3888 # 所以如果有第四台的话,可以使用如下添加方式
# server.4 =mycat04:2888:3888:observer   # id是自己定义的,0~255间,不必一次递增,自己定即可

上面dataDir是快照存储目录,需要修改目录,切不要放在/tmp这样的临时目录,而且这个目录必须存在,不然会报错,所以等下需要手动新建该目录。

server.3此处server后面的是该节点缩持有的投票编号id,必须全局唯一。

5.创建每个节点的编号文件

在每一个Zookeeper节点上zookeeper创建快照数据文件夹:(这个是我在上面配置文件中指定的dataDir)

mkdir /home/hadoop/zookeeperdata

在每一个Zookeeper节点上的/home/hadoop/zookeeperdata创建名称为myid的文件(名称必须为myid)

vim /home/hadoop/zookeeperdata/myid

第一台Zookeeper节点myid文件中加入:(参见配置文件中配置—server.1=mycat01:2888:3888)

1

第二台Zookeeper节点myid文件中加入:(参见配置文件中配置—server.2=mycat02:2888:3888)

2

第三台Zookeeper节点myid文件中加入:(参见配置文件中配置—server.3=mycat03:2888:3888)

3

如果你有配置更多的节点的话,按照配置文件的配置来设置就好了

6.将zookeeper分发到各个节点
cd ~
scp -r zookeeper-3.4.10 hadoop@mycat:/home/hadoop/
7.将zookeeper根目录配置到PATH中
sudo vim /etc/profile

我的环境变量参考如下,我的zookeeper目录之所以是zk,是因为我设置了软链接

例如:

[hadoop@mycat01 ~]$ ll
total 24590
lrwxrwxrwx  1 hadoop hadoop        29 Mar 27 19:12 zk -> /home/hadoop/zookeeper-3.4.10
drwxr-xr-x 10 hadoop hadoop      4096 Mar 25 23:43 zookeeper-3.4.10
-rwxrw-r--  1 hadoop hadoop  35042811 Mar 25 17:40 zookeeper-3.4.10.tar.gz
drwxrwxr-x  3 hadoop hadoop      4096 Mar 25 23:43 zookeeperdata
export JAVA_HOME=/opt/jdk1.8.0_73
export ZOO_HOME=/home/hadoop/zk
export PATH=$PATH:$JAVA_HOME/bin:$ZOO_HOME/bin

使配置生效:

source /etc/profile
8.启动zkServer

在每台Zookeeper节点上执行下列命令

zkServer.sh start

查看启动状态:(只启动一台时查看报错----忽略)

zkServer.sh status

如果状态中有followerobserverleader表示搭建成功(leader只能有一台)

9.测试客户端效果
[hadoop@mycat01 ~]$ zkCli.sh
Connecting to localhost:2181
.........
[zk: localhost:2181(CONNECTED) 0]  # 这里显示 已连接到2181端口
[zk: localhost:2181(CONNECTED) 0] ls /    
[zookeeper]      # 默认这个znode是zookeeper的,不要删除

至此zookeeper集群环境搭建结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值