优选主流主机商
任何主机均需规范使用

Linux环境ZooKeeper分布式集群详细安装指南及常见问题解决

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

这里 Linux 选择 CentOS 7.2。

?

1 2 3 4 5 6 7 # 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  //配置开启自启动

追加如下配置即可:

?

1 2 export JAVA_HOME= /usr/java/jdk /usr/local/zookeeper-3 .4.10 /bin/zkServer .sh start

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

?

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

修改配置如下:

?

1 2 3 4 5 6 7 8 9 10 # 配置存储快照文件的目录 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 集群启动了起来。如下:

?

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

还有一些其他命令如下:

?

1 2 3 # /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  //前台启动

 

未经允许不得转载:搬瓦工中文网 » Linux环境ZooKeeper分布式集群详细安装指南及常见问题解决