Hadoop集群还没搭建的小伙伴可以参照:Hadoop集群搭建
一、集群时间同步
搭建zookeeper的首要要让集群时间同步
- 首先确认是否安装过
ntp: rpm -qa | grep ntp
,若下载过则使用yum -y remove
卸载 - 下载ntp:
yum install -y ntp
(3个虚拟机都要下载)
- 修改所有节点的/etc/ntp.conf文件,命令:
vi /etc/ntp.conf
,添加如下内容:
#当前节点IP地址
restrict 192.168.233.137 nomodify notrap nopeer noquery
#集群所在网段的网关(Gateway),子网掩码(Genmask)
restrict 192.168.233.1 mask 255.255.255.0 nomodify notrap
- 在主节点的/etc/ntp.conf添加:
注意:servier需要全部注掉,如下如所示
server 127.127.1.0
Fudge 127.127.1.0 stratum 10
- 在其他两个子节点/etc/ntp.conf添加如下内容:
# 使server指向主节点
server 192.168.233.137
Fudge 192.168.233.137 stratum 10
- 启动ntp服务(三个虚拟机都要启动):
service ntpd start
- 设置开机自启动(三个虚拟机都要设置):
chkconfig ntpd on
- 查看ntp状态:
ntpstat
主节点如下图所示则同步成功:
子节点出现下图所示则同步成功
注意:若出现下图,需要等待几分钟直到出现上面同步效果
二、Zookeeper安装
( 以下操作均在主节点进行)
-
压缩包需要自取(提取码:6z6z)zookeeper安装包
-
将安装包放到/opt下
-
解压并改名
解压:tar -zxvf zookeeper-3.4.6.tar.gz
改名:mv zookeeper-3.4.6 zookeeper
-
配置zookeeper环境变量:
vi /etc/profile
,添加如下图内容:
-
输入:
source /etc/profile
,使其生效
三、Zookeeper配置
( 以下操作均在主节点进行)
- 进入/opt/zookeeper/conf目录:
vi /opt/zookeeper/conf
- 修改
zoo_sample.cfg
模板文件
①改名mv zoo_sample.cfg zoo.cfg
②配置zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# 最大访问数:不限制,需要自行添加
maxClientCnxns=0
# The number of ticks that the initial
# synchronization phase can take
#初始化最小进程数:50
initLimit=50
# 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=/opt/zookeeper/zkdata
#日志目录
dataLogDir=/opt/zookeeper/zkdatalog
# the port at which the clients will connect
clientPort=2181
# 如果不配集群不需要添加以下内容,2888是通信端口,3888是选举通信端口
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
- 创建数据目录和日志目录
①到/opt/zookeeper目录下:cd /opt/zookeeper
②创建数据目录:mkdir zkdata
③创建数据目录:mkdir zkdatalog
- 进入数据目录,创建myid文件,输入对应机器主机名对应的server.后面的数字,例:hadoop1则输入1,hadoop2输入2,其作用是用来选举
cd /opt/zookeeper/zkdata
vi myid
- 将主节点/opt/zookeeper和/etc/profile传给两个子节点(子节点的配置与主节点基本相同,故只需直接复制)
scp -r /opt/zookeeper root@hadoop2:/opt
scp -r /opt/zookeeper root@hadoop3:/opt
scp /etc/profile root@hadoop2: /etc/profile
scp /etc/profile root@hadoop2: /etc/profile
- hadoop2、hadoop3配置文件修改了需要更新
source /etc/profile
- 依次修改两个子节点的myid为2、3
vi /opt/zookeeper/zkdata/myid
四、启动、验证zookeeper
- 启动zookeeper(三个虚拟机都要开启):
zkServer.sh start
- 查看进程:
jps
出现QuorumPeerMain
服务,则启动成功 - 查看状态(三个虚拟机都执行以上操作后):
zkServer.sh status
三个虚拟机出现1个leader,2个follower即为正确状态
- 关闭zookeeper:
zkServer.sh stop
至此所有配置完成