Hadoop生态系统搭建(5)—— 分布式协同服务框架 Zookeeper 的安装部署与测试

来源:互联网 发布:东北财经大学网络教育 编辑:程序博客网 时间:2024/06/06 04:35

1. 系统环境

Ubuntu 16.04
vmware
Hadoop 2.7.0
Java 1.8.0_111

master:192.168.19.128
slave1:192.168.19.129
slave2:192.168.19.130

2. 安装部署

1.下载 zookeeper:zookeeper-3.4.6.tar.gz

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gztar -zxf zookeeper-3.4.6.tar.gz

2.各节点配置zookeeper的环境变量。

# config zookeeperexport ZOOKEEPER_HOME=/home/hadoop/software/zookeeper-3.4.6export PATH=$ZOOKEEPER_HOME/bin:$PATH

3.集群配置。

cd $ZOOKEEPER_HOME/confcp zoo_sample.cfg zoo.cfg

配置 zoo.cfg。

# The number of milliseconds of each ticktickTime=4000# The number of ticks that the initial # synchronization phase can takeinitLimit=20# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=8# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=/home/hadoop/software/zookeeper-3.4.6/zookeeper-datadataLogDir=/home/hadoop/software/zookeeper-3.4.6/logs# the port at which the clients will connectclientPort=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# 2888:follower <-> leader; 3888: leadership vote# server.id=host:port:port 中的第一个port是从机器(follower)连接到主机器(leader)的端口号,第二个port是进行leadership选举的端口号。server.1=master:2888:3888server.2=slave1:2888:3888server.3=slave2:2888:3888

创建 zoo.cfg 配置的 dataDir 目录,在dataDir 下创建 myid,myid 文件中的内容只有一行,为本主机对应的id值,zoo.cfg 中配置的 server.id。
如master 的 myid 如下:

1

4.配置好之后scp到其他slave节点的对应位置。

scp -r zookeeper-3.4.6/ hadoop@slave1:/home/hadoop/software/scp -r zookeeper-3.4.6/ hadoop@slave2:/home/hadoop/software/

5.启动ZooKeeper集群。
各节点依次执行 zkServer.sh start 启动zookeeper服务器

hadoop@master:~/software/zookeeper-3.4.6$ jps1205 SecondaryNameNode8427 Jps1387 ResourceManager1023 NameNodehadoop@master:~/software/zookeeper-3.4.6$ zkServer.sh startJMX enabled by defaultUsing config: /home/hadoop/software/zookeeper-3.4.6/bin/../conf/zoo.cfgStarting zookeeper ... STARTEDhadoop@master:~/software/zookeeper-3.4.6$ jps8448 QuorumPeerMain1205 SecondaryNameNode8473 Jps1387 ResourceManager1023 NameNodehadoop@master:~/software/zookeeper-3.4.6$ zkServer.sh statusJMX enabled by defaultUsing config: /home/hadoop/software/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: followerhadoop@master:~/software/zookeeper-3.4.6$









客户端脚本,连接到ZooKeeper集群上。对于客户端来说,ZooKeeper是一个整体(ensemble),连接到ZooKeeper集群实际上感觉在独享整个集群的服务,所以,可以在任何一个结点上建立到服务集群的连接:

zkCli.sh -server master:2181



手动停止 leader 服务,发现其中一个原 follower 转变为 leader:

zkServer.sh stop






1 0
原创粉丝点击