Zookeeper分布式集群部署
zookeeper是一个分布式协调服务的开源框架,主要用于解决分布式集群中应用系统的一致性问题,zookeeper集群的存在,其每一台机器都会在内存中维护当前服务的状态,机器之间也会互相保持通信。该文主要根据其特性,讲述了zookeeper集群的部署过程。
文章目录
一:zookeeper安装包下载安装
1.下载安装包
下载zookeeper安装包:zookeeper安装包下载链接
2.上传安装包
通过软件xftp将安装包上传到linux系统的/export/software/目录下
3.解压安装包
执行命令tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /export/servers/
将安装包解压到指定文件目录/export/servers
4.改名
由于解压后的文件名带有版本号,名字过长,我们通过改名,让文件名变得简洁,方便后续的操作
二:zookeeper集群配置
1.修改zoo.cfg配置文件
zoo.cfg这个文件原本是没有的,我们先进入zookeeper解压目录下的conf目录,conf目录下有个zoo_sample.cfg配置文件,将其复制并重命名为zoo.cfg
其次通过vi命令,编辑此文档,具体修改如下图:
2.创建myid文件
首先执行命令mkdir -p /export/data/zookeeper/zkdata
创建一个zkdata文件夹
进入zkdata文件目录,执行代码echo 1>myid
,向文本myid中追加数据1
3.配置系统环境变量
执行命令vi /etc/profile
,在文档的末尾添加如下内容:
export ZK_HOME=/export/servers/zookeeper
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZK_HOME/bin
编辑完,保存退出,然后再执行命令source /etc/profile
使环境变量生效。
4.分发zookeeper相关文件至从节点slave1,slave2
将zookeeper安装目录分别分发到从节点slave1,slave2上,执行如下命令:
scp -r /export/servers/zookeeper/ slave1:/export/servers/
scp -r /export/servers/zookeeper/ slave2:/export/servers/
将myid文件分别分发到从节点slave1,slave2上,执行如下命令:
scp -r /export/data/ slave1:/export
scp -r /export/data/ slave2:/export
修改从节点slave1,slave2的myid文件,slave1的myid里面的1改为2,slave2的myid里面的1改为3
最后将profile文件也分发到从节点slave1,slave2上,执行如下代码:
scp /etc/profile slave1:/etc/profile
scp /etc/profile slave2:/etc/profile
再在从节点slave1,slave2上分别执行命令source /etc/profile
使环境变量生效
三:zookeeper服务的启动与关闭
1.启动zookeeper服务
依次在主节点master,从节点slave1,从节点slave2上启动zookeeper服务,执行命令:zkServer.sh start
(启动zookeeper服务之前要先确保hadoop集群是启动的)
可以通过命令:zkServer.sh status
,查看响应节点zookeeper的角色
由上述可知三个节点,从节点slave1是zookeeper集群中的leader角色,主节点master与从节点slave2是zookeeper集群中的follower角色;至此zookeeper的leader+follower模式集群部署成功(当然每个节点扮演的角色可能不同,并不一定是从节点slave1扮演leader角色,也有可能是其他两个节点扮演,这个是随机的,但是一定只有一个leader)
2.关闭zookeeper服务
依次在主节点master,从节点slave1,从节点slave2上执行代码:zkServer.sh stop
四:结语
至此,zookeeper集群的部署就告一段落了,文中涉及一些linux基本命令,在这篇文章就没详细解释,相信大家能学到这里,都有一定的基础了,如果还不明白一些基本命令,可以上网百度,也可以借鉴这篇文章:hadoop集群部署全过程(非常详细,包括了一些常用命令的解释)
更多推荐
所有评论(0)