一.ZooKeeper下载安装
- 1.下载:链接: https://pan.baidu.com/s/12v1T3iVxBdkKP2PclVAHpQ 提取码: u5ed
- 2.拖入opt目录解压安装:
tar -zxvf zookeeper-3.4.6.tar.gz
- 3.删除安装包:
rm -rf zookeeper-3.4.6.tar.gz
- 4.配置全局环境变量:
vi /etc/profile
,在打开的文件中添加如下两行:
export ZK_HOME=/opt/zookeeper-3.4.6
export PATH=$PATH:$ZK_HOME/bin
- 5.输入:
source /etc/profile
,使其生效
二.ZooKeeper配置
输入: cd /opt/zookeeper-3.4.6/conf/
进入配置文件的目录
- 1.配置zoo.cfg文件:默认没有该文件,但提供了
zoo_sample.cfg
的模板文件 - (1)创建该文件:
vi zoo.cfg
- (2)插入如下内容:
# 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.
#数据目录
dataDir=/opt/zookeeper-3.4.6/zookeeperdata
#日志目录
dataLogDir=/opt/install/zookeeper-3.4.6/zkdatalog
# the port at which the clients will connect
clientPort=2181
#配置三台以上的奇数台可用机器主机名或者ip,注如果不配集群不需要添加以下内容,2888是通信端口,3888是选举通信端口
server.1=hadoop101:2888:3888
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
- (2)创建上面的数据目录:
mkdir /opt/zookeeper-3.4.6/zookeeperdata
,mkdir /opt/zookeeper-3.4.6/zkdatalog
- (3)进入该数据目录:
cd /opt/zookeeper-3.4.6/zookeeperdata
- (4)创建myid文件,输入对应机器主机名对应的server.后面的数字:
vi myid
,若本机器是hadoop101则内容为1
,其作用是用来选举的
三.配置集群的时间同步
- 大数据系统是对时间敏感的计算处理系统,时间同步是基础保障,是大数据得以发挥作用的技术支撑,所以需要保证所有机器时间同步!
- 1.确认是否安装过ntp:
rpm -qa | grep ntp
,若有的话使用:yum -y remove 相关文件名
命令卸载 - 2.安装ntp:
yum -y install ntp
- 3.修改所有节点的ntp配置文件:
vi /etc/ntp.conf
,添加如下内容:
#当前节点IP地址
restrict 192.168.233.101 nomodify notrap nopeer noquery
#集群所在网段的网关(Gateway),子网掩码(Genmask)
restrict 192.168.233.1 mask 255.255.255.0 nomodify notrap
- 4.选择一个机器作为主节点,修改其/etc/ntp.conf:
vi /etc/ntp.conf
,内容如下(server需要全部注释):
server 127.127.1.0
Fudge 127.127.1.0 stratum 10
- 5.其他机器修改/etc/ntp.conf:
vi /etc/ntp.conf
,将server指向主节点,内容如下(server需要全部注释):
server 192.168.56.110
Fudge 192.168.56.110 stratum 10
- 6.在每台机器启动ntp服务:
service ntpd start
,并且设置开机自启动:chkconfig ntpd on
- 7.查看ntp状态:
ntpstat
,除主机器外出现如下画面即同步成功;
- 注:如果出现以下效果,需要等待几分钟直到出现上面同步效果:
四.启动和关闭ZooKeeper并验证
- 启动命令:
zkServer.sh start
- 关闭命令:
zkServer.sh stop
- 验证方式:
jps
,如果出现QuorumPeerMain
服务即成功启动了,如下:
- 当所有机器执行完上述命令后,再在每台机器上执行
zkServer.sh status
查看每台机器的Zookerpeer状态,正确的状态是只有一台机器是leader,其余机器都显示follower,如下: