Kafka集群搭建

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: kafka版本 kafka_2.12-2.2.0.tgz百度网盘链接:https://pan.baidu.com/s/1LAfXpdVg9IKZNGe8OgBgcQ 提取码:sb71 zookeeper配置 vi /usr/local/kafka/config/zookeeper.properties 配置内容:dataDir=/usr/local/kafka/my_dir/zoo

kafka版本

kafka_2.12-2.2.0.tgz
百度网盘链接:https://pan.baidu.com/s/1LAfXpdVg9IKZNGe8OgBgcQ
提取码:sb71

zookeeper配置
 vi /usr/local/kafka/config/zookeeper.properties

配置内容:
dataDir=/usr/local/kafka/my_dir/zookeeper/data
clientPort=2181
initLimit=10
syncLimit=5
maxClientCnxns=0
server.1=192.168.1.4:2888:3888
server.2=192.168.1.5:2888:3888
server.3=192.168.1.6:2888:3888
注意:1 dataLogDir路径未配置(可以尝试配置),下面启动命令指定了日志输出路径 2 initLimit如果未配置,启动会提示该参数未配置 3 myid文件需要写在dataDir目录下面,里面存储的id和server.x这里的x相对应。

踩坑:自己搭建zookeeper集群未能成功(brokerIds未写入zookeeper节点),使用kafka目录的zookeeper配置zookeeper集群,成功了。自己搭建的zookeeper集群,用dubbo连接是可以正常使用的。但是./zkServer.sh status命令查看时,提示service可能没启动

启动zookeeper
nohup /usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties >> /usr/local/kafka/my_dir/zookeeper/log/my.file 2>&1 &

查看zookeeper日志
tail -100f /usr/local/kafka/my_dir/zookeeper/log/my.file

kafka配置
vi /usr/local/kafka/config/server.properties


配置内容(主要列出):
//每台机器上的id必须不同
broker.id=0
//日志目录
log.dirs=/usr/local/kafka/my_dir/kafka/log
//本机ip和端口
listeners=PLAINTEXT://192.168.1.5:9092
//zookeeper地址
zookeeper.connect=192.168.1.4:2181,192.168.1.5:2181,192.168.1.6:2181

启动kafka
nohup /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties >> /usr/local/kafka/my_dir/kafka/log/ka.file 2>&1 &

查看kafka日志
tail -100f /usr/local/kafka/my_dir/kafka/log/ka.file

创建topic
./kafka-topics.sh --create --zookeeper 192.168.1.6:2181 --replication-factor 2 --partitions 2 --topic myTopic

测试关闭第二台机器kafka
结果:节点内容正确为0,2,全部启动为0,1,2

发送消息、接收消息
jar包部署到云服务器,消息收发成功。

最后说明
机器是云上的3台机器(同一局域网,每台机器双网卡,一个外网的ip、一个内网的ip)。
我在家里可以调用部署在云上的zookeeper集群(zookeeper集群部署方法基本和上面(kafka内部的zookeeper集群)类似,不同的就是单独下载zookeeper包)。
我本机启动的dubbo服务是可以使用云上搭建的zookeeper集群(节点写入、调用正常)。但是,kafka就是无法写入brokerIds信息到zk的节点上。kafka启动未发现明显异常。
配置kafka内部的zookeeper.properties搭建集群,是成功的。

 

目录
相关文章
|
4月前
|
消息中间件 安全 Kafka
2024年了,如何更好的搭建Kafka集群?
我们基于Kraft模式和Docker Compose同时采用最新版Kafka v3.6.1来搭建集群。
932 2
2024年了,如何更好的搭建Kafka集群?
|
4月前
|
消息中间件 存储 数据可视化
kafka高可用集群搭建
kafka高可用集群搭建
109 0
|
4月前
|
消息中间件 Kafka Linux
Apache Kafka-初体验Kafka(03)-Centos7下搭建kafka集群
Apache Kafka-初体验Kafka(03)-Centos7下搭建kafka集群
125 0
|
28天前
|
消息中间件 Kafka 测试技术
【Kafka揭秘】Leader选举大揭秘!如何打造一个不丢失消息的强大Kafka集群?
【8月更文挑战第24天】Apache Kafka是一款高性能分布式消息系统,利用分区机制支持数据并行处理。每个分区含一个Leader处理所有读写请求,并可有多个副本确保数据安全与容错。关键的Leader选举机制保障了系统的高可用性和数据一致性。选举发生于分区创建、Leader故障或被手动移除时。Kafka提供多种选举策略:内嵌机制自动选择最新数据副本为新Leader;Unclean选举快速恢复服务但可能丢失数据;Delayed Unclean选举则避免短暂故障下的Unclean选举;Preferred选举允许基于性能或地理位置偏好指定特定副本为首选Leader。
38 5
|
26天前
|
消息中间件 监控 Java
联通实时计算平台问题之监控Kafka集群的断传和积压情况要如何操作
联通实时计算平台问题之监控Kafka集群的断传和积压情况要如何操作
|
28天前
|
消息中间件 监控 Java
【Kafka节点存活大揭秘】如何让Kafka集群时刻保持“心跳”?探索Broker、Producer和Consumer的生死关头!
【8月更文挑战第24天】在分布式系统如Apache Kafka中,确保节点的健康运行至关重要。Kafka通过Broker、Producer及Consumer间的交互实现这一目标。文章介绍Kafka如何监测节点活性,包括心跳机制、会话超时与故障转移策略。示例Java代码展示了Producer如何通过定期发送心跳维持与Broker的连接。合理配置这些机制能有效保障Kafka集群的稳定与高效运行。
27 2
|
4月前
|
消息中间件 数据可视化 关系型数据库
ELK7.x日志系统搭建 4. 结合kafka集群完成日志系统
ELK7.x日志系统搭建 4. 结合kafka集群完成日志系统
191 0
|
2月前
|
消息中间件 Kafka
kafka 集群环境搭建
kafka 集群环境搭建
58 8
|
1月前
|
消息中间件 Java Kafka
Linux——Kafka集群搭建
Linux——Kafka集群搭建
34 0
|
1月前
|
消息中间件 Kafka Apache
部署安装kafka集群
部署安装kafka集群