kafka部署手册
Kafka 的部署手册,涵盖了从环境准备到启动的完整流程。本手册适用于在 Linux 环境下手动部署 Kafka,同时也提供了阿里云托管 Kafka 服务的相关说明。
一、Kafka 部署手册
1. 环境准备
- 操作系统:建议使用 CentOS 7+ 或 Ubuntu 18.04+。
- 硬件要求:
- CPU:至少 2 核(推荐 4 核及以上)。
- 内存:至少 4GB(推荐 8GB 及以上)。
- 磁盘:SSD 推荐,磁盘空间根据数据量需求预留。
- 依赖软件:
- Java JDK 1.8 或更高版本。
- ZooKeeper(Kafka 依赖 ZooKeeper 进行集群管理和元数据存储)。
2. 安装步骤
(1) 安装 Java
检查是否已安装 Java:
java -version
如果没有安装,执行以下命令:
sudo yum install java-1.8.0-openjdk -y # CentOS
sudo apt-get install openjdk-8-jdk -y # Ubuntu
验证安装:
java -version
(2) 下载 Kafka
前往 Kafka 官方网站下载最新版本(以 3.4.0 为例):
wget https://downloads.apache.org/kafka/3.4.0/kafka_2.13-3.4.0.tgz
tar -xzf kafka_2.13-3.4.0.tgz
cd kafka_2.13-3.4.0
(3) 配置 ZooKeeper
Kafka 默认内嵌了 ZooKeeper,可以直接使用。如果需要自定义配置,编辑 config/zookeeper.properties 文件。启动 ZooKeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties
(4) 配置 Kafka
编辑 Kafka 的配置文件 config/server.properties:
# 数据存储路径
log.dirs=/var/lib/kafka
# 监听地址
listeners=PLAINTEXT://:9092
# ZooKeeper 地址
zookeeper.connect=localhost:2181
# 其他参数可根据需求调整
(5) 启动 Kafka
启动 Kafka Broker:
bin/kafka-server-start.sh config/server.properties
(6) 创建 Topic
创建一个测试 Topic:
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1
查看 Topic 列表:
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
(7) 测试消息生产与消费
启动生产者:
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
启动消费者:
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
3. 高可用性配置
如果需要部署多节点 Kafka 集群,请参考以下步骤:
- 在每台服务器上重复上述步骤。
- 修改 server.properties 中的以下参数:
- broker.id:为每个节点设置唯一的 ID。
- zookeeper.connect:指向所有 ZooKeeper 节点的地址。
- advertised.listeners:设置外部访问地址。
- 启动所有节点后,确保 ZooKeeper 和 Kafka Broker 正常通信。
二、阿里云托管 Kafka 部署手册
1. 创建实例
登录阿里云控制台:
- 进入 消息队列 Kafka 版 页面。
- 点击“创建实例”,选择合适的规格(如单节点或高可用集群)。
- 配置网络(VPC)、存储容量和带宽。
2. 配置接入点
- 实例创建完成后,获取 Kafka 的接入地址。
- 在安全组中开放必要的端口(默认 9092 或 9094)。
3. 创建 Topic
通过阿里云控制台或命令行工具创建 Topic:
kafka-topics.sh --create --topic test-topic --bootstrap-server <接入地址> --partitions 3 --replication-factor 2
4. 使用 SDK 或 CLI 工具
阿里云提供了丰富的 SDK 和 CLI 工具,方便开发者快速接入 Kafka。
三、运维与监控
1. 日志监控
Kafka 的日志文件位于 logs/ 目录下,可以通过以下命令查看:
tail -f logs/server.log
2. 性能监控
使用 JMX 或第三方工具(如 Prometheus + Grafana)监控 Kafka 的性能指标,包括:
- 消息吞吐量。
- 消费延迟。
- 分区状态。
3. 故障恢复
- 如果 Kafka 节点宕机,ZooKeeper 会自动选举新的 Leader。
- 数据丢失时,可以从备份中恢复。
四、注意事项
- 磁盘空间管理:定期清理过期数据,避免磁盘占用过高。
- 网络优化:确保 Kafka 节点之间的网络延迟较低。
- 备份策略:制定定期备份计划,防止数据丢失。