引言
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费。
kafka broker集群搭建
kafka 下载、解压
wget http://apache.opencas.org/kafka/0.9.0.1/kafka_2.11-0.9.0.1.tgz
tar -xzf kafka_2.11-0.9.0.0.tgz
kafka broker配置文件修改
修改kafka根目录下的config/server.properties
broker.id=0 #整个集群内唯一id号,整数,一般从0开始
listeners=PLAINTEXT://192.168.6.56:9092 #协议、当前broker机器ip、端口,此值可以配置多个,应该跟SSL等有关系,更多用法尚未弄懂,这里修改为ip和端口。
port=9092 #broker端口
host.name=192.168.6.56 #broker 机器ip
log.dirs=/zyxx_data/kafka-logs/kafka00 #kafka存储数据的目录
zookeeper.connect=192.168.6.56:2181,192.168.6.56:2182,192.168.6.56:2183 #zookeeper 集群列表
kafka broker多节点配置
kafka多节点配置,可以像zookeeper一样把软件目录copy多份,修改各自的配置文件。这里介绍另外一种方式:同一个软件目录程序,但使用不同的配置文件启动
使用不同的配置文件启动多个broker节点,这种方式只适合一台机器下的伪集群搭建,在多台机器的真正集群就没有意义了
把kafka根目录下的config/server.properties copy两份,名称分别修改为:server-1.properties 、server-2.properties。各自修改他们的配置如下:
config/server-1.properties
broker.id=1
listeners=PLAINTEXT://192.168.6.56:9093
port=9093
host.name=192.168.6.56
log.dirs=/zyxx_data/kafka-logs/kafka01
zookeeper.connect=192.168.6.56:2181,192.168.6.56:2182,192.168.6.56:2183
config/server-2.properties
broker.id=2
listeners=PLAINTEXT://192.168.6.56:9094
port=9094
host.name=192.168.6.56
log.dirs=/zyxx_data/kafka-logs/kafka02
zookeeper.connect=192.168.6.56:2181,192.168.6.56:2182,192.168.6.56:2183
kafka 集群启动
进入到kafka目录,执行
bin/kafka-server-start.sh -daemon config/server.properties
bin/kafka-server-start.sh -daemon config/server-1.properties
bin/kafka-server-start.sh -daemon config/server-2.properties
"-daemon" 参数代表以守护进程的方式启动kafka server。
官网及网上大多给的启动命令是没有"-daemon"参数,如:“bin/kafka-server-start.sh config/server.properties &”,但是这种方式启动后,如果用户退出的ssh连接,进程就有可能结束,具体不清楚为什么。
我们可以通过以下命令查看kafka server是否已启动
ps -ef | grep config/server
总结
以 上就是我对Java开发-如何搭建一个kafka broker集群与如何实现kafka集群启动 问题及其优化总结,分享给大家,觉得收获的话可以点个关注收藏转发一波喔,谢谢大佬们支持!
最后,每一位读到这里的网友,感谢你们能耐心地看完。希望在成为一名更优秀的Java程序员的道路上,我们可以一起学习、一起进步!都能赢取白富美,走向架构师的人生巅峰!
想了解学习Java方面的技术内容以及Java技术视频的内容可加群:722040762 验证码:简书(666 必过)欢迎大家的加入哟!