Zookeeper是一种分布式协调服务,用于管理大型主机,在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。
Zookeeper作为Hadoop和Hbase的重要组件,可以为分布式应用程序协调服务,同时还能使用Java和C的接口。
接下来我们就来安装Zookeeper,首先我们到Zookeeper官网下载安装包,
首先我们来配置一个单节点,通过三个步骤即可安装成功,:
下载安装
下载好Zookeeper安装包之后,我们解压到/app
目录(目录的选择可以自定义)下:
tar -zxvf zookeeper-3.4.13.tar.gz -C /app
创建文件夹与配置文件
解压好之后创建必要的文件夹:
#移动到Zookeeper的根目录下创建data目录和logs目录
cd /app/zookeeper-3.4.13/
mkdir data
mkdir logs
移动到conf
目录下创建配zoo.cfg
置文件,添加如下内容(也可以查看zoo_sample.cfg
然后修改 ):
tickTime=2000
dataDir=/app/zookeeper-3.4.13/data
dataLogDir=/app/zookeeper-3.4.13/logs
clientPort=2181
注意:其中的dataDir
和dataLogDir
应该是你自己本机Zookeeper的data
和logs
目录。
启动
进入bin
目录,输入如下命令测试启动和停止:
./zkServer.sh start
./zkServer.sh stop
./zkServer.sh restart
./zkServer.sh status
开启服务Zookeeper服务之后输入jps
出现如下界面则代表安装启动成功:
伪分布式集群安装
伪分布式和分布式类似,即我们将集群搭建在一台机器上,为什么这样做呢,hh,为了方便,因为刚开始学习这个知识在一台机器上还是要比在多台机器上操作更加方便一些的。
接下来我们来配置一个伪分布式的集群。
首先我们修改之前创建的zoo.cfg
文件:
tickTime=2000
dataDir=/app/zookeepers/zookeeper1/data
dataLogDir=/app/zookeepers/zookeeper1/logs
clientPort=2181
initLimit=5
syncLimit=2
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:4888
server.3=127.0.0.1:2890:5888
接下来我们将Zookeeper的文件夹拷贝三份,分别为Zookeeper1/Zookeeper2/Zookeeper3/
。
接下来我们分别设置三个Zookeeper
Zookeeper1配置
zoo.cfg
文件如下:
tickTime=2000
dataDir=/app/zookeepers/zookeeper1/data
dataLogDir=/app/zookeepers/zookeeper1/logs
clientPort=2181
initLimit=5
syncLimit=2
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:4888
server.3=127.0.0.1:2890:5888
还需要修改data
目录下的myid
文件,添加1
到myid
文件中。
echo 1 > data/myid
Zookeeper2配置
修改zoo.cfg
文件,如下:
tickTime=2000
dataDir=/app/zookeepers/zookeeper2/data
dataLogDir=/app/zookeepers/zookeeper2/logs
clientPort=3181
initLimit=5
syncLimit=2
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:4888
server.3=127.0.0.1:2890:5888
修改data
目录下的myid
文件,添加2
到文件中:
echo 2 > data/myid
Zookeeper3配置
修改zoo.cfg
文件,如下:
tickTime=2000
dataDir=/app/zookeepers/zookeeper3/data
dataLogDir=/app/zookeepers/zookeeper3/logs
clientPort=4181
initLimit=5
syncLimit=2
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:4888
server.3=127.0.0.1:2890:5888
修改data
目录下的myid
文件,添加2
到文件中:
echo 3 > data/myid
配置三个Zookeeper的时候需要注意clientPort
和dataDir
,logDir
的值。
完成上述三个配置就可以分别启动三个集群了,启动之后输入jps出现如下界面即代表配置成功。
Zookeeper集群搭建
集群和我们搭建的伪集群类似,只需要将配置中的127.0.0.1
改成其他机器的IP地址即可实现真正的集群搭建。