centos 安裝kafka


前言

Apache Kafka是一個流行的分布式消息代理,旨在有效地處理大量的實時數據。Kafka集群不僅具有高度的可伸縮性和容錯能力,而且與ActiveMQ和RabbitMQ等其他消息代理相比,它還具有更高的吞吐量。盡管它通常用作發布/訂閱消息傳遞系統,但許多組織也將其用於日志聚合,因為它為發布的消息提供了持久存儲。

發布/訂閱消息傳遞系統允許一個或多個生產者發布消息,而無需考慮使用者的數量或他們將如何處理消息。訂閱的客戶端會自動收到更新和創建新消息的通知。與客戶端定期輪詢以確定是否有新消息可用的系統相比,此系統更高效、可伸縮。

工欲善其事必先利其器,接下來看一下在centos上如何安裝kafka。

安裝步驟

一,更新系統

對centos系統的軟件進行一些更新或者升級,從而在進行安裝的時候可以很快的找到安裝包。

sudo yum install epel-release -y
sudo yum update -y 

二,安裝jdk

安裝jdk有兩種方式,一種方式安裝oracle jdk得下載安裝包,第二種方式不用下載安裝包,直接通過命令執行就完成安裝了,安裝的是openjdk。

(1) jdk安裝的第一種方式

首先到Oracle官網上下載jdk,jdk 下載地址是:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 下載之后上傳到centos上,接着執行本地安裝jdk。

下載完成之后上傳到centos,接着輸入以下命令進行安裝。

 sudo yum -y localinstall jdk-8u241-linux-x64.rpm

安裝完成之后,接着檢查一下jdk是否安裝成功。

(2)jdk安裝的第二種方式

使用以下得方式進行安裝,就不用下載安裝包,直接在centos輸入命令即可完成安裝。輸入的命令是:

sudo yum install -y java-1.8.0-openjdk

安裝完成之后檢查是否安裝成功。

java -version

 

由於執行kafka需要配置jdk環境變量,那接下來看一下如何配置jdk變量。

三,配置Java環境變量

如何配置Java變量呢?首先我們得檢查一下環境種是否有Java變量。

echo $JAVA_HOME

檢查完沒有配置,我們接着來配置一下環境變量,把jdk的安裝路徑找到,把這個路徑賦值給JAVA_HOME,寫入到用戶主目錄下的.bash_profile中或者放到/etc/profile中。通過如下命令來進行配置。

echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile

接着讓配置文件生效。

source /etc/profile

配置完成之后,接下來進行kafka的安裝。

四,安裝kafka

從kafka官網上下載kafka的二進制安裝包,下載地址是:https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.12-2.4.0.tgz,下載下來之后進行解壓。

wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.12-2.4.0.tgz

接着對文件進行解壓。

sudo tar -zvxf kafka_2.12-2.4.0.tgz -C  /opt/

提取文件成功之后,接着創建一個文件的軟連接,這樣可以方便進行kafka的升級。

sudo ln -s /opt/kafka_2.12-2.4.0 /opt/kafka

接下來,進入到kafka目錄下,啟動kafka,啟動kafka之前得先啟動zookeeper。

sudo ./zookeeper-server-start.sh ../config/zookeeper.properties 

  

接着在開啟一個shell進行啟動kafka。

sudo ./kafka-server-start.sh ../config/server.properties 

由於通過上面的方式啟動不是很方便,接下來就配置系統單元服務進行啟動kafka和zookeeper。

按照以下方式創建zookeeper.service系統服務單元。

[sharplee@localhost ~]$sudo  vi /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=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
User=root
Group=root

[Install]
WantedBy=multi-user.target

 

保存完成之后,來啟動驗證一下是否配置成功。

sudo systemctl start zookeeper
sudo systemctl status zookeeper
sudo systemctl start zookeeper

接着在配置一下kafka服務器的系統服務單元。

[sharplee@localhost ~]$ sudo vi /etc/systemd/system/kafka.service

[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service

[Service]
Type=simple
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal


[Install]
WantedBy=multi-user.target

配置完成之后,接着來啟動kafka。

sudo systemctl start kafka
sudo systemctl status kafka
sudo systemctl stop kafka

 

創建成功之后,接下來,測試一下是否安裝成功。

測試之前先通過kafka創建一個topic。進入到kafka目錄下,接着通過下面命令創建一個kafka topic。

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic

查看創建了多少個topic,可以使用以下命令進行查看。

bin/kafka-topics.sh --list --zookeeper localhost:2181

  

接下來通過生產者進行發送消息。

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic

 

接着創建一個消費者來進行接收消息。

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

 

通過以上步驟,就成功安裝kafka了,這個時候就可以通過java開發工具連接進行開發了。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM