Kafka下载与安装教程(超级详细-实操)

一、下载kafka软件包

1、官网下载

(1)下载地址:Apache Kafka

(2)将下载好的安装包上传到服务器

2、使用wget命令下载

#使用wget方式下载
 
wget https://downloads.apache.org/kafka/3.7.1/kafka_2.13-3.7.1.tgz

二、解压kafka安装包

1、解压到/usr/local/目录下

tar -xzvf kafka_2.12-3.9.0.tgz  -C /usr/local

2、创建kafka数据目录

mkdir -p /usr/local/kafka_2.12-3.9.0/data/kafka-logs

3、配置环境变量

查看jdk安装目录命令:

readlink -f $(which java)

#vim /etc/profile
 
export JAVA_HOME=/usr/local/jdk8u272-b10/bin/java  #JDK安装目录
export ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.9.3-bin/ #zookeeper安装目录
export KAFKA_HOME=/usr/local/kafka_2.12-3.9.0/ #kafka安装目录
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$KAFKA_HOME/bin
 

4、使环境变量生效

source /etc/profile

5、编辑kafka配置文件

vim /usr/local/kafka_2.12-3.9.0/config/server.properties

节点1配置 ,注意:broker.id是每个broker在集群中的唯一标识,正整数

# 编辑kafka1 的配置
broker.id=1
 
# 连接zookeeper的集群地址
zookeeper.connect=10.22.82.31:2181,10.22.82.32:2181,10.22.82.33:2181
advertised.listeners=PLAINTEXT://10.22.82.31:9092
 
log.dirs=/usr/local/kafka_2.12-3.9.0/data/kafka-logs

节点2配置:

# 编辑kafka2 的配置
broker.id=2
 
# 连接zookeeper的集群地址
zookeeper.connect=10.22.82.31:2181,10.22.82.32:2181,10.22.82.33:2181
advertised.listeners=PLAINTEXT://10.22.82.32:9092
 
log.dirs=/usr/local/kafka_2.12-3.9.0/data/kafka-logs

节点3配置:

# 编辑kafka3 的配置
broker.id=3
 
# 连接zookeeper的集群地址
zookeeper.connect=10.22.82.31:2181,10.22.82.32:2181,10.22.82.33:2181
advertised.listeners=PLAINTEXT://10.22.82.33:9092
 
log.dirs=/usr/local/kafka_2.12-3.9.0/data/kafka-logs

三、启动kafka服务并验证 

#启动kafka服务
 
kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
 
#集群停止
kafka-server-stop.sh

验证:创建topic  、查看topic、生产数据、消费数据进行测试

1.创建 topic
 
cd /usr/local/kafka_2.12-3.9.0
 
./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 10.22.82.33:9092 --create --topic my_topic_name
kafka-topics.sh --bootstrap-server 10.22.82.33: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 10.22.82.33:9092,10.22.82.33:9092,10.22.82.33:9092 --topic my_topic_name
>这是一个测试
 
测试消费者是否可以消费数据
[root@kafka2 config]# kafka-console-consumer.sh --bootstrap-server 10.22.82.33:9092 --topic my_topic_name --from-beginning
这是一个测试

### 如何在Docker中安装Kafka 对于希望利用Docker容器化技术来运行Apache Kafka的用户来说,遵循一系列特定的操作可以实现这一目标。首先值得注意的是,在Docker环境中并没有直接通过`docker install`这样的命令来安装软件;相反,通常的做法是从Docker镜像仓库拉取所需的镜像,并基于该镜像启动容器。 为了在Docker中设置Kafka环境,推荐的方法是使用Confluent提供的官方Docker镜像之一,因为这些镜像是由Kafka背后的公司维护和支持的,能够提供稳定性和兼容性的保障[^4]。 #### 获取Kafka Docker镜像 要获取最新的Kafka版本作为Docker镜像,可以通过执行如下命令: ```bash docker pull confluentinc/cp-kafka:latest ``` 这将会下载最新版的Confluent Platform中的Kafka组件到本地机器上。 #### 启动Zookeeper服务 由于Kafka依赖于Zookeeper来进行协调工作,因此需要先启动一个Zookeeper实例。创建一个新的终端窗口并输入以下命令以启动Zookeeper容器: ```bash docker run -d --name zookeeper \ --env ALLOW_ANONYMOUS_LOGIN=yes \ confluentinc/cp-zookeeper:latest ``` 这里设置了允许匿名登录的环境变量以便简化配置过程。 #### 配置并启动Kafka Broker 接下来就是配置和启动实际的Kafka broker节点了。同样地,打开另一个新的终端窗口,然后键入下面这段脚本来启动broker: ```bash docker run -d --name=kafka-broker \ --link=zookeeper:zookeeper \ -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \ -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 \ -e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \ confluentinc/cp-kafka:latest ``` 上述命令做了几件重要的事情:它指定了连接至之前启动的那个Zookeeper实例的方式(`--link`),定义了对外暴露的服务端口(-e),以及设定了偏移量主题副本因子等必要的参数。 此时应该已经有了一个正常工作的单节点Kafka集群正在运行之中! #### 测试Kafka安装 最后一步是对新搭建好的Kafka环境做简单的验证测试。为此目的,可以从同一台主机上的任意位置发起请求给这个刚刚建立起来的消息队列系统。例如,尝试发送一条消息到某个topic下: ```bash docker exec -it kafka-broker kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092 <<< "Hello, world!" ``` 紧接着再接收这条消息确认一切运作良好: ```bash docker exec -it kafka-broker kafka-console-consumer.sh --from-beginning --max-messages 1 --topic test-topic --bootstrap-server localhost:9092 ``` 如果看到输出为“Hello, world!”则说明整个流程顺利完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值