【轉】怎樣在CentOS 8上安裝Apache Kafka
原文連結:https://bynss.com/2020/317358.html
Apache Kafka是一個分散式流平臺。建立實時流資料管道,以幫助您在系統或應用程式之間捕獲資料。另一個有用的功能是實時流應用程式,可以轉換和響應資料流。本教程將幫助您安裝Apache Kafka CentOS 8 Linux系統。
第1步-安裝Java
Apache Kafka要求在您的系統上安裝Java。您可以通過執行以下命令在計算機上安裝OpenJDK:還要安裝其他一些必要的工具。
sudo dnf install java-11-openjdk wget vim
第2步–下載Apache Kafka
從官方下載網站下載Apache Kafka二進位制檔案。您也可以選擇附近的鏡子進行下載。
wget http://www-us.apache.org/dist/kafka/2.4.0/kafka_2.13-2.4.0.tgz
然後解壓縮存檔檔案
tar xzf kafka_2.13-2.4.0.tgz mv kafka_2.13-2.4.0 /usr/local/kafka
步驟3 –設定Kafka Systemd單位檔案
CentOS 8使用systemd來管理服務狀態。因此,您需要為Zookeeper和Kafka服務建立systemd單元檔案。這使您可以管理和啟動/停止Kafka服務。
首先,使用以下命令建立一個Zookeeper systemd單位檔案:
vim /etc/systemd/system/zookeeper.service
新增以下內容。
[Unit] Description=Apache Zookeeper server Documentation=http://zookeeper.apache.org Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
儲存並關閉檔案。
接下來,使用以下命令建立Kafka systemd單位檔案:
vim /etc/systemd/system/kafka.service
新增以下內容。確保正確設定JAVA_HOME系統上安裝的每個Java的路徑。
[Unit] Description=Apache Kafka Server Documentation=http://kafka.apache.org/documentation.html Requires=zookeeper.service [Service] Type=simple Environment="JAVA_HOME=/usr/lib/jvm/jre-11-openjdk" ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh [Install] WantedBy=multi-user.target
儲存並關閉檔案。
重新載入systemd守護程式並應用更改。
systemctl daemon-reload
第4步-啟動Kafka伺服器
Kafka需要ZooKeeper,因此首先在系統上啟動ZooKeeper伺服器。您可以使用Kafka中可用的指令碼來啟動單節點ZooKeeper例項。
sudo systemctl start zookeeper
接下來,啟動Kafka伺服器並檢視執行狀態。
sudo systemctl start kafka sudo systemctl status kafka
一切都完成了。您已在CentOS 8上成功安裝了Kafka。本教程的下一部分將幫助您在Kafka叢集上建立主題,並與Kafka生產者和消費者服務一起使用。
第5步-使用Apache Kafka建立主題
Apache Kafka提供了幾個Shell指令碼來處理它。首先testTopic“在具有單個副本的單個分割槽中:
cd /usr/local/kafka bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic Created topic testTopic.
複製因子表示要製作的資料的副本數。將此值保持為1,因為您正在單個例項上執行。
將分割槽選項設定為將拆分資料的代理數。當您在單個代理上執行時,將此值保持為1。
您可以通過執行與上述相同的命令來建立多個主題。然後,您可以通過執行以下命令在Kafka中檢查建立的主題:
bin/kafka-topics.sh --list --zookeeper localhost:2181 testTopic KafkaonCentOS8 TutorialKafkaInstallCentOS8
或者,可以將代理配置為在釋出不存在的主題時自動建立主題,而不是手動建立主題。
第6步-Apache Kafka生產者和消費者
“生產者”是將資料輸入Kafka的過程。 Kafka帶有命令列客戶端,該客戶端從檔案或標準輸入中獲取輸入,並將其作為訊息傳送到Kafka叢集。預設情況下,Kafka將每行作為單獨的訊息傳送。
執行生產者,然後在控制檯中輸入一些訊息並將其傳送到伺服器。
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic >Welcome to kafka >This is my first topic >
接下來,開啟一個執行Apache Kafka使用者程序的新終端。 Kafka還提供了一個命令列使用者,可以從Kafka叢集中讀取資料並將訊息列印到標準輸出中。
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning Welcome to kafka This is my first topic
-from-beginning選項用於從所選主題的開頭讀取訊息。您可以跳過此選項,僅閱讀最新訊息。
例如,在單獨的終端中執行Kafka的生產者和消費者。只需在生產者終端輸入文字。它會立即顯示在消費者終端上。檢視工作的Kafka生產者和消費者的螢幕截圖。
結論
您已在CentOS 8 Linux機器上成功安裝並配置了Kafka服務。