ZooKeeper是一个分布式的、开放源码的分布式应用程序协调服务,为分布式应用提供一致性服务。它的设计目标是简化分布式系统的管理,保证多个节点之间的数据一致性和协调工作。ZooKeeper提供了类似文件系统的层次化命名空间,用来存储和管理元数据,确保分布式应用的高可用性和强一致性。
在我们职业院校技能大赛的大数据赛项中平台搭建模块,Zookeeper组件是经常考察到的,所以今天小编为了帮助大家更好的备赛和交流学习,为大家分享一下Zookeeper的搭建笔记。
大家在跟着小编搭建之前,请先保证自己虚拟机已经安装好了JDK,而且防火墙均已关闭。
一、解压安装包到指定目录
tar -zxvf /opt/software/apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
-
tar
: 这是用于打包和解包文件的工具。tar
最初是用来在磁带(tape archive)上存储文件的,但现在它广泛用于创建和操作文件系统的归档文件。 -
-zxvf
: 这是tar
命令的选项,用于指定操作的模式和参数。z
表示使用gzip来解压文件。apache-zookeeper-3.5.7-bin.tar.gz
是一个使用gzip压缩的tar归档文件。x
表示解压文件。v
表示在解压过程中显示文件的详细信息(verbose模式)。f
表示后面跟着的是要处理的文件名。
二、更改名称
mv apache-zookeeper-3.5.7-bin zookeeper
-
mv
:这是“move”的缩写,但在这个上下文中,它更常被用来表示“rename”(重命名)。mv
命令可以用来移动文件或目录到新的位置,或者仅仅改变它们的名称而不改变它们的位置。
三、添加data和logs目录
(1)先进入到zookeeper目录下
cd /opt/module/zookeeper
(2)新建目录
mkdir data logs
四、配置环境变量
vim /etc/profile
# 打开文件后,添加以下配置
# ZOOKEEPER_HOME
export ZK_HOME=/opt/module/zookeeper
export PATH=$PATH:$ZK_HOME/bin
五、配置文件
(1)进入到zookeeper的conf目录下
cd /opt/module/zookeeper/conf/
(2)将zook_sample.cfg副本复制一份
cp zoo_sample.cfg zoo.cfg
(3)打开文件并修改配置
vim zoo.cfg
注意:'dataDir'配置是本来就有的,修改以下目录位置就行,'dataLogDir'在他下一行新增即可,
而下面三个‘server’配置,直接写在文件末尾(其实写哪都行,这样更美观)
dataDir=/opt/module/zookeeper/data
dataLogDir=/opt/module/zookeeper/logs
server.1=bigdata101:2888:3888
server.2=bigdata102:2888:3888
server.3=bigdata103:2888:3888
# 上面的IP可以换成自己的主机地址,或者换成主机名,一般我们换成主机名
六、分发文件
# 分发环境变量
scp -r /etc/profile root@bigdata102:/etc/
scp -r /etc/profile root@bigdata103:/etc/
# 分发zookeeper文件
scp -r /opt/module/zookeeper/ root@bigdata102:/opt/module/
scp -r /opt/module/zookeeper/ root@bigdata103:/opt/module/
七、启动环境变量(三台虚拟机都要启动)、分别创建myid
source /etc/profile
bigdata101中:echo '1' > /opt/module/zookeeper/data/myid
bigdata102中:echo '2' > /opt/module/zookeeper/data/myid
bigdata103中: echo '3' > /opt/module/zookeeper/data/myid
这条命令的目的是在ZooKeeper服务器的数据目录中创建一个名为 myid
的文件,并向其中写入一个数字(不同即可)。这个数字在ZooKeeper集群中用于唯一标识每个服务器节点。
当ZooKeeper集群启动时,每个节点都能通过读取自己的 myid
文件来知道自己在集群中的唯一ID,从而正确地参与集群的协作和选举过程。
确保每个节点的 myid
文件都正确设置是非常重要的,因为错误的ID配置可能会导致集群无法正常工作或选举出错误的领导者。
八、Zookeeper的使用
启动:zkServer.sh start // 注意:每一台虚拟机需要分别启动
停止:zkServer.sh stop
重启:zkServer.sh restart
查看状态:zkServer.sh status
最后,zookeeper大家启动之后查看进程,不论zookeeper搭建的正确与否,他的进程都会正常显示,所以大家搭建完成之后一定要看一看zookeeper的状态,是否实现了分布式系统中的Leader选举,如果出现Error,那么即为搭建错误,需要大家根据具体情况解决。
大家如果对全国职业院校技能大赛(今年改为世界职业技能大赛)有兴趣的话,欢迎联系小编,大家共同学习进步!!