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]#
相关推荐
ALex_zry10 小时前
Redis Cluster 分布式缓存架构设计与实践
redis·分布式·缓存
为什么不问问神奇的海螺呢丶12 小时前
n9e categraf rabbitmq监控配置
分布式·rabbitmq·ruby
TTBIGDATA16 小时前
【Atlas】Atlas Hook 消费 Kafka 报错:GroupAuthorizationException
hadoop·分布式·kafka·ambari·hdp·linq·ranger
m0_6873998419 小时前
telnet localhost 15672 RabbitMQ “Connection refused“ 错误表示目标主机拒绝了连接请求。
分布式·rabbitmq
indexsunny19 小时前
互联网大厂Java面试实战:微服务与Spring生态技术解析
java·spring boot·redis·kafka·mybatis·hibernate·microservices
陌上丨19 小时前
生产环境分布式锁的常见问题和解决方案有哪些?
分布式
新新学长搞科研19 小时前
【智慧城市专题IEEE会议】第六届物联网与智慧城市国际学术会议(IoTSC 2026)
人工智能·分布式·科技·物联网·云计算·智慧城市·学术会议
泡泡以安20 小时前
Scrapy分布式爬虫调度器架构设计说明
分布式·爬虫·scrapy·调度器
编程彩机21 小时前
互联网大厂Java面试:从Spring Boot到分布式事务的技术场景解析
spring boot·kafka·分布式事务·微服务架构·java面试·技术解析
没有bug.的程序员21 小时前
RocketMQ 与 Kafka 深度对垒:分布式消息引擎内核、事务金融级实战与高可用演进指南
java·分布式·kafka·rocketmq·分布式消息·引擎内核·事务金融