Centos7环境下 Kafka安装及配置
前言
本教程是在同一台Linux服务器上搭建三个节点Kafka集群,Zookeeper是使用单独安装的(安装教程),同学们也可以使用Kafka中自带的Zookeeper(可网上查询)。
一.下载
1 | wget https: //mirrors .bfsu.edu.cn /apache/kafka/2 .7.0 /kafka_2 .12-2.7.0.tgz |
二.解压并复制到指定目录(通常放在/usr/local),并重命名为kafka0
tar -zvxf kafka_2.12-2.7.0.tgz -C /usr/local/ cd /usr/local mv kafka_2.12-2.7.0 kafka0
三.配置
kafka配置文件:/usr/local/kafka0/config/server.properties
1 | vim /usr/local/kafka0/config/server .properties |
broker.id是kafka broker的编号,集群里每个broker的id需不同,默认为0,如果使用集群,递增该编号即可。
如果允许外网访问,需要配置 advertised.listeners=PLAINTEXT://<公网IP>:9092
listeners=PLAINTEXT://<内网IP>:9092
注意:外网访问
listeners=PLAINTEXT://<内网IP>:9092 advertised.listeners=PLAINTEXT://<公网IP>:9092
设置Zookeeper地址,如果Zookeeper采用了集群模式,多个地址间使用英文逗号隔开
num.partitions 为新建Topic的默认Partition(分区)数量,默认为1,partition数量提升,一定程度上可以提升并发性
日志存放位置,如果kafka集群分布在不同机器上,日志存在位置可以保持默认,如果同一机器,需要配置成不同的目录
若目录不存在,则创建相应的目录
cd /usr/local/kafka0 mkdir logs
内部topic配置,为保证消息的高可用,建议副本集大于1(副本集数要<=broker数(集群),本案例是三节点,故设置为3)
default.replication.factor为kafka保存消息的副本数,如果一个副本失效了,另一个还可以继续提供服务,是在自动创建topic时的默认副本数
四.其余两个节点安装配置
根据kafka0复制两份,分别命名为kafka1,kafka2,并对配置文件做相应修改, 尤其是brokerid、IP地址和日志目录。
五.启动及停止(以kafka0为例,其余节点相似)
1.启动:
cd /usr/local/kafka0 bin/kafka-server-start.sh -daemon config/server.properties
判断是否启动成功:
方法一:
查看启动日志,如有started字样说明启动成功:
cat logs/kafkaServer.out
如果机器内存不够,会报内存不足。
可以编辑
bin/kafka-server-start.sh
修改 export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
为 export KAFKA_HEAP_OPTS="-Xmx512M -Xms256M"
方法二:使用jps命令,如有kafka字样,说明启动成功。
2.停止
bin/kafka-server-stop.sh -daemon config/server.properties
六.测试(以下测试是在只有一个broker环境下进行,机器配置太低了,起不了三个broker)
1. 创建topic,名为test
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
2.查看主题列表
bin/kafka-topics.sh --list --zookeeper localhost:2181
3.查看特定主题
bin/kafka-topics.sh --zookeeper localhost:2181 --describe test
4.发消息
bin/kafka-console-producer.sh --broker-list 101.132.236.198:9092 --topic test
5.接收消息
kafka0]# bin/kafka-console-consumer.sh --bootstrap-server 101.132.236.198:9092 --topic test --from-beginning
6.删除主题
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test
本文来自博客园,作者:咔咔皮卡丘,转载请注明原文链接:https://www.cnblogs.com/anquing/p/14523046.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库