ubuntu 安装zk集群
时间: 2025-01-05 08:21:27 浏览: 12
### Ubuntu 上搭建和配置 Zookeeper 集群
#### 准备工作
为了成功部署 Zookeeper 集群,需准备好多台 Ubuntu 主机作为集群节点[^1]。
#### 下载并解压 Zookeeper 安装包
假设已经下载好 Zookeeper 的压缩文件到 `/opt` 目录下:
```bash
tar zxvf zookeeper-*.tar.gz -C /opt/
cd /opt/zookeeper-*/conf/
cp zoo_sample.cfg zoo.cfg
```
此操作会创建默认配置文件 `zoo.cfg`,后续将在此基础上修改以适应集群需求。
#### 修改配置文件
对于每个 Zookeeper 实例都需要单独的配置文件。这里假设有三台服务器分别命名为 server1,server2 和 server3,在每台机器上的配置如下所示:
在所有节点上编辑或新建 `zoo.cfg` 文件加入以下内容来定义整个集群成员信息:
```properties
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=server1:2888:3888
server.2=server2:2888:3888
server.3=server3:2888:3888
```
其中 `server.x` 行指定了集群中的各个节点及其通信端口;`dataDir` 是数据存储路径,需要提前创建该目录并赋予适当权限给运行 Zookeeper 的用户。
接着,在各节点的数据目录内创建名为 `myid` 的文本文件用于指定当前实例的身份编号(即上面提到的 x),例如在 server1 中执行命令:
```bash
echo "1" > /var/lib/zookeeper/myid
```
其他两台依次类推设置为 2 和 3 即可。
#### 启动集群
完成上述准备工作之后就可以通过脚本来启动各个 Zookeeper 进程了。由于是集群模式,则需要针对不同的配置文件分别启动服务进程:
```bash
bin/zkServer.sh start conf/zoo1.cfg
bin/zkServer.sh start conf/zoo2.cfg
bin/zkServer.sh start conf/zoo3.cfg
```
这三条指令应当分别在对应的物理机上执行以便于形成完整的 Zookeeper 集群结构[^4]。
#### 查看状态
可以利用下面这条命令查看某个特定 Zookeeper 节点的状态:
```bash
zkServer.sh status
```
正常情况下可以看到类似如下的输出表明其角色身份(Leader 或 Follower),并且确认 JMX 已启用以及使用的配置文件位置等信息[^3]:
```
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: leader/follower
```
阅读全文