zookeeper的安装与集群

2019-01-10  本文已影响0人  小月半会飞

概念

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


image.png
上一篇下一篇

猜你喜欢

热点阅读