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]#
相关推荐
lzhcoder8 分钟前
Spring Boot 集成 Kafka:先跑通 Demo,再避开那 80% 的人踩过的坑
java·kafka
ACP广源盛139246256734 小时前
GSV6155 @ACP#工业车规 DP1.4 重定时器 Retimer
大数据·人工智能·分布式·嵌入式硬件
ACP广源盛139246256734 小时前
GSV2221@ACP# DP1.4 MST 多流显示转换芯片国产工业多屏
大数据·人工智能·分布式·嵌入式硬件·spark
ACP广源盛139246256735 小时前
GSV2231@ACP# 增强型 8K MST 多屏扩展芯片
大数据·人工智能·分布式·嵌入式硬件
虚心的百褶裙5 小时前
远程调用服务架构设计及zookeeper技术详解(下篇)
分布式·zookeeper·云原生
清晨曦月6 小时前
【从零构建分布式在线评测系统】二、Judge0服务器上的心跳程序
运维·服务器·分布式
万联WANFLOW19 小时前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
月落归舟1 天前
从单机到分布式:互联网系统架构演进全流程
分布式·系统架构
搬砖柯1 天前
系列12-接口压测怎么做成平台能力?自研 httpx 引擎、分布式 Worker 与 Locust 选型对照
分布式·测试工具·性能优化·开源·自动化·httpx
折哥的程序人生 · 物流技术专研1 天前
Java面试通关⑭:分布式理论与架构全集
分布式·微服务·校招·分布式事务·cap·java面试·最终一致性