• 操作系统:Centos7

集群规划

准备四台虚拟机

服务器IPZookeeper集群Kafka集群
node01192.168.80.129Y
node02192.168.80.130YY
node03192.168.80.131YY
node04192.168.80.132Y

准备工作

1、使用服务器名称进行通信

编辑 /etc/hosts 文件,在最后添加如下内容

192.168.80.129 node01
192.168.80.130 node02
192.168.80.131 node03
192.168.80.132 node04

2、关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

3、安装 Zookeeper 集群

参考之前的文章:https://blog.csdn.net/gongm24/article/details/122587009

集群安装

1、下载

下载地址:https://kafka.apache.org/downloads

本文使用 kafka_2.12-3.0.0.tgz 版本

2、使用 rz 命令上传至服务器

3、解压缩并移动至指令目录

tar -zxvf kafka_2.12-3.0.0.tgz
mv kafka_2.12-3.0.0 /usr/local/src

4、创建软连接,方便后续操作

ln -s /usr/local/src/kafka_2.12-3.0.0 /usr/local/src/kafka

进入安装目录,查看文件结构

在这里插入图片描述

5、配置

配置 config/server.properties 文件

# 与 zookeeper 的 myid 一样,每个实例拥有唯一的 ID
broker.id=1
# 日志文件,数据文件目录
log.dirs=/usr/local/src/kafka/logs
# zookeeper 集群,使用逗号分隔
zookeeper.connect=node01:2181,node02:2181,node03:2181/kafka

常用配置项说明

配置项示例值描述
log.flush.interval.messages10000消息写入磁盘策略,最大消息数量
log.flush.interval.ms1000消息写入磁盘策略,最大时间间隔
log.retention.hours168日志保留策略,基于时间,单位:小时
log.retention.bytes1073741824日志保留策略,基于大小
log.segment.bytes1073741824单个日志文件大小,超过则创建一个新的日志文件

6、配置环境变量

编辑 /etc/profile 文件,添加如下内容至文件末尾

export KAFKA_HOME=/usr/local/src/kafka
export PATH=$PATH:$KAFKA_HOME/bin

使配置生效

source /etc/profile

7、配置其它两台服务器

使用 scp 命令将 kafka 文件夹发送至其它两台服务器

scp /usr/local/src/kafka @node02:/usr/local/src
scp /usr/local/src/kafka @node03:/usr/local/src

修改 server.properties 配置文件中的 broker.id

部署完成!,启动服务。

Kafka 基本操作

启动服务

kafka-server-start.sh /usr/local/src/kafka/config/server.properties &

查看 Zookeeper 目录

在这里插入图片描述

因为配置 zookeeper.connect 时最后加了个 /kafka,等于指令了 zookeeper 中的目录,不然 Kafka 的目录会散落在 zookeeper 根目录下。

查看 Kafka 集群信息

在这里插入图片描述

查看 Kafka 控制器信息

在这里插入图片描述

创建 Topic

kafka-topics.sh --create --bootstrap-server node04:9092 --topic ooxx --partitions 2 --replication-factor 2

查看 Topic 信息

kafka-topics.sh --describe --bootstrap-server node04:9092 --topic ooxx

在这里插入图片描述
可以清楚地看到 TopicPartition 是如何分布的。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐