溫馨提示×

Ubuntu Kafka配置文件怎么設置

小樊
50
2025-04-16 11:36:55
欄目: 智能運維

在Ubuntu上配置Kafka主要包括以下幾個步驟:

1. 安裝Java和Zookeeper

首先,確保你已經安裝了Java運行環境(推薦使用OpenJDK 8)和Zookeeper。

# 安裝Java
sudo apt update
sudo apt install openjdk-8-jdk
java -version

# 下載并解壓Zookeeper
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
tar xvf zookeeper-3.4.6.tar.gz
sudo mv zookeeper-3.4.6 /usr/local/zookeeper

2. 配置Zookeeper

編輯Zookeeper的配置文件 /usr/local/zookeeper/conf/zoo.cfg,設置數據目錄和客戶端連接端口。

# 編輯Zookeeper配置文件
sudo nano /usr/local/zookeeper/conf/zoo.cfg

# 添加或修改以下行
dataDir /var/lib/zookeeper
clientPort 2181

啟動Zookeeper服務:

sudo /usr/local/zookeeper/bin/zkServer.sh start

3. 配置Kafka

下載并解壓Kafka。

# 下載Kafka
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -xzf kafka_2.12-3.5.2.tgz
sudo mv kafka_2.12-3.5.2 /usr/local/kafka

編輯Kafka的配置文件 /usr/local/kafka/config/server.properties,設置以下參數:

# Kafka broker的唯一標識符
broker.id 0

# Kafka服務器監聽的地址和端口
listeners PLAINTEXT://your.server.ip:9092

# 對外暴露的地址和端口
advertised.listeners PLAINTEXT://your.server.ip:9092

# Zookeeper的地址和端口
zookeeper.connect localhost:2181

# Kafka日志目錄
log.dirs /tmp/kafka-logs

# Kafka主題的分區數
num.partitions 1

# 默認副本因子
default.replication.factor 1

4. 啟動Kafka服務

在配置文件目錄中啟動Kafka服務:

sudo /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties

5. 驗證配置

創建一個Kafka主題來驗證配置是否生效:

/usr/local/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

啟動Kafka生產者命令示例:

/usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

啟動Kafka消費者命令示例:

/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

6. 設置防火墻規則(如果需要)

確保防火墻允許Kafka使用的端口(如9092)。

sudo ufw allow 9092

7. 開機自啟配置(可選)

/lib/systemd/system/ 目錄下創建 zookeeperkafka 服務的配置文件。

zookeeper.service:

[Unit]
Description=Zookeeper service
After=network.target

[Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
User=root
Group=root
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
Restart=on-failure

[Install]
WantedBy=multi-user.target

kafka.service:

[Unit]
Description=Apache Kafka server (broker)
After=zookeeper.service network.target

[Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
User=root
Group=root
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

刷新配置并啟用服務:

sudo systemctl daemon-reload
sudo systemctl enable zookeeper
sudo systemctl enable kafka
sudo systemctl start zookeeper
sudo systemctl start kafka

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女