ZooKeeper3.4.6分布式环境搭建
本次使用的zookeeper为zookeeper3.4.6,Linux发行版为CentOS7。主机名IPzk1192.168.150.21zk2192.168.150.22zk3192.168.150.23前置准备:一、搭建hp301静态IP、关闭防火墙,关闭selinux,命名主机名为zk1,修改hosts做一个映射,修改ip地址。参见:Hadoop3.3.1详细教程(二)样机配置二、安装JDK
本次使用的ZooKeeper3为ZooKeeper3,Linux发行版为CentOS7。
主机名 | IP |
---|---|
zk1 | 192.168.150.101 |
zk2 | 192.168.150.102 |
zk3 | 192.168.150.103 |
前置准备:
一、搭建zk1
静态IP、关闭防火墙,关闭selinux,命名主机名为zk1,修改hosts做一个映射,修改ip地址。
参见:Hadoop3.3.1详细教程(二)样机配置
二、安装JDK
参见:Hadoop3.3.1详细教程(三)克隆样机+JDK安装
三、免密登录
参见:Hadoop3.3.1详细教程(四)Linux集群搭建+免密登录
安装ZooKeeper
1.下载ZooKeeper3.4.6,并上传到hp301的/apps目录下
2.解压到/usr/local之下:
tar -xzf /apps/zookeeper-3.4.6.tar.gz -C /usr/local
3.为ZooKeeper创建一个软连接:
4.修改ZooKeeper环境变量:
vi /etc/profile.d/zookeepr.sh
编辑:
export ZOOKEEPER_HOME=/usr/local/zookeeper3
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source使之有效。
5.配置ZooKeeper
1)在linux的根目录/下新建一个保存事务日志和数据的文件夹zk_data,在其下新建zk_data目录,在zk_data目录下新建data目录和logs目录。
2)复制zookeeper3/conf下的zoo_sample.cfg 改名为 zoo.cfg,并修改其中的配资信息:
zoo.cfg 的dataDir=/zk_data/data
添加一个dataLogDir:
dataLogDir=/zk_data/logs
3)6.配置集群结点:
server.n=ip:A:B
# n是节点编号,一般从1开始
# ip是集群中节点所在服务器IP地址
# A是LF通信端口,表示该服务器与集群中的leader交换的信息的端口,默认是2888
# B是选举端口,表示选举新leader时服务器间相互通信的端口(当leader挂掉时,其余服务器会相互通信,选择出新的leader),默认是3888
三台虚拟机的话,可以这样配置,复制到zoo.cfg最后:
server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk3:2888:3888
4)在 zk_data/data中新建一个myid文件,内容填写1,表示上面的server.1
6.建立集群
克隆出zk2、zk3、修改hostname、ip地址、/zk_data/data/myid的值分别为2、3
也可以使用分发方式。
7.启动 ZooKeeper:
# 启动,默认是后台启动,当前shell不会被阻塞
zkServer.sh start
# 停止
zkServer.sh stop
# 重启
zkServer.sh restart
# 查看当前节点状态
zkServer.sh status
# upgrade是升级,print-cmd是打印命令,这两个用的少
如果只是启动另一个结点的Zookeeper,而没有启动集群的话,因为配置了三台结点,所以无法选举,在执行zkServer.sh status时候会报:
Error contacting service. It is probably not running.
当三个结点都启动再使用zkServer.sh status命令查看时候,会看到:
zk1、zk3 是follower
zk2是leader
更多推荐
所有评论(0)