阅读量:3
一、环境准备
1. 安装Java环境
Kafka依赖Java 1.8及以上版本,使用OpenJDK安装:
sudo yum install java-1.8.0-openjdk-devel -y
# 验证安装
java -version
2. 安装Zookeeper
Kafka通过Zookeeper实现集群管理和Leader选举,需先部署Zookeeper:
# 下载并解压Zookeeper(以3.8.1为例)
wget https://downloads.apache.org/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1-bin.tar.gz
tar -zxvf apache-zookeeper-3.8.1-bin.tar.gz
mv apache-zookeeper-3.8.1-bin /opt/zookeeper
# 配置Zookeeper数据目录
mkdir -p /data/zookeeper/{data,logs}
# 修改配置文件(/opt/zookeeper/conf/zoo.cfg)
dataDir=/data/zookeeper/data
clientPort=2181
# 启动Zookeeper
/opt/zookeeper/bin/zkServer.sh start
二、下载与解压Kafka
从Apache官网下载稳定版本(如3.5.2),解压至指定目录:
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -zxvf kafka_2.12-3.5.2.tgz
mv kafka_2.12-3.5.2 /opt/kafka
三、核心配置(server.properties)
编辑/opt/kafka/config/server.properties,调整以下关键参数:
- 唯一标识:
broker.id=0(集群中每个broker需唯一) - 监听配置:
listeners=PLAINTEXT://your_server_ip:9092 # 绑定服务器IP advertised.listeners=PLAINTEXT://your_server_ip:9092 # 客户端可见地址 - 日志路径:
log.dirs=/data/kafka/logs(需提前创建目录并授权) - Zookeeper连接:
zookeeper.connect=localhost:2181(集群则用逗号分隔多个节点) - 高可用配置:
default.replication.factor=3 # 默认副本数(需>=2) min.insync.replicas=2 # 写操作需确认的最小副本数 auto.create.topics.enable=false # 禁止自动创建Topic(避免误操作)
四、启动与验证
1. 启动服务
# 启动Kafka(后台模式)
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
# 启动Zookeeper(若未配置开机自启)
/opt/zookeeper/bin/zkServer.sh start
2. 验证功能
- 创建Topic:
/opt/kafka/bin/kafka-topics.sh --create --topic test --bootstrap-server your_server_ip:9092 --partitions 3 --replication-factor 3 - 查看Topic列表:
/opt/kafka/bin/kafka-topics.sh --list --bootstrap-server your_server_ip:9092 - 生产与消费消息:
# 生产者 /opt/kafka/bin/kafka-console-producer.sh --topic test --bootstrap-server your_server_ip:9092 # 消费者(从开头读取) /opt/kafka/bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server your_server_ip:9092
五、开机自启配置
创建systemd服务文件/etc/systemd/system/kafka.service:
[Unit]
Description=Apache Kafka Server
After=network.target zookeeper.target
[Service]
Type=simple
User=kafka
Group=kafka
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable kafka
sudo systemctl start kafka
六、关键优化建议
1. 磁盘与性能
- 日志保留:调整
log.retention.hours=168(7天),避免磁盘爆满。 - 日志段大小:
log.segment.bytes=1073741824(1GB),减少文件数量提升IO效率。 - 线程配置:
num.io.threads=8(根据CPU核心数调整,建议2*核心数+1)。
2. 安全配置(可选)
- SASL认证:在
server.properties中添加:security.inter.broker.protocol=SASL_PLAINTEXT sasl.mechanism.inter.broker.protocol=SCRAM-SHA-256 sasl.enabled.mechanisms=SCRAM-SHA-256 - SSL加密:配置
listeners=SSL://your_server_ip:9093,并设置证书路径。
七、常见问题排查
- 端口未开放:使用
firewall-cmd --add-port=9092/tcp --permanent开放端口。 - 权限问题:确保
log.dirs目录属主为kafka用户:chown -R kafka:kafka /data/kafka/logs。 - Zookeeper连接失败:检查
zookeeper.connect地址是否正确,Zookeeper服务是否运行。
以上就是关于“kafka于centos如何精准配置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm