linux环境配置kafka

下载软件

首先先下载kafka的包,kafka是apache基金会的一部分,官网下载

我原本下载的是最新的3.6.0,但是部署时发生了错误,所以回退到了2.6.0版本

安装包名:kafka_2.13-2.6.0.tgz,其中2.13是scala版本,因为kafka是用scala语言写的,2.6.0是kafka的版本

tar -xvzf kafka_2.13-2.6.0.tgz

把压缩包放到local目录解压

然后cd进入

cd kafka_2.13-2.6.0

可以看到压缩包内总共有这些内容:

在这里插入图片描述

其中etc是我新建的,不属于压缩包

bin里都是.sh文件,存放kafka的常用脚本

config里都是.properties文件,存放kafka的常用配置文件

libs里是kafka的依赖

LICENSE是kafka的许可证文件

logs里存放的是kafka执行后产生的日志文件,也不属于压缩包

NOTICE是kafka的声明文件

site-docs里是kafka相关文档的压缩包

配置环境

配置环境主要就是修改config目录里的几个配置文件

为了方便存档和复原,我这里不直接修改config中的文件,而是把配置文件复制到新建的etc目录,再修改etc中的properties

实际生产应该在不同机器上分别部署kafka,我这边在一台机器上部署三个broker,进行伪分布式部署

kafka集群需要使用zookeeper进行管理(2.8.0后已经不需要了,这里版本是2.6.0),所以除了kafka以外还需要进行zookeeper的配置。

那要复制的配置文件就是:

  • zookeeper配置
  • server配置*3

把相关的配置文件复制到etc目录

由于我是在同一台机器上部署三个broker,每个broker都需要自己的配置文件,所以server的配置文件总共要复制三份

cd config
cp zookeeper.properties ../etc/zookeeper.properties
cp server.properties ../etc/server-0.properties
cp server.properties ../etc/server-1.properties
cp server.properties ../etc/server-2.properties

然后修改配置文件

zookeeper.properties可以保持不变

三个server.properties是类似的

cd ../etc
vim zookeeper.properties
vim server-0.properties

broker.id分别设为0、1、2

#listeners=PLAINTEXT://:9092 这一行注释去掉,端口分别设为9092、9093、9094

在这里插入图片描述

下面log.dirs=/tmp/kafka-logs分别修改为log.dirs=/tmp/kafka-logs-0、log.dirs=/tmp/kafka-logs-1、log.dirs=/tmp/kafka-logs-2

保存退出

etc目录现在一共四个文件,都已经配置好了

在这里插入图片描述

启动kafka

首先启动zookeeper

cd ../bin
./zookeeper-server-start.sh ../etc/zookeeper.properties

然后在三个新窗口分别启动三个server

./kafka-server-start.sh ../etc/server-0.properties
./kafka-server-start.sh ../etc/server-1.properties
./kafka-server-start.sh ../etc/server-2.properties

在新窗口新建topic “test”

./kafka-topics.sh --zookeeper localhost:2181 --create --topic test --partitions 3 --replication-factor 2

创建一个消费者

./kafka-console-consumer.sh --bootstrap-server localhost:9092 localhost:9093 localhost:9094 --topic test

在新窗口创建一个生产者

./kafka-console-producer.sh --broker-list localhost:9092 localhost:9093 localhost:9094 --topic test

然后我们在生产者发送的消息都能被消费者接收到

在这里插入图片描述

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/cdb2190b48.html