zookeeper集群配置

1.

创建了4台虚拟机,分别配置其/etc/hosts文件,使其互相能ping通

192.168.213.128  master

192.168.213.129  slave1

192.168.213.131  slave2

192.168.213.130  slave3

全部机器上都安装了openjdk7-sdk

 

2.

Apache官网上下载了最新的zookeeper

解压到master:/home/storm/storm/zookeeper目录下

修改/conf/zoo.cfg文件

复制代码
插入以下的字段

server.1=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

server.4=slave3:2888:3888

修改dataDir字段的值

dataDir=/home/storm/storm/zookeeper
复制代码

 

 

3.

然后将zookeeper文件复制到各个slave

scp -r zookeeper / storm@slave1:/home/storm/storm/zookeeper

scp -r zookeeper / storm@slave2:/home/storm/storm/zookeeper

scp -r zookeeper / storm@slave3:/home/storm/storm/zookeeper

这时报错说端口拒绝,原来是openssh没装,装一下就行了

 

4.

然后将每个机器下的dataDir目录下新建一个myid文件,其中的值是对应的server.X

对于我的情况就是:

master:/home/storm/storm/zookeeper下新建一个myid文件,其中写了1

slave1:/home/storm/storm/zookeeper/myid  2

slave2:/home/storm/storm/zookeeper/myid  3

slave3:/home/storm/storm/zookeeper/myid  4

myid里的数字一定不能写错,否则集群无法创建,我一开始写错,然后调了半天才发现问题

 

5.

然后所有节点运行/bin/zkServer.sh start

所有节点启动成功后,集群会自动选举出leader,其他的机器自然变成follower

运行/bin/zkServer.sh status,可以查看状态

 

有一点需要注意的是,集群没有完全运行起来的时候,zookeeper.out里会全是报错信息

connection refuse什么的

这是正常的,因为此时集群里没有足够的机器,当后续节点成功启动之后,就没有问题了

posted @   qeDVuHG  阅读(676)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示