Kafka下载与安装教程(国产化生产环境无联网服务器部署实操)

请放心观看,已在正式环境部署验证,流程无问题!

所用系统为国产化麒麟银河 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]#
相关推荐
前端世界31 分钟前
HarmonyOS开发实战:鸿蒙分布式生态构建与多设备协同发布全流程详解
分布式·华为·harmonyos
DavidSoCool1 小时前
RabbitMQ使用topic Exchange实现微服务分组订阅
分布式·微服务·rabbitmq
掘金-我是哪吒2 小时前
分布式微服务系统架构第158集:JavaPlus技术文档平台日更-JVM基础知识
jvm·分布式·微服务·架构·系统架构
东窗西篱梦3 小时前
Redis集群部署指南:高可用与分布式实践
数据库·redis·分布式
Acrel_Fanny3 小时前
Acrel-1000系列分布式光伏监控系统在湖北荆门一马光彩大市场屋顶光伏发电项目中应用
分布式
xufwind3 小时前
spark standlone 集群离线安装
大数据·分布式·spark
半新半旧4 小时前
Redis集群和 zookeeper 实现分布式锁的优势和劣势
redis·分布式·zookeeper
亲爱的非洲野猪4 小时前
Kafka “假死“现象深度解析与解决方案
分布式·kafka
CodeWithMe4 小时前
【Note】《Kafka: The Definitive Guide》第三章: Kafka 生产者深入解析:如何高效写入 Kafka 消息队列
分布式·kafka
虾条_花吹雪4 小时前
2、Connecting to Kafka
分布式·ai·kafka