zookeeper的安装与集群

本文详细介绍了ZooKeeper的安装步骤,包括检查并安装JDK,上传和解压ZooKeeper,修改配置文件,创建数据存储文件夹,配置环境变量,启动和管理ZooKeeper服务。此外,还讲解了如何搭建ZooKeeper集群,涉及配置zoo.cfg文件,复制ZooKeeper到其他节点,设置myid文件,以及启动集群。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

ZooKeeper是一个分布式开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

zookeeper的安装

1、检查jdk是否安装好,如果没有安装,就实现安装jdk

2、将zookeeper-3.4.6.tar.gz上传到linux

3、将zookeeper放在/opt/modules/app目录下,并解压

tar -zxvf zookeeper-3.4.6.tar.gz   /opt/modules/app/

解压后重命名为zookeeper

mv zookeeper-3.4.6.tar.gz   zookeeper

4、修改配置

路径为:/opt/modules/app/zookeeper/conf/

1、复制zoo_example.cfg改名为zoo.cfg

cp zoo_sample.cfg zoo.cfg

2、修改zoo.cfg

zoo.cfg配置

3、创建zkdata文件夹

在root目录下创建一个zkdata文件夹,为数据存储文件的位置

5、配置资源目录

在/etc/profile文件中
追加以下内容

export ZK_HOME=/opt/modules/app/zookeeper
export PATH=$PATH:$ZK_HOME/bin

source一下

source /etc/profile

检查是否配置成功

echo $ZK_HOME

出现以下内容就配置成功了:

 

image.png

6、启动zookeeper

启动zookeeper并且查看是否启动成功

1、启动zookeeper

zkServer.sh start

2、查看zookeeper状态

zkServer.sh status

3、停止zookeeper

zkServer.sh stop

image.png

7、存在问题

1、防火墙未关闭

1、临时关闭(开机启动防火墙)

service iptables stop
iptables:清除防火墙规则:                                 [确定]
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:正在卸载模块:                                   [确定]

2、永久关闭(开机不启动防火墙)

chkconfig iptables off

2、地址被占用

使用命令查看日志

 cat zookeeper.out 

如果出现了java.net.BindException: Address already in use
地址被占用,那么先查看是否被占用,占用了则杀死进程再启动,建议去/root/zkdata下删除zookeeper_server.pid。

 

image.png

zookeeper的集群

zookeeper的集群也需要事先安装好jdk,先准备三个纯净版的linux

1、修改zoo.cfg

在前面的基础上,追加三个server

server.1=192.168.159.133:2888:3888
server.2=192.168.159.130:2888:3888
server.3=192.168.159.134:2888:3888

image.png

注:2888是leader与follower之间通信的端口,3888是投票使用的端口(数字不做要求,但应避免冲突)。

2、将配置好的apps下的zookeeper传到另外两台linux

分别复制到两个主机

scp -r /opt/modules/app/zookeeper hadoop4:/opt/modules/app/

3、设置myid

三个虚拟机在各自的root下创建zkdata文件夹,再创建myid文件设置值
举例hadoop3(第一个主机)

echo 1 > myid

注意:myid里面设置的值一定要与配置文件里设定的一致。

4、分别启动三个虚拟机

一个leader两个follower

 

 



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值