在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的基本流程。根據實際需求,可能還需要進行進一步的優化和配置。