请放心观看,已在正式环境部署验证,流程无问题!
所用系统为国产化麒麟银河 aarch64系统,部署时间2024年9月份!
[root@ecs-xxxxxx-xxx ~]# cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Sword)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Sword)"
ANSI_COLOR="0;31"
[root@ecs-xxxxxx-xxx ~]#
一、下载kafka软件包
1.无网络服务器下载kafka安装包
前往kafka官网下载地址:Apache Kafka
将下载的软件包上传至服务器:
2.有网络服务器下载kafka安装包
bash
#使用wget方式下载
wget https://downloads.apache.org/kafka/3.7.1/kafka_2.13-3.7.1.tgz
执行过程如下:
[root@localhost kafka]# wget https://downloads.apache.org/kafka/3.7.1/kafka_2.13-3.7.1.tgz
--2024-07-15 13:10:34-- https://downloads.apache.org/kafka/3.7.1/kafka_2.13-3.7.1.tgz
正在解析主机 downloads.apache.org (downloads.apache.org)... 135.181.214.104, 88.99.208.237, 2a01:4f9:3a:2c57::2, ...
正在连接 downloads.apache.org (downloads.apache.org)|135.181.214.104|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:120235344 (115M) [application/x-gzip]
正在保存至: "kafka_2.13-3.7.1.tgz"
100%[=======================================================================================================================================>] 120,235,344 7.08MB/s 用时 25s
2024-07-15 13:11:00 (4.63 MB/s) - 已保存 "kafka_2.13-3.7.1.tgz" [120235344/120235344])
二、解压kafka安装包
指定解压目录 /usr/local
#解压软件包
tar -zxvf kafka_2.13-3.7.1.tgz -C /usr/local
三、kafka配置相关配置
1.配置环境变量
#vim /etc/profile
export JAVA_HOME=/usr/local/jdk/java #JDK安装目录
export ZOOKEEPER_HOME=/usr/local/zookeeper #zookeeper安装目录
export KAFKA_HOME=/usr/local/kafka #kafka安装目录
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$KAFKA_HOME/bin
使环境变量生效:source /etc/profile
2.kafka相关目录创建
#创建kafka安装目录
mkdir -p /usr/local/kafka
#kafka数据目录
mkdir -p /data/kafka/kafka-logs
3.编辑kafka配置文件
三个节点都要进行配置
vim /usr/local/kafka/config/server.properties
节点1配置 ,注意:broker.id是每个broker在集群中的唯一标识,正整数
# 编辑kafka1 的配置
broker.id=1
# 连接zookeeper的集群地址
zookeeper.connect=192.168.44.128:2181,192.168.44.129:2181,192.168.44.130:2181
advertised.listeners=PLAINTEXT://192.168.44.128:9092
log.dirs=/data/kafka/kafka-logs
节点2配置
# 编辑kafka2 的配置
broker.id=2
# 连接zookeeper的集群地址
zookeeper.connect=192.168.44.128:2181,192.168.44.129:2181,192.168.44.130:2181
advertised.listeners=PLAINTEXT://192.168.44.129:9092
log.dirs=/data/kafka/kafka-logs
节点3配置
# 编辑kafka3 的配置
broker.id=3
# 连接zookeeper的集群地址
zookeeper.connect=192.168.44.128:2181,192.168.44.129:2181,192.168.44.130:2181
advertised.listeners=PLAINTEXT://192.168.44.130:9092
log.dirs=/data/kafka/kafka-logs
4.启动kafka服务并验证
#启动kafka服务
kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
#集群停止
kafka-server-stop.sh
netstat -tna|grep -e 9092 -e 2181
四、kafka相关操作
创建topic 、查看topic、生产数据、消费数据进行测试
1.创建 topic
cd /usr/local/kafka/kafka_2.13-3.5.1
./bin/kafka-topics.sh --bootstrap-server broker_host:port --create --topic my_topic_name \
--partitions 20 --replication-factor 3
注 :此命令是在kafka部署目录中操作
kafka-topics.sh --bootstrap-server 172.18.12.40:9092 --create --topic my_topic_name
kafka-topics.sh --bootstrap-server 172.18.12.40:9092 --delete --topic my_topic_name
--列出主题
kafka-topics.sh --list --bootstrap-server 172.18.12.40:9092
my_topic_name
参数 详解 :
--bootstrap-server : kafka集群地址
--create :执行创创建操作
--topic :topic名称
--partitions :topic 的分区数
--replication-factor topic 的副本
--config: 可选,创建 topic指定topic参数 配置
创建生产者生产数据
[root@kafka1 bin]# kafka-console-producer.sh --broker-list 172.18.12.40:9092,172.18.12.41:9092,172.18.12.42:9092 --topic my_topic_name
>这是一个测试
测试消费者是否可以消费数据
[root@kafka2 config]# kafka-console-consumer.sh --bootstrap-server 172.18.12.40:9092 --topic my_topic_name --from-beginning
这是一个测试
创建topic,查看topic
[root@localhost kafka-logs]# kafka-topics.sh --bootstrap-server 192.168.44.128:9092 --create --topic my_topic_name
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic my_topic_name.
[root@localhost kafka-logs]# kafka-topics.sh --list --bootstrap-server 192.168.44.128:9092
my_topic_name
[root@localhost kafka-logs]#
其他机器可以看到我们创建的topic
[root@localhost config]# kafka-topics.sh --list --bootstrap-server 192.168.44.129:9092
[root@localhost config]# kafka-topics.sh --list --bootstrap-server 192.168.44.129:9092
my_topic_name
[root@localhost config]#