本文旨在讲述zookeeper-3.4.10在CentOS 7系统下Hadoop-2.7.7集群中的安装配置。

关于zookeeper-3.4.10的下载地址:https://www-eu.apache.org/dist/zookeeper/。选择适合的版本进行下载就可以了。

本文主要演示的是安装在/home/hadoop目录下的,安装配置,至于安装在/usr/local下的,道理是一样的,就是关于zk目录的位置不同,在填写配置文件时,需要注意,还有就是权限问题,需要注意。

我呢,先是在Windows系统上下载好,然后通过Xshell传进CentOS系统的,当然,你也可以选择直接在CentOS系统的浏览器上直接下载,安装方法都一样。将zookeeper传进虚拟机后,就要解压该文件。

执行

sudo tar -zxf zookeeper-3.4.10.tar.gz -C /usr/local   #解压安装在根目录下

或者

tar -zxf zookeeper-3.4.10.tar.gz                   #解压安装在/home/hadoop/目录下

这里以安装在home/hadoop目录下的安装配置为例,进行安装。解压完成后,就需要改一下名字,方便进行操作。

mv zookeeper-3.4.10 zookeeper          #将zookeeper-3.4.10改名位zookeeper

#如果是解压在/usr/local/下,需要执行
sudo mv zookeeper-3.4.10 zookeeper 
#并修改该文件的权限
sudo chown -R hadoop:hadoop zookeeper

然后是在~下,创建zk目录,并在zk下创建data

mkdir -p zk/data
touch zk/data/myid                 #创建myid文件,并在文件内写入1
echo "1" > zk/data/myid            #将1写入myid中,在其余节点的此文件中分别输入2和3
mkdir zk/log


#如果是你将想在/usr/local下创建,执行以下
cd /usr/local
sudo mkdir -p zk/data
sudo touch zk/data/myid
sudo mkdir zk/log
sudo chown -R hadoop:hadoop zk
sudo echo "1" > zk/data/myid

 修改配置文件

cd zookeeper/conf
mv zoo_sample.cfg zoo.cfg
vi 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/zk/data
#如果在/usr/local下用这个  dataDir=/usr/local/zk/data 把上边那个删掉,把这个填上去  
  
# 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

dataLogDir=/home/hadoop/zk/log
#如果是解压在/usr/local下,用这个 dataLogDir=/usr/local/zk/log 上边那行删掉,填这个

server.1=Master:2888:3888
server.2=Slave1:2888:3888
server.3=Slave2:2888:3888
~

 

client:监听客户端链接的端口。 

tickTime:  基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每个tickTime时间就会发送一个心跳;最小的session过期时间为两倍tickTime。

dataDir:存储内存中数据库快照的位置,如果不设置参数,更新的日志将被储存到默认位置。

dataLogDir: 让管理机器把事务日志写入指定的目录中,不与“dataDir”共用一个目录,避免快照和日志的竞争。

最后,可以将配置好的zookeeper和zk文件都通过scp传到Slave1和Slave2里,也可以,在Slave1、Slave2单独完成配置。

#解压在/home/hadoop下,进行
scp -r ./zookeeper hadoop@Slave1:/home/hadoop
scp -r ./zk hadoop@Slave1:/home/hadoop
scp -r ./zookeeper hadoop@Slave2:/home/hadoop
scp -r ./zk hadoop@Slave2:/home/hadoop



#解压在/usr/local下,在/usr/local下
cd /usr/local
sudo tar -zcf ~/zookeeper.master.tar.gz ./zookeeper           #可能要输入Hadoop用户密码
sudo tar -zcf ~/zk.master.tar.gz ./zk

cd ~
sudo scp -r ./zookeeper.master.tar.gz hadoop@Slave1:/usr/local
sudo scp -r ./zk.master.tar.gz hadoop@Slave1:/usr/local
sudo scp -r ./zookeeper.master.tar.gz hadoop@Slave2:/usr/local
sudo scp -r ./zk.master.tar.gz hadoop@Slave2:/usr/local

#进入节点Slave1、Slave2执行
cd /usr/local
#解压两个压缩包
sudo tar -zxf ./zookeeper.master.tar.gz
sudo tar -zxf ./zk.master.tar.gz

ll                              #查看zookeeper和zk的拥有着和所属组,
                                #如果都是hadoop,则不用管;
                                #如果不是hadoop而是root,则要在Slave1、Slave2分别
                                #执行以下两条命令
sudo chown -R hadoop:hadoop zookeeper
sudo chown -R hadoop:hadoop zk

关于传送到/usr/local下的截图 

mac brew zookeeper 安装后启动找不到logback文件_hadoop

mac brew zookeeper 安装后启动找不到logback文件_CentOS 7_02

 

mac brew zookeeper 安装后启动找不到logback文件_Hadoop集群_03

mac brew zookeeper 安装后启动找不到logback文件_CentOS 7_04

 

别忘了修改zk/data/myid文件的数值,Slave1写入2,Slave2写入3.

zookeeper的启动是要在三台虚拟机上,都打开才行的在开启zookeeper前,需要把集群先启动

Attention:zookeeper的启动,要在三台虚拟机上,分别打开,记住是分别打开!!!!!

zookeeper/bin/zkServer.sh start           #启动zookeeper
zookeeper/bin/zkServer.sh status          #查看状态
zookeeper/bin/zkServer.sh stop            #关闭zookeeper


#解压在/usr/local下,在上述每个命令前加上
/usr/local/

在三台虚拟机上都打开zookeeper后,能看到 STARTED显示启动成功,查看状态会显示该节点是follower还是leader

 

mac brew zookeeper 安装后启动找不到logback文件_CentOS 7_05

mac brew zookeeper 安装后启动找不到logback文件_CentOS 7_06

 

mac brew zookeeper 安装后启动找不到logback文件_Hadoop集群_07

至此,zookeeper的集群配置就完成了,下一篇就是介绍Hbase 的安装配置的了,zookeeper要和hbase一起用。本来,Hbase自带的有zookeeper,可是有时候老师会要求禁用Hbase自带的zookeeper,所以,还是自己配好点儿。