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]#
相关推荐
qingcyb3 小时前
下载Kafka 3.0.0教程
分布式·kafka
杰信步迈入C++之路5 小时前
【RabbitMQ】快速上手
分布式·rabbitmq·ruby
huisheng_qaq8 小时前
【kafka-03】springboot整合kafka以及核心参数详解
spring boot·kafka·消息队列·topic·partition·kafka底层原理
妙龄少女郭德纲8 小时前
基于Spark框架实现XGBoost模型
大数据·分布式·spark
晚枫20008 小时前
kafka发送事件的几种方式
spring boot·分布式·docker·容器·kafka·intellij-idea·linq
二进制杯莫停8 小时前
初识zookeeper
分布式·zookeeper·云原生
小王是个弟弟9 小时前
ClickHouse-Kafka Engine 正确的使用方式
clickhouse·kafka
happycao1239 小时前
kafka 一步步探究消费者组与分区分配策略
中间件·kafka
qianer0_09 小时前
php实现kafka
kafka·php·linq
happycao1239 小时前
kafka消息发送几种方式
分布式·kafka