简单易懂,手把手带小白用VMware虚拟机安装Linux centos7系统
Hadoop集群搭建及配置〇 —— Hadoop组件获取 & 传输文件
Hadoop集群搭建及配置① —— 克隆节点
Hadoop集群搭建及配置② —— 网络IP配置,连接网络
Hadoop集群搭建及配置③ —— 基础环境搭建
Hadoop集群搭建及配置④ —— JDK简介及其安装
Hadoop集群搭建及配置⑤ —— Zookeeper 讲解及安装
Hadoop集群搭建及配置⑥ —— Hadoop组件安装及配置
在集群的管理中Zookeeper起到非常重要的角色负责分布式应用程序协调的工作——它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。
Zookeeper服务自身组成一个集群(2n+1个服务允许n个失效)。Zookeeper服务有两个角色,一个是leader,负责写服务和数据同步,剩下的是follower,提供读服务,leader失效后会在follower中重新选举新的leader。
产生了leader后,Zookeeper就可以开始工作了,工作的过程中,理论上每个Zookeeper的数据都是一致的,如果某一个节点出了问题,只要还有超过半数的节点正常,那整个集群就可以正常工作,所以Zookeeper首先实现了自己的高可用,然后Zookeeper还可以保存数据,协调控制数据。其角色功能如表:
修改vi /etc/hosts
192.168.142.128 master master.root
192.168.142.129 slave1 slave1.root
192.168.142.130 slave2 slave2.root
# 保存退出
#创建zookeeper文件路径,并解压
mkdir -p /usr/zookeeper
tar -zxvf /home/master/Downloads/zookeeper-3.4.10.tar.gz -C /usr/zookeeper
进入zookeeper配置文件夹conf,将zoo_sample.cfg文件拷贝一份命名为zoo.cfg,Zookeeper 在启动时会找这个zoo.cfg
文件作为默认配置文件。
cd /usr/zookeeper/zookeeper-3.4.10/conf/
ls
scp zoo_sample.cfg zoo.cfg
vi zoo.cfg
dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata
# dataDir 为存储内存中数据库快照的位置
dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdatalog
# 指定zookeeper产生日志村放目录路径;几个节点就几个
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
修改后内容:
server.A=B:C:D
A:是一个数字(机器重启默认从0开始),表示这个是第几号服务器;
B:是这个服务器的ip地址,zookeeper是在hosts中映射了本机的IP,因此也可以写为服务器的映射名;
C:表示的是这个服务器与集群中的Leader服务器交换信息的端口;
D:表示的是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
2888端口号是服务之间通信的端口,而3888是zookeeper与其他应用程序通信的端口。
在zookeeper的目录中,创建配置中所需的zkdata和zkdatalog两个文件夹。
在:cd /usr/zookeeper/zookeeper-3.4.10下
mkdir zkdata
mkdir zkdatalog
cd zkdata
vi myid 输入 1(master)
进入zkdata文件夹,创建文件myid,用于表示是几号服务器。master主机中,设置服务器id为1
以上已经在主节点master上配置完成ZooKeeper,现在可以将该配置好的安装文件远程拷贝到集群中的各个结点对应的目录下(maste输入命令):
scp -r /usr/zookeeper root@slave1:/usr/
scp -r /usr/zookeeper root@slave2:/usr/
conf/zoo.cfg文件中配置的server.X中X为什么数字,
则myid文件中就输入这个数字。
cd /usr/zookeeper/zookeeper-3.4.10/zkdata
修改myid 2 3
slave1 为2
slave2 为3
vi /etc/profile
# set zookeeper environment
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10/
PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile
在ZooKeeper集群的每个结点上,执行启动ZooKeeper服务的脚本。注意在zookeeper目录下:
bin/zkServer.sh start
bin/zkServer.sh status
通过上面状态查询结果可见,一个节点是Leader,其余的结点是Follower。至此,zookeeper安装成功。
cd /usr/zookeeper/zookeeper-3.4.10(此目录下)
bin/zkServer.sh start
bin/zkServer.sh status (注意已经生效环境变量,环境变量开机重启后要手动再生效!!)
bin/zkServer.sh stop(关闭)