一、安装准备
1、确保本机已安装了 Java 环境,并且 Java 版本需要在 1.8 及以上。
2、从 Kafka 官方网站 http://kafka.apache.org/downloads 下载最新版本的 Kafka 压缩包文件。
3、下载完成后解压至指定目录。
cd /usr/local
sudo wget https://dlcdn.apache.org//kafka/3.0.0/kafka_2.13-3.0.0.tgz
sudo tar -zxf kafka_2.13-3.0.0.tgz
cd kafka_2.13-3.0.0
二、Kafka 单节点安装
1、修改 server.properties 配置文件。
首先,进入 Kafka 主目录,并修改 config 目录下的 server.properties 文件(默认即可)。
cd /usr/local/kafka_2.13-3.0.0/config
sudo vim server.properties
进行以下配置,按需修改。
broker.id=0 #所属节点的编号
listeners=PLAINTEXT://127.0.0.1:9092 #访问地址,为了方便演示,只能在本地访问
num.network.threads=3 #网络线程数
num.io.threads=8 #磁盘I/O线程数
socket.send.buffer.bytes=102400 #发送缓冲区大小
socket.receive.buffer.bytes=102400 #接收缓冲区大小
socket.request.max.bytes=104857600 #一次请求最大字节数
log.dirs=/tmp/kafka-logs #日志存放位置
num.partitions=1 #分区数
num.recovery.threads.per.data.dir=1 #数据恢复线程数
auto.create.topics.enable=true #是否允许自动创建 Topic
log.retention.hours=168 #日志文件保留时间(小时)
log.segment.bytes=1073741824 #日志文件分片大小
log.retention.check.interval.ms=300000 #日志文件删除间隔时间(毫秒)
保存并退出。
2、启动 ZooKeeper 服务器。
由于 Kafka 基于 ZooKeeper 操作,需要先确保 ZooKeeper 服务器正常运行。
cd /usr/local/kafka_2.13-3.0.0
sudo bin/zookeeper-server-start.sh config/zookeeper.properties
3、启动 Kafka 服务。
cd /usr/local/kafka_2.13-3.0.0
sudo bin/kafka-server-start.sh config/server.properties
当看到如下输出时,证明 Kafka 服务启动成功。
[2021-11-10 14:48:52,107] INFO [KafkaServer id=0] started (kafka.server.KafkaServer)
三、Kafka 集群安装
1、修改 server.properties 配置文件。
修改 Kafka 主目录下的 config 目录中 server.properties 文件,按需配置。
cd /usr/local/kafka_2.13-3.0.0/config
sudo vim server.properties
broker.id=0 #节点 ID
listeners=PLAINTEXT://192.168.1.100:9092 #访问地址,按照集群机器的 IP 和端口进行配置
zookeeper.connect=192.168.1.100:2181,192.168.1.101:2181,192.168.1.102:2181 #ZooKeeper 地址
num.network.threads=3 #网络线程数
num.io.threads=8 #磁盘 I/O 线程数
socket.send.buffer.bytes=102400 #发送缓冲区大小
socket.receive.buffer.bytes=102400 #接收缓冲区大小
socket.request.max.bytes=104857600 #一次请求最大字节数
log.dirs=/data/kafka/kafka-logs #日志存放位置,按照实际情况进行配置
num.partitions=3 #分区数,按照实际情况进行配置
num.recovery.threads.per.data.dir=1 #数据恢复线程数
auto.create.topics.enable=true #是否允许自动创建 Topic
log.retention.hours=168 #日志文件保留时间(小时)
log.segment.bytes=1073741824 #日志文件分片大小
log.retention.check.interval.ms=300000 #日志文件删除间隔时间(毫秒)
2、修改 ZooKeeper 配置文件。
需要修改 Kafka 主目录下 config 目录中 zookeeper.properties 文件,添加如下配置。
cd /usr/local/kafka_2.13-3.0.0/config
sudo vim zookeeper.properties
dataDir=/data/zookeeper/data # ZooKeeper 数据存放路径,按照实际情况进行配置
clientPort=2181 # ZooKeeper 端口号,按照实际情况进行配置
initLimit=5 # 集群中单个节点与 Zookeeper 建立连接的最长时间
syncLimit=2 # ZooKeeper 处理请求的最大时间
server.1=192.168.1.100:2888:3888 #ZooKeeper 集群节点 1
server.2=192.168.1.101:2888:3888 #ZooKeeper 集群节点 2
server.3=192.168.1.102:2888:3888 #ZooKeeper 集群节点 3
3、启动 ZooKeeper 服务。
cd /usr/local/kafka_2.13-3.0.0
sudo bin/zookeeper-server-start.sh config/zookeeper.properties
4、启动 Kafka 服务。
cd /usr/local/kafka_2.13-3.0.0
sudo bin/kafka-server-start.sh config/server.properties
当看到如下输出时,证明 Kafka 服务启动成功。
[2021-11-10 14:48:52,107] INFO [KafkaServer id=0] started (kafka.server.KafkaServer)
四、总结
Kafka 是一个分布式的消息系统,具有高吞吐量、高可靠性、高扩展性等特点,在现代企业开发中扮演着越来越重要的角色。本文从安装角度出发,分别介绍了 Kafka 单节点安装和 Kafka 集群安装的步骤。如需在生产环境中使用 Kafka,建议用户按照官方文档详细配置,确保其稳定性和高可用性。