kafka集群部署
准备
- kafka集群 3台服务器
- Zookeeper集群 3台服务器
ZooKeeper简介
ZooKeeper是一个开源的分布式应用程序协调服务,是Google的Chubby一个开源的实现。ZooKeeper为分布式应用提供一致性服务,提供的功能包括:分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)、分布式锁(Distributed Lock)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。
ZooKeeper本身可以以单机模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。
Kafka部署
Kafka节点配置
1 | #创建并进入下载目录 |
1 | #进入应用目录 |
通用配置
1 | # A comma separated list of directories under which to store log files |
分节点配置
1 | broker.id=0 |
防火墙配置
1 | #开放端口 |
启动Kafka
1 | #进入kafka根目录 |
可能错误
可能提示Unrecognized VM option PrintGCDateStamps
修改bin/kafka-run-class.sh
255行
1 | JAVA_MAJOR_VERSION=$("$JAVA" -version 2>&1 | sed -E -n 's/.* version "([0-9]*).*$/\1/p') |
Zookeeper部署
可以参考ZooKeeper集群部署指南
Docker 部署
使用docker部署kafka集群也十分方便,不过需要注意,配置hostname等
https://github.com/wurstmeister/kafka-docker
https://github.com/bitnami/bitnami-docker-kafka
https://hub.docker.com/r/wurstmeister/kafka
参考文章
https://www.cnblogs.com/kentalk/p/kafka-cluster-deploy-guide.html
https://blog.csdn.net/diandianxiyu_geek/article/details/112511533
https://github.com/wurstmeister/kafka-docker