centos kafka配置有哪些步骤
CentOS系统配置Kafka的完整步骤
1. 安装Java环境(Kafka前置依赖)
Kafka是基于Java开发的分布式消息系统,需先安装Java运行环境(推荐OpenJDK 8)。
# 安装OpenJDK 8
sudo yum install -y java-1.8.0-openjdk-devel
# 验证Java安装
java -version
若未安装,上述命令会自动下载并安装JDK;若已安装,可通过java -version
确认版本是否符合要求。
2. 下载并解压Kafka
从Apache Kafka官网下载稳定版本(如3.5.2),解压至指定目录(如/usr/local/kafka
)。
# 创建Kafka安装目录
sudo mkdir -p /usr/local/kafka
# 下载Kafka(以3.5.2为例)
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz -P /tmp
# 解压至安装目录
sudo tar -zxvf /tmp/kafka_2.12-3.5.2.tgz -C /usr/local/kafka --strip-components=1
# 删除下载的压缩包
rm -f /tmp/kafka_2.12-3.5.2.tgz
此步骤将Kafka解压至/usr/local/kafka
,后续配置和操作均基于此目录。
3. 配置Kafka环境变量
为方便全局使用Kafka命令,需将Kafka的bin
目录添加至系统PATH
环境变量。
# 编辑全局环境变量文件
sudo vi /etc/profile
在文件末尾添加以下内容(替换/usr/local/kafka
为实际安装路径):
export KAFKA_HOME=/usr/local/kafka
export PATH=$PATH:$KAFKA_HOME/bin
保存后执行以下命令使配置生效:
source /etc/profile
验证环境变量是否配置成功:
echo $KAFKA_HOME # 应输出Kafka安装路径
kafka-topics.sh --version # 应显示Kafka版本信息
4. 配置Zookeeper(Kafka依赖组件)
Kafka通过Zookeeper实现集群管理、元数据存储等功能。需先配置Zookeeper并启动。
# 进入Kafka配置目录
cd $KAFKA_HOME/config
# 复制Zookeeper默认配置文件(若未存在)
cp zoo_sample.cfg zoo.cfg
# 编辑Zookeeper配置文件
sudo vi zoo.cfg
修改以下关键配置项(根据实际环境调整):
dataDir=/tmp/zookeeper # Zookeeper数据存储目录
clientPort=2181 # Zookeeper客户端连接端口
保存后启动Zookeeper服务:
# 前台启动(测试用)
$KAFKA_HOME/bin/zookeeper-server-start.sh $KAFKA_HOME/config/zookeeper.cfg
若需后台运行,可使用nohup
命令:
nohup $KAFKA_HOME/bin/zookeeper-server-start.sh $KAFKA_HOME/config/zookeeper.cfg >
/dev/null 2>
&
1 &
验证Zookeeper是否启动成功:
echo stat | nc localhost 2181 # 应显示Zookeeper状态信息
5. 配置Kafka核心参数(server.properties)
Kafka的主配置文件位于$KAFKA_HOME/config/server.properties
,需修改以下关键参数:
# 进入Kafka配置目录
cd $KAFKA_HOME/config
# 编辑server.properties文件
sudo vi server.properties
关键配置项说明及示例:
broker.id
:Kafka broker的唯一标识(集群中需唯一,整数),例如:broker.id=0
listeners
:Kafka监听的地址和端口(本地测试可设为PLAINTEXT://:9092
,生产环境需指定具体IP),例如:listeners=PLAINTEXT://your_server_ip:9092
advertised.listeners
:客户端连接的地址和端口(需与listeners
一致或为公网IP,用于外部访问),例如:advertised.listeners=PLAINTEXT://your_server_ip:9092
log.dirs
:Kafka日志文件的存储目录(建议使用独立磁盘分区,提高IO性能),例如:log.dirs=/data/kafka-logs
zookeeper.connect
:Zookeeper集群的连接字符串(多个节点用逗号分隔),例如:zookeeper.connect=localhost:2181
num.partitions
:Topic的默认分区数(根据业务需求调整,如高吞吐量场景可设为8或更高),例如:num.partitions=8
default.replication.factor
:Topic的默认副本因子(生产环境建议设为3,保证数据冗余),例如:default.replication.factor=3
修改完成后保存文件。
6. 启动Kafka服务
配置完成后,即可启动Kafka服务。
# 前台启动(测试用)
$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties
若需后台运行,可使用nohup
命令:
nohup $KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties >
/dev/null 2>
&
1 &
验证Kafka是否启动成功:
# 查看Kafka进程
ps -ef | grep kafka
# 查看Kafka监听端口
netstat -tulnp | grep 9092
7. 验证Kafka功能
通过Kafka自带的命令行工具验证配置是否生效。
# 创建测试Topic(名称为test,1个分区,1个副本)
$KAFKA_HOME/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
# 列出所有Topic(应包含test)
$KAFKA_HOME/bin/kafka-topics.sh --list --bootstrap-server localhost:9092
# 启动生产者(向test Topic发送消息)
$KAFKA_HOME/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
# 启动消费者(从test Topic消费消息,--from-beginning表示从最早消息开始)
$KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
在生产者终端输入消息(如hello kafka
),消费者终端应能接收到该消息,说明Kafka配置成功。
8. 可选:配置开机自启动
若需Kafka随系统启动自动运行,可将Kafka添加为系统服务。
# 创建Kafka服务文件
sudo vi /etc/systemd/system/kafka.service
添加以下内容(替换/usr/local/kafka
为实际安装路径):
[Unit]
Description=Apache Kafka Server
Documentation=https://kafka.apache.org/documentation.html
After=network.target zookeeper.service
[Service]
Type=simple
User=root
Group=root
ExecStart=$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties
ExecStop=$KAFKA_HOME/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
保存后执行以下命令启用并启动服务:
# 重新加载systemd配置
sudo systemctl daemon-reload
# 启用Kafka开机自启动
sudo systemctl enable kafka
# 启动Kafka服务
sudo systemctl start kafka
# 查看Kafka服务状态
sudo systemctl status kafka
若状态显示为active (running)
,说明Kafka已成功设置为开机自启动。
以上步骤涵盖了CentOS系统下Kafka的基本配置流程,涵盖环境准备、安装、配置、启动及验证等环节。根据实际业务需求,可进一步调整Kafka的高级配置(如JVM参数、网络优化、副本策略等)以提升性能和可靠性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos kafka配置有哪些步骤
本文地址: https://pptw.com/jishu/717578.html