什么是ZooKeeper?

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper包含一个简单的原语集, [1]  提供Java和C的接口。

博主这里也之前有搭建过单机版的:https://blog.csdn.net/qq_30764991/article/details/81542594,如果需要学习,可以参考这篇文章。本篇主要是讲解linux搭建zookeeper的集群。

一:首先下载zookeeper:小编我也给大家提供了下载的链接:记得下载linux版本的

下载链接:http://archive.apache.org/dist/zookeeper/

Zookeeper官方下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

二:下载之后,上传到你的linux系统指定的路径中。在本文中Zookeeper节点个数为3个。

上传之后解压zookeeper. tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/mysoft/zookeeper   即解压到指定的路径

三:然后复制三份zookeeper分别命名为zookeeper01、zookeeper02、zookeeper03.如果不明白,这边也给提供图解说明如下

接下来进入zookeeper01中创建一个data文件夹,用来保存zookeeper数据。再然后在data中创建一个文件,touch myid,如下图说明:

编辑myid  ,在里面写个编号数字1,然后保存退出。这就是zookeeper的1号节点。

四:接着修改zookeeper中conf目录下的zoo_sample.cfg为zoo.cfg,这里是使用的cp 复制并重名的方式。

编辑配置文件:vim zoo.cfg这里很重要,如下图解说明:

server.1=192.168.60.131:2881:3881

server.2=192.168.60.131:2882:3882

server.3=192.168.60.131:2883:3883

五:接着同以上的配置方法一样,分别配置zookeeper02与zookeeper03.这里提供下另一种创建文件的方式如下图所示:

zookeeper02的配置如下图所示:

zookeeper03的配置如下图所示:

六:启动zookeepr,这里写了一个批量启动,当然你也可以单独启动。

[root@admin solr-cloud]# vim start-all.sh
cd zookeeper01/bin
./zkServer.sh start
cd ../../
cd zookeeper02/bin
./zkServer.sh start
cd ../../
cd zookeeper03/bin
./zkServer.sh start
cd ../../

然后保存退出。当然你也可以一个一个去启动./zkServer.sh start,接着给创建好的指启动授权如下图所示:

[root@admin solr-cloud]# chmod u+x start-all.sh    ,chmod授权  u表示当前的用户(linux分为三个用户,u,即root用户,root下的用户,还有其他用户,所以这里仅root  u用户有执行的权限。)

启动./start-all.sh 如下图所示:说明zookeeper批量启动成功

、测试,进入zookeepert01下的bin中

  1. [root@localhost bin]# ./zkCli.sh -server 192.168.60.131:2181  

注意:如果出现拒绝连接,是因为linux权限安全的原因,解决方法两种,一种是关闭linux的防火墙,另一种是开启zookeeper的指定端口号2181.开启方法如下,方法一,个人推荐使用这种:

/sbin/iptables -I INPUT -p tcp --dport 2181 -j ACCEPT

/etc/rc.d/init.d/iptables save ---将修改永久保存到防火墙中

linux下退出zookeeper命令:quit

方法二:关闭linux的防火墙

关闭防火墙和selinux

Redhat使用了SELinux来增强安全,关闭的办法为:

1. 永久有效

修改 /etc/selinux/config 文件中的 SELINUX="" 为 disabled ,然后重启。

2. 即时生效

setenforce 0

关闭防火墙的方法为:

1. 永久性生效

开启:chkconfig iptables on

关闭:chkconfig iptables off

2. 即时生效,重启后失效

开启:service iptables start

关闭:service iptables stop

查看闭后的状态  /etc/init.d/iptables status  ,如出现Firewall is not running 说明防火墙已经关闭了

- 列表内容

 

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐