Linux环境下,kafka 安装以及单机、集群的配置

 

1. 本文Linux版本,kafka版本

Linux -- CentOS-7-x86_64-Minimal-1810

kafka -- kafka_2.12-2.2.0.tgz

安装方式:tar 解压缩

安装kafka前,应先安装zookeeper,详见之前的文章 

Linux环境下,ZK(zookeeper)单机,集群安装配置

本文使用zk集群(3台服务器)(192.xxx.xxx.1:2181,192.xxx.xxx.2:2181,192.xxx.xxx.3:2181)。使用的虚拟机,kafka安装的机器同zk的一致。

2. 安装 kafka 步骤

2.1 安装包准备

wget  http://mirror.bit.edu.cn/apache/kafka/2.2.0/kafka_2.12-2.2.0.tgz

2.2 移动到/usr/local目录下

mv kafka_2.12-2.2.0.tgz /usr/local

2.3 解压缩

tar zxvf kafka_2.12-2.2.0.tgz

2.4 创建日志目录

 mkdir -p /data/kafka-logs

3. 单机配置(以虚拟机192.xxx.xxx.1为例

修改配置文件 server.properties

 

cd  /usr/local/kafka_2.12-2.2.0/config
vi server.properties

修改以下内容

listeners=PLAINTEXT://192.xxx.xxx.1:9092  #本机ip,不要用localhost和127.0.0.1
num.io.threads=8        #io线程数
log.dirs=/data/kafka-logs        #kafka消息数据存放目录
auto.create.topics.enable=false     #不能自动创建主题
zookeeper.connect=192.xxx.xxx.1:2181,192.xxx.xxx.2:2181,192.xxx.xxx.3:2181 #zk集群信息

启动服务,应先启动配置的zk集群的所有服务

切换到kafka安装目录

cd  /usr/local/kafka_2.12-2.2.0

执行以下命令

bin/kafka-server-start.sh config/server.properties &

4. 集群搭建

使用zk安装的3台虚拟机192.xxx.xxx.1,192.xxx.xxx.2,192.xxx.xxx.3搭建集群,按照单机安装步骤(除配置文件不同外)安装kafka。

集群配置,每台机器分别修改server.properties,以192.xxx.xxx.1为例,修改以下内容

broker.id=1        #整数,不要与集群中其他broker.id重复,可以用ip最后一个字段
listeners=PLAINTEXT://192.xxx.xxx.1:9092  #本机ip,不要用localhost和127.0.0.1
num.io.threads=8        #io线程数
log.dirs=/data/kafka-logs        #kafka消息数据存放目录
num.partitions=6        #每个topic的默认log划分数,一般为节点数乘以2
log.retention.hours=168          #日志保留时长,一般为7天
auto.create.topics.enable=true     
delete.topic.enable=true
default.replication.factor=2
zookeeper.connect=192.xxx.xxx.1:2181,192.xxx.xxx.2:2181,192.xxx.xxx.3:2181 #zk集群信息

分别修改另外2台机器的kafka,区别在于 broker.id 和 listeners的ip配置。

启动服务,按照单机中的启动服务方法,分别启动3台机器上的kafka。

5. 验证集群

5.1 创建主题与查看主题

在 192.xxx.xxx.1 上创建topic,到 kafka 安装 bin 目录下

cd  /usr/local/kafka_2.12-2.2.0/bin

创建名为 TEST_TOPIC 的主题

./kafka-topics.sh --create --zookeeper 192.xxx.xxx.1:2181 --replication-factor 2 --partitions 3 --topic TEST_TOPIC

可在 192.xxx.xxx.2 上查看主题

cd  /usr/local/kafka_2.12-2.2.0/bin
./kafka-topics.sh --describe --zookeeper 192.xxx.xxx.1:2181 --topic TEST_TOPIC

5.2 发送消息与接收消息

在 192.xxx.xxx.1 上发送消息,将消息发送到集群

./kafka-console-producer.sh --broker-list 192.xxx.xxxx.1:9092,192.xxx.xxxx.2:9092,192.xxx.xxxx.3:9092 --topic TEST_TOPIC

在 192.xxx.xxx.2 上接收来自 192.xxx.xxx.1 的主题为 TEST_TOPIC 的消息

./kafka-console-consumer.sh --bootstrap-server 192.xxx.xxxx.1:9092 --topic TEST_TOPIC --from-beginning

6. 结束kafka

bin/kafka-server-stop.sh

 

你可能感兴趣的:(Linux环境下,kafka 安装以及单机、集群的配置)