Apache ZooKeeper可用于管理分布式系统的配置,因此zookeeper可用于管理kafka集群。zookeeper使用的是分布式协调技术,用于管理分布式环境下多个集群的同步控制,其使用zab协议来保证各个Server之间的同步。下面小编带领大家在CentOS 7 Linux服务器上安装zookeeper。
工具/原料
- CentOS 7
方法/步骤
- 1
在安装zookeeper之前,服务需要安装jdk,并配置好jdk的环境变量,如下图所示。接下来我们需要在zookeeper的官网上下载zookeeper的压缩包,并使用第三方工具(SecureCRT等)上传到CentOS 7服务器的目录下,使用tar命令解压缩该压缩包。
- 2
我们进入到解压后的zookeeper安装目录,在该目录下使用mkdir命令创建data和logs目录,用于存放zookeeper运行时的数据和日志信息,若不创建logs目录则事务日志和快照日志都会写到data目录下,将会严重影响zookeeper的性能。然后我们使用cd命令进入到创建的data目录,在该目录下使用vi myid命令创建myid文件,该文件的内容为1,然后保存文件。注意每台机器的myid文件内容不能重复,我们在修改配置文件时会用到。如想在不同的机器上都部署zookeeper集群,只需复制zookeeper的安装包到各个机器中,并重复此步骤即可。
- 3
我们在zookeeper的解压缩目录下找到conf文件夹,使用cd命令进入到该目录中,复制该目录下的zoo_sample.cfg文件,并命名为zoo.cfg。
- 4
zoo.cfg是zookeeper的配置文件,我们需要修改该配置文件的内容,如下图所示。dataDir和DataLogDir是上述步骤创建文件夹的全路径,2181是zookeeper的默认端口,可以根据需要修改。
- 5
接下来我们将zookeeper配置到环境变量中,便可以在任意位置启动zookeeper了。我们使用vi /etc/profile命令增加zookeeper的环境变量配置,如下图所示,然后使用source/etc/profile使修改后的环境变量生效。
- 6
配置环境变量是为了在任意地方都可以启动、停止、查看状态 。我们使用zkServer.sh start命令启动zookeeper,使用zkServer.sh status命令查看zookeeper的状态,使用zkServer.sh stop命令停止zookeeper,如下图所示。在zookeeper运行后我们可以使用java命名ips查看zookeeper的进程。
注意事项
- myid是机器在集群的唯一标识,必须保证每台机器的myid不重复。
- 防火墙必须开启zookeep相应的端口,如上文中的2181端口。