欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Linux下ZooKeeper分布式集群安装教程

程序员文章站 2022-06-19 19:00:46
zookeeper 就是动物园管理员的意思,它是用来管理 hadoop(大象)、hive(蜜蜂)、pig(小猪)的管理员,apache hbase、apache solr、...

zookeeper 就是动物园管理员的意思,它是用来管理 hadoop(大象)、hive(蜜蜂)、pig(小猪)的管理员,apache hbase、apache solr、dubbo 都用到了 zookeeper,其实就是一个集群管理工具,是集群的入口。zookeeper 是一个分布式的、开源的程序协调服务,是 hadoop 项目下的一个子项目。zookeeper 主要应用场景包括集群管理(主从管理、负载均衡、高可用的管理)、配置文件的集中管理、分布式锁、注册中心等。实际项目中,为了保证高可用,zookeeper 都是以分布式集群的方式进行安装的,至少需要三个节点,下面具体来看下。

这里 linux 选择 centos 7.2。

# wget -p /usr/local http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
# cd /usr/local
# tar -zxvf zookeeper-3.4.10.tar.gz
# cd zookeeper-3.4.10
# mkdir data
# mkdir logs
# vim /etc/rc.d/rc.local  //配置开启自启动

追加如下配置即可:

export java_home=/usr/java/jdk
/usr/local/zookeeper-3.4.10/bin/zkserver.sh start

我们在三台不同的服务器上各部署一个 zookeeper 进程,以构成一个 zookeeper 集群。三个 zookeeper 进程均使用相同的 zoo.cfg 配置:

# cd /usr/local/zookeeper-3.4.10/conf
# cp zoo_sample.cfg zoo.cfg             //拷贝配置文件
# vim zoo.cfg

修改配置如下:

# 配置存储快照文件的目录
datadir=/usr/local/zookeeper-3.4.10/data
datalogdir=/usr/local/zookeeper-3.4.10/logs
# zk服务进程监听的tcp端口
clientport=2181
# 2888:zookeeper服务之间通信的端口,3888:zookeeper与其他应用程序通信的端口
# server.1:表示这是第几号服务器
server.1=192.168.20.11:2888:3888
server.2=192.168.20.12:2888:3888
server.3=192.168.20.13:2888:3888

然后在三台服务器 datadir 目录下,分别创建一个 myid 文件,其内容分别为1,2,3。然后分别在这三台机器上启动 zookeeper 进程,这样我们便将 zookeeper 集群启动了起来。如下:

# cd /usr/local/zookeeper-3.4.10/data
# echo 1 >>myid                    //创建myid文件并写入1
# /usr/local/zookeeper-3.4.10/bin/zkserver.sh start  //后台启动zookeeper

还有一些其他命令如下:

# /usr/local/zookeeper-3.4.10/bin/zkserver.sh stop   //关闭zookeeper
# /usr/local/zookeeper-3.4.10/bin/zkserver.sh status  //查看服务状态
# /usr/local/zookeeper-3.4.10/bin/zkserver.sh start-foreground  //前台启动

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。