centos7 下 kafka 的 kraft 模式简易安装

1. 下载安装包

点击下载

centos7 下 kafka 的 kraft 模式简易安装_第1张图片

上传到 linux 服务器的 /opt/software 目录下

ps:/opt/software 是笔者选的放置安装包的位置,该位置可以根据习惯任意变更

centos7 下 kafka 的 kraft 模式简易安装_第2张图片

2. 解压安装

2.1. 解压,并重命名文件夹

ps:/opt/module/ 是笔者选的软件安装的位置,该位置可以根据习惯任意变更

# 解压文件到指定目录
tar -zxvf kafka_2.12-3.4.0.tgz -C /opt/module/

# 修改目录名称
cd /opt/module
mv kafka_2.12-3.4.0 kafka2.12_3.4.0

2.2. 修改环境变量

# 打开或者创建一个环境变量
vim /etc/profile.d/my_env.sh

# 添加以下环境变量
export KAFKA_HOME=/opt/module/kafka2.12_3.4.0
export PATH=$PATH:$KAFKA_HOME/bin

# 让环境变量起作用,【客户端也可以通过重连使其生效】
source /etc/profile.d/my_env.sh

2.3. 修改配置文件

这里采用 kraft 模式,相关配置文件地址:/opt/module/kafka2.12_3.4.0/config/kraft/server.properties

变更修改以下内容

# 此服务器的角色,多个用 逗号 隔开
# 设置这个值将使我们处于 KRaft 模式
process.roles=broker,controller

# 与此实例的角色关联的节点id,集群部署时保持全局唯一
node.id=1

# controller 角色选举的套接字,集群部署时用 逗号 隔开
# 每个套接字的开头和 node.id 保持一致
controller.quorum.voters=1@mitchell-101:9093

# 对外暴露的可以被客户端连接的地址
advertised.listeners=PLAINTEXT://mitchell-101:9092

# 日志文件的保存地址,多个地址可以用 逗号 隔开
log.dirs=/opt/module/kafka2.12_3.4.0/data

2.4. 修改堆栈内存

  • 由于笔者的虚拟机资源有限,并且只是测试用,这里将内存调小

  • kafka 本质就是运行在 jvm 的 java 程序,所以设置堆栈内存的方式和正常 java 程序相同

  • 我们找到相关启动脚本地址:/opt/module/kafka2.12_3.4.0/kafka-server-start.sh

  • 修改以下内容,可以看到 默认是 1g,我们这里 修改成 256m(再小好像就起不来了)

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx256m -Xms256m"
fi

2.5. kraft 模式启动

# 进入到 kafka 的根目录
cd  /opt/module/kafka2.12_3.4.0

# 获取秘钥,执行结果为:wrG5cTGRS9S2aiOTG-_cdg
./bin/kafka-storage.sh random-uuid

# 初始化,ps:下方为一条命令
kafka-storage.sh format -t wrG5cTGRS9S2aiOTG-_cdg -c /opt/module/kafka2.12_3.4.0/config/kraft/server.properties

# 启动集群
kafka-server-start.sh -daemon /opt/module/kafka2.12_3.4.0/config/kraft/server.properties

# 查看是否启动成功
jps

image-20230306205322744

3. 生产者和消费者测试

# 创建一个 topic
# --create:表示创建
# --topic tp01:主题名称
# --partitions:分区数量,一般根据具体的 broker 数量指定,笔者这里部署的单节点,所以选 1
# --replication-factor 1:副本数量,一般这里配置2,但是笔者这里是单节点,副本没有必要,所以选 1
# --bootstrap-server mitchell-101:9092:服务器地址
kafka-topics.sh --create --topic tp01 --partitions 1 --replication-factor 1 --bootstrap-server mitchell-101:9092

# 创建一个消费者
# --from-beginning:表示从头开始消费,否则从最新的数据消费
kafka-console-consumer.sh --bootstrap-server mitchell-101:9092 --topic tp01
kafka-console-consumer.sh --bootstrap-server mitchell-101:9092 --from-beginning --topic tp01

# 创建一个生产者
# --broker-list mitchell-101:9092:服务器地址
kafka-console-producer.sh --broker-list mitchell-101:9092 --topic tp01

你可能感兴趣的:(java,centos7,kafka,linux,java)