欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

kafka集群的安装(二)----zookeeper集群

程序员文章站 2024-01-15 15:34:52
...

一、kafka集群

       书接前文

       zookeeper下载地址 先将下载的zookeeper上传到服务器,解压。

       1.1:首先在/etc/profile中配置你的zookeeper_home

kafka集群的安装(二)----zookeeper集群

 

       1.2:修改zookeeper的配置文件

               修改 ~/conf下的zoo_example.cfg模板的文件名为 zoo.cfg即可

               其实这个文件中的配置项并不多,随便解释一下吧

配置项 默认值 说明
tickTime 2000ms zookeeper中的一个通用频率,所有动作都以这个频率来执行
initLimit 10(次) initLimit个tickTime后,如果follower仍不能从leader中同步数据,则认为follower连接失败
syncLimit 5(次) syncLimit个tickTime后,如果leader仍不能收到follower的应答,则认为leader已下线
dataDir /xx/yyy/zz 存储快照与事务日志的路径,由于写事务日志会影响zookeeper性能,建议配置dataLogDir
dataLogDir /mm/nn/o 事务日志输出路径
clientPort 2181 zookeeper对外的端口

 

       1.3:配置集群信息

       这一步,就是把你的/etc/hosts中的那些都写到zoo.cfg中即可,上个示例图吧

kafka集群的安装(二)----zookeeper集群

       如上图所示,这些就是我的zoo.cfg文件中的配置,最后的server.1、server.2、server.3就是我的三台服务器

       但是,从这里,我们看不出哪个zookeeper是leader,哪个是follower,,,,那是当然,它们还没有选举呢

       其实,我主要想说的是,看到我的server后面的1、2、3了么,这三个数字不是浪得虚名,

       比如server.1.这台服务器,我们就需要在你的 ${dataDir}对应的地址下,新增一个名叫myid的文件,在里面写上1

       同样,对于server.2和server.3这两台服务器的对应 ${dataDir}路径下,也加一个叫 myid的文件,分别写上2和3

 

       最后说一句,一定要保证你的zookeeper集群中的每一个zookeeper的conf路径下的zoo.cfg文件一致,切记。

 

       1.4:启动和查看

       上面都做完了之后,就可以逐个启动zookeeper了,在~/bin下面,执行zkServer.sh start启动zookeeper

       在所有zookeeper都启动完毕后,可以通过命令 zkServer.sh status来查看当前zookeeper是leader还是follower

 

        1.5:问题

       在启动过程中我遇到了一个报错,这个错误信息在每一个zookeeper节点中都有出现

address xxCentos7One/192.168.122.21:3888
java.net.NoRouteToHostException: No route to host (Host unreachable)

       初步认为是路由不通,考虑是否防火墙的原因

       关闭所有的firewall后,问题解决

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

 

 

 

 

相关标签: 集群 zookeeper