准备工作
在搭建Zookeeper集群之前,我们需要做一些准备工作,包括安装Java环境、下载并解压Zookeeper安装包等,以下是详细的准备工作步骤:
1、安装Java环境
Zookeeper是基于Java开发的,因此我们需要先安装Java环境,推荐使用JDK 8,可以从官网下载并安装:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
2、下载并解压Zookeeper安装包
从Apache Zookeeper官网下载3.4.6版本的安装包:https://zookeeper.apache.org/releases.htmlzookeeper-3.4.6
下载完成后,将安装包解压到指定目录,D:zookeeper-3.4.6
配置Zookeeper集群
在搭建Zookeeper集群时,我们需要为每个节点分配一个唯一的ID,以便于管理和识别,我们还需要配置服务器的IP地址、端口号等信息,以下是详细的配置步骤:
1、打开配置文件server.properties
在解压后的目录中,找到conf文件夹,打开server.properties文件,这个文件包含了Zookeeper集群的所有配置信息。
2、配置集群节点
在server.properties文件中,我们可以看到如下内容:
The number of milliseconds of each tick tickTime=2000 The number of ticks that the initial synchronization phase takes initLimit=10 The number of ticks that can pass between sending a request and getting an acknowledgement syncLimit=5 the directory where the client outputs its snapshot file dataDir=/var/lib/zookeeper/data
这些配置项分别表示:
tickTime:Zookeeper中的基本时间单位,用于计算客户端与服务器之间的心跳时间,默认值为2000毫秒。
initLimit:Zookeeper集群启动后,客户端与服务器之间进行初始化同步的时间限制,默认值为10个tickTime。
syncLimit:Zookeeper集群中的客户端在发送请求和接收确认之间的最大时间间隔,默认值为5个tickTime。
dataDir:Zookeeper存储数据的目录,默认值为/var/lib/zookeeper/data。
接下来,我们需要为每个节点分配一个唯一的ID,在server.properties文件中,添加以下内容:
The ID of the server node (must be unique) server.1=localhost:2888:3888 server.2=localhost:2889:3888 server.3=localhost:2890:3888
这里我们创建了一个包含3个节点的集群,节点ID分别为1、2、3,注意,每个节点的ID必须是唯一的。
3、配置客户端连接信息
在clientPort属性后面,添加一行配置项,用于指定客户端连接服务器的端口号。
clientPort=2181
至此,我们已经完成了Zookeeper集群的基本配置,接下来,我们需要启动集群中的各个节点。
启动Zookeeper集群
在完成配置后,我们需要启动集群中的所有节点,可以使用zkServer.cmd脚本来启动节点,以下是启动命令的示例:
zkServer.cmd start -daemon -config /path/to/zookeeper/conf/server.properties -dataDir /path/to/zookeeper/data -clientPort 2181 -tickTime 2000 -initLimit 10 -syncLimit 5 server_1 server_2 server_3; zkServer.cmd start -daemon -config /path/to/zookeeper/conf/server.properties -dataDir /path/to/zookeeper/data -clientPort 2182 -tickTime 2000 -initLimit 10 -syncLimit 5 server_2 server_3; zkServer.cmd start -daemon -config /path/to/zookeeper/conf/server.properties -dataDir /path/to/zookeeper/data -clientPort 2183 -tickTime 2000 -initLimit 10 -syncLimit 5 server_3 server_4 server_5; zkServer.cmd start -daemon -config /path/to/zookeeper/conf/server.properties -dataDir /path/to/zookeeper/data -clientPort 2184 -tickTime 2000 -initLimit 10 -syncLimit 5 server_4 server_5 server_6; zkServer.cmd start -daemon -config /path/to/zookeeper/conf/server.properties -dataDir /path/to/zookeeper/data -clientPort 2185 -tickTime 2000 -initLimit 10 -syncLimit 5 server_5 server_6 server_7; zkServer.cmd start -daemon -config /path/to/zookeeper/conf/server.properties -dataDir /path/to/zookeeper/data -clientPort 2186 -tickTime 2000 -initLimit 10 -syncLimit 5 server_6 server_7 server_8; zkServer.cmd start -daemon -config /path/to/zookeeper/conf/server.properties -dataDir /path/to/zookeeper/data -clientPort 2187 -tickTime 2000 -initLimit 10 -syncLimit
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/190081.html