kafka安装部署及生产消费实例

废话不多说,上干货。

部署背景:选用单节点模式,集群模式类似操作即可。

需要先安装JDK,注意kafka3.x不再支持JDK8,需安装JDK11或JDK17:

sudo yum install jdk -y
source /etc/profile

在kafka3.x版本中,使用Kraft协议代替zookeeper进行集群的Controller选举,本例子不使用zookeeper。

下载kafka:

yum install kafka -y 或者

下载解压tar包,解压到路径:/apprun/kafka/

KRaft模式下的配置需要进入Kraft目录,找到server.properties文件:

node.id、kakfa_IP、log.dirs根据实际修改:

vi /apprun/kafka/config/kraft/server.properties
process.roles=broker,controller
node.id=0
#kakfa_IP根据实际修改
controller.quorum.voters=1@kakfa_IP:9093
listeners=PLAINTEXT://kakfa_IP:9092,CONTROLLER://kakfa_IP:9093
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://kakfa_IP:9092
controller.listener.names=CONTROLLER
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/apprun/kafka/logs/kraft-combined-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000

创建日志的目录并修改权限:

mkdir -p /apprun/kafka/logs/kraft-combined-logs

chown -R apprun:apprun /apprun/kafka/

配置文件说明

node.id

作为集群中的节点 ID,唯一标识,在不同的服务器上这个值不同。其实就是kafka2.0中的broker.id,只是在3.0版本中kafka实例不再只担任broker角色,也有可能是controller角色,所以改名叫做node节点

process.roles

一个节点可以充当broker或controller或两者兼而有之。多个角色用逗号分开

listeners: broker

使用9092端口,而kraft controller控制器将使用9093端口

advertised.listeners

指定kafka通过代理暴露的地址,如果都是局域网使用,就配置PLAINTEXT://:9092即可

controller.quorum.voters

用于指定controller主控选举的投票节点,所有process.roles包含controller角色的规划节点都要参与

log.dirs

kafka 将存储数据的日志目录,在准备工作中创建好的目录

格式化存储目录,生成一个唯一的集群ID

/apprun/kafka/bin/kafka-storage.sh random-uuid  

执行以下命令:

/apprun/kafka/bin/kafka-storage.sh format  -t [上一步生成的集群ID] -c /apprun/kafka/config/kraft/server.properties

格式化操作完成之后,log.dirs​目录下多出一个meta.properties文件​,存储了当前的kafka节点的id(node.id),当前节点属于哪个集群(cluster.id)。

修改开机kafka自启动文件

sudo vi /usr/lib/systemd/system/kafka.service

ExecStart=/apprun/kafka/bin/kafka-server-start.sh /apprun/kafka/config/kraft/server.properties

#重新加载

sudo systemctl daemon-reload

#启动kafka

sudo systemctl start kafka

#查看kafka状态

sudo systemctl status kafka

#重启kafka

sudo systemctl restart kafka

#停止kafka

sudo systemctl stop kafka

#创建topic

/apprun/kafka/bin/kafka-topics.sh --create --topic XXX --bootstrap-server kakfa_IP:9092

#查看topic

/apprun/kafka/bin/kafka-topics.sh --list --bootstrap-server kakfa_IP:9092

#查看消息

/apprun/kafka/bin/kafka-topics.sh --describe --topic XXX --bootstrap-server kakfa_IP:9092

#修改分区

/apprun/kafka/bin/kafka-topics.sh --alter --partitions XXX --topic XXX --bootstrap-server kakfa_IP:9092

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值