centos kafka单机离线安装&kafka服务化&kafka tool连接kafka

a.版本&环境

linux版本:centos7.6

kafka: kafka_2.12

zookeeper:zookeeper_3.6.3(之前已经安装:linux zookeeper安装并服务化-CSDN博客)

java:1.8(之前已经安装)

windows kafka tool: 2.1

b.kafka单机安装

1.切换目录 cd downloads/,利用rz命令,上传kafka 及kafka eagle压缩包至服务器

2.解压文件:tar -zxvf kafka_2.12-2.6.2.tgz

创建文件夹:mdkir -p /opt/tool/kafka

创建文件夹:mdkir -p /home/kafka/log

剪切文件至指定目录:mv kafka_2.12-2.6.2 /opt/tool/kafka/

切换目录:cd /opt/tool/kafka/kafka_2.12-2.6.2/

3.修改配置并开放9092端口

执行:vim config/server.properties,修改以下配置

#机器在集群中的唯一标识, 和zookeeper的myid性质一样,每台服务器的broker.id都不能相同

broker.id=151

#kafka对外提供服务的端口默认是9092 这个IP不能用0.0.0.0这种

复制代码
listeners=PLAINTEXT://192.168.42.151:9092 

advertised.listeners=PLAINTEXT://192.168.42.151:9092

消息存放的目录, 这个目录可以配置为", "逗号分割的表达式, 上面的num.io.threads要大于这个

目录的个数, 如果配置多个目录, 新创建的topic将消息持久化的地方是, 当前以逗号分割的目录中,

哪个分区数最少就放那一个

log.dirs=/home/kafka/log

#每个日志文件删除之前保存的时间, 默认168小时(7天)

#发送到Queue中的消息, 在被消费之后, 不会马上被删掉, 而是有后台进程在4天后去删除

log.retention.hours=96

offsets.topic.replication.factor=1

transaction.state.log.replication.factor=1

transaction.state.log.min.isr=1

zookeeper.connect=192.168.42.151:2181

#Timeout in ms for connecting to zookeeper, 默认6秒, 改成60秒, 因为systemd文件自启动

kafka时候需要等待zookeeper先启动完毕

zookeeper.connection.timeout.ms=60000

c.kafka测试及常用指令
  1. 切换目录:cd/opt/tool/kafka/kafka_2.12-2.6.2/bin

2.创建my-test1,my-test topic

./kafka-topics.sh --bootstrap-server 192.168.42.151:9092 --create --topic my-test topic --replication-factor 1 --partitions 3

./kafka-topics.sh --bootstrap-server 192.168.42.151:9092 --create --topic my-test1 topic --replication-factor 1 --partitions 3

3.修改topic分区数

./kafka-topics.sh --bootstrap-server 192.168.42.151:9092 --alter --topic my-test1 topic --partitions 5

4.查看topic列表

./kafka-topics.sh --list --bootstrap-server 192.168.42.151:9092

5.删除topic

./kafka-topics.sh --bootstrap-server 192.168.42.151:9092 --delete --topic my-test topic

6.发布消息

./kafka-console-producer.sh --bootstrap-server 192.168.42.151:9092 --topic my-test1

7.消费消息

./kafka-console-consumer.sh --bootstrap-server 192.168.42.151:9092 --topic my-test1 --group group-test

8.查看消费组列表

./kafka-consumer-groups.sh --bootstrap-server 192.168.42.151:9092 --list

9.查看消费者组偏移量

./kafka-consumer-groups.sh --bootstrap-server 192.168.42.151:9092 --describe --group group-test

10.查看消费组members

./kafka-consumer-groups.sh --bootstrap-server 192.168.42.151:9092 --describe --group group-test --members

./kafka-consumer-groups.sh --bootstrap-server 192.168.42.151:9092 --describe --group group-test --state

./kafka-consumer-groups.sh --bootstrap-server 192.168.42.151:9092 --describe --group group-test --members --verbose

11.指定内容查看消息

复制代码
./kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --topic paymentmgt_download_asyn_deal --from-beginning | grep "1291248658964021250"
d.kafka服务化

切换目录:cd /usr/lib/systemd/system

创建文件:cd /usr/lib/systemd/system

打开文件并新增如下内容:vim kafka.service

Uint

Description=Apache Kafka server (broker)

Documentation=http://kafka.apache.org/documentation.html

Requires=network.target remote-fs.target

After=network.target remote-fs.target zookeeper.service

Service

Type=forking

Environment=JAVA_HOME=/opt/tool/java/jdk1.8.0_311

ExecStart=/opt/tool/kafka/kafka_2.12-2.6.2/bin/kafka-server-start.sh -daemon /opt/tool/kafka/kafka_2.12-2.6.2/config/server.properties

ExecStop=/opt/tool/kafka/kafka_2.12-2.6.2/bin//kafka-server-stop.sh

Restart=always

StartLimitInterval=60

StartLimitBurst=86400

Install

WantedBy=multi-user.target

使kafka.service立即生效执行命令:systemctl daemon-reload

e.kafka tool连接kafka

开放zookeeper端口:firewall-cmd --zone=public --add-port=2181/tcp --permanent

开放kafka端口:firewall-cmd --zone=public --add-port=2181/tcp --permanent

使增加的端口立即生效:systemctl daemon-reload

如果连接不成功,可以通过查看端口是否被用,来判断zookeeper及kafka是否启动成功:netstat -tunlp |grep 2181

netstat -tunlp |grep 9092

相关推荐
yumgpkpm11 小时前
2026软件:白嫖,开源,外包,招标,晚进场(2025年下半年),数科,AI...中国的企业软件产业出路
大数据·人工智能·hadoop·算法·kafka·开源·cloudera
迎仔21 小时前
09-消息队列Kafka介绍:大数据世界的“物流枢纽”
大数据·分布式·kafka
indexsunny21 小时前
互联网大厂Java面试实录:Spring Boot微服务与Kafka消息队列实战解析
java·spring boot·微服务·面试·kafka·电商·技术解析
indexsunny1 天前
互联网大厂Java面试实战:从Spring Boot到微服务架构的技术问答解析
java·spring boot·redis·微服务·kafka·jwt·flyway
liux35282 天前
MySQL -> Canal -> Kafka-> ES 完整数据同步流程详解
mysql·elasticsearch·kafka
Byte Beat2 天前
使用docker单机部署kafka,以KRaft模式运行,不使用zookeeper,
docker·kafka·kraft
你这个代码我看不懂2 天前
Kafka常见问题解答
分布式·kafka
小二·2 天前
Go 语言系统编程与云原生开发实战(第8篇)消息队列实战:Kafka 事件驱动 × CQRS 架构 × 最终一致性(生产级落地)
云原生·golang·kafka
what丶k3 天前
深度解析:以Kafka为例,消息队列消费幂等性的实现方案与生产实践
java·数据结构·kafka
liux35283 天前
Kafka 4.1.1 部署指南:单机版与安全认证配置
安全·kafka·linq