在CentOS上配置Apache Kafka的步骤如下:
Apache Kafka需要Java运行环境,这里我们使用OpenJDK 11。
sudo yum install java-11-openjdk-devel
java -version
创建一个名为kafka
的系统用户,并设置其shell为/bin/false
以防止登录。
sudo useradd -r -m -s /bin/false kafka
从Apache Kafka官方网站下载最新版本的Kafka,并解压到指定目录。
wget https://dlcdn.apache.org/kafka/3.8.0/kafka_2.13-3.8.0.tgz -P /home/centosadmin/Downloads
cd /home/centosadmin/Downloads
mkdir -p /opt/kafka
tar -xvf kafka_2.13-3.8.0.tgz -C /opt/kafka
sudo chown -R kafka:kafka /opt/kafka
编辑Kafka配置目录下的zookeeper.properties
文件。
sudo vi /opt/kafka/kafka_2.13-3.8.0/config/zookeeper.properties
配置示例:
dataDir=/var/lib/zookeeper
clientPort=2181
maxClientCnxns=60
admin.enableServer=false
编辑Kafka配置目录下的server.properties
文件。
sudo vi /opt/kafka/kafka_2.13-3.8.0/config/server.properties
配置示例:
broker.id=0
log.dirs=/var/lib/kafka-logs
zookeeper.connect=localhost:2181
在终端中运行以下命令启动ZooKeeper。
sudo bin/zookeeper-server-start.sh config/zookeeper.properties
在另一个终端中运行以下命令启动Kafka。
sudo bin/kafka-server-start.sh config/server.properties
为了方便管理Kafka服务,可以将其配置为systemd服务。
sudo nano /etc/systemd/system/zookeeper.service
添加以下内容(注意修改ExecStart
和ExecStop
路径):
[Unit]
Description=Apache ZooKeeper server
Documentation=http://zookeeper.apache.org
Requires=network.target
After=network.target
[Service]
Type=simple
ExecStart=/path/to/kafka/bin/zookeeper-server-start.sh /path/to/kafka/config/zookeeper.properties
ExecStop=/path/to/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
sudo nano /etc/systemd/system/kafka.service
添加以下内容(注意修改ExecStart
和ExecStop
路径):
[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service
After=zookeeper.service
[Service]
Type=simple
ExecStart=/path/to/kafka/bin/kafka-server-start.sh /path/to/kafka/config/server.properties
ExecStop=/path/to/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start zookeeper
sudo systemctl enable zookeeper
sudo systemctl start kafka
sudo systemctl enable kafka
使用以下命令检查服务状态:
sudo systemctl status zookeeper
sudo systemctl status kafka
以上步骤涵盖了在CentOS上安装和配置Apache Kafka的基本流程。根据实际需求,可能还需要进行进一步的优化和配置。