前言
Apache Kafka是一個(gè)流行的分布式消息代理,旨在有效地處理大量的實(shí)時(shí)數(shù)據(jù)鼓择。Kafka集群不僅具有高度的可伸縮性和容錯(cuò)能力灾部,而且與ActiveMQ和RabbitMQ等其他消息代理相比,它還具有更高的吞吐量惯退。盡管它通常用作發(fā)布/訂閱消息傳遞系統(tǒng)赌髓,但許多組織也將其用于日志聚合,因?yàn)樗鼮榘l(fā)布的消息提供了持久存儲(chǔ)催跪。
發(fā)布/訂閱消息傳遞系統(tǒng)允許一個(gè)或多個(gè)生產(chǎn)者發(fā)布消息锁蠕,而無(wú)需考慮使用者的數(shù)量或他們將如何處理消息。訂閱的客戶端會(huì)自動(dòng)收到更新和創(chuàng)建新消息的通知懊蒸。與客戶端定期輪詢以確定是否有新消息可用的系統(tǒng)相比荣倾,此系統(tǒng)更高效、可伸縮骑丸。
工欲善其事必先利其器舌仍,接下來(lái)看一下在centos上如何安裝kafka妒貌。
安裝步驟
一,更新系統(tǒng)
對(duì)centos系統(tǒng)的軟件進(jìn)行一些更新或者升級(jí)铸豁,從而在進(jìn)行安裝的時(shí)候可以很快的找到安裝包灌曙。
sudo yum install epel-release -y
sudo yum update -y
二,安裝jdk
安裝jdk有兩種方式节芥,一種方式安裝oracle jdk得下載安裝包在刺,第二種方式不用下載安裝包,直接通過命令執(zhí)行就完成安裝了头镊,安裝的是openjdk蚣驼。
(1) jdk安裝的第一種方式
首先到Oracle官網(wǎng)上下載jdk,jdk 下載地址是:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 下載之后上傳到centos上相艇,接著執(zhí)行本地安裝jdk颖杏。
下載完成之后上傳到centos,接著輸入以下命令進(jìn)行安裝坛芽。
<pre style="margin: 0px; padding: 0px; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> sudo yum -y localinstall jdk-8u241-linux-x64.rpm</pre>
安裝完成之后输玷,接著檢查一下jdk是否安裝成功。
(2)jdk安裝的第二種方式
使用以下得方式進(jìn)行安裝靡馁,就不用下載安裝包欲鹏,直接在centos輸入命令即可完成安裝。輸入的命令是:
<pre style="margin: 0px; padding: 0px; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">sudo yum install -y java-1.8.0-openjdk</pre>
安裝完成之后檢查是否安裝成功臭墨。
java -version
由于執(zhí)行kafka需要配置jdk環(huán)境變量赔嚎,那接下來(lái)看一下如何配置jdk變量。
三胧弛,配置Java環(huán)境變量
如何配置Java變量呢尤误?首先我們得檢查一下環(huán)境種是否有Java變量。
echo $JAVA_HOME
檢查完沒有配置结缚,我們接著來(lái)配置一下環(huán)境變量损晤,把jdk的安裝路徑找到,把這個(gè)路徑賦值給JAVA_HOME红竭,寫入到用戶主目錄下的.bash_profile中或者放到/etc/profile中尤勋。通過如下命令來(lái)進(jìn)行配置。
echo ``"JAVA_HOME=$(readlink -f /usr/bin/java | sed "``s:bin/java::``")"
| sudo tee -a /etc/profile
接著讓配置文件生效茵宪。
source /etc/profile
|
配置完成之后最冰,接下來(lái)進(jìn)行kafka的安裝。
四稀火,安裝kafka
從kafka官網(wǎng)上下載kafka的二進(jìn)制安裝包暖哨,下載地址是:https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.12-2.4.0.tgz,下載下來(lái)之后進(jìn)行解壓凰狞。
wget https:``//mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.12-2.4.0.tgz
接著對(duì)文件進(jìn)行解壓篇裁。
sudo tar -zvxf kafka_2.12-2.4.0.tgz -C /opt/
提取文件成功之后征候,接著創(chuàng)建一個(gè)文件的軟連接斜棚,這樣可以方便進(jìn)行kafka的升級(jí)碍扔。
sudo ln -s /opt/kafka_2.12-2.4.0 /opt/kafka
接下來(lái)鲜侥,進(jìn)入到kafka目錄下现拒,啟動(dòng)kafka多律,啟動(dòng)kafka之前得先啟動(dòng)zookeeper肛根。
sudo ./zookeeper-server-start.sh ../config/zookeeper.properties
接著在開啟一個(gè)shell進(jìn)行啟動(dòng)kafka用爪。
sudo ./kafka-server-start.sh ../config/server.properties
由于通過上面的方式啟動(dòng)不是很方便粉渠,接下來(lái)就配置系統(tǒng)單元服務(wù)進(jìn)行啟動(dòng)kafka和zookeeper分冈。
按照以下方式創(chuàng)建zookeeper.service系統(tǒng)服務(wù)單元。
[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
|
保存完成之后霸株,來(lái)啟動(dòng)驗(yàn)證一下是否配置成功雕沉。
sudo systemctl start zookeeper
sudo systemctl status zookeeper
sudo systemctl start zookeeper
接著在配置一下kafka服務(wù)器的系統(tǒng)服務(wù)單元。
[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
配置完成之后去件,接著來(lái)啟動(dòng)kafka坡椒。
sudo systemctl start kafka
sudo systemctl status kafka
sudo systemctl stop kafka
創(chuàng)建成功之后,接下來(lái)尤溜,測(cè)試一下是否安裝成功倔叼。
測(cè)試之前先通過kafka創(chuàng)建一個(gè)topic。進(jìn)入到kafka目錄下宫莱,接著通過下面命令創(chuàng)建一個(gè)kafka topic丈攒。
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic
查看創(chuàng)建了多少個(gè)topic,可以使用以下命令進(jìn)行查看授霸。
bin/kafka-topics.sh --list --zookeeper localhost:2181
接下來(lái)通過生產(chǎn)者進(jìn)行發(fā)送消息巡验。
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic
接著創(chuàng)建一個(gè)消費(fèi)者來(lái)進(jìn)行接收消息。
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --``from``-beginning
通過以上步驟碘耳,就成功安裝kafka了显设,這個(gè)時(shí)候就可以通過java開發(fā)工具連接進(jìn)行開發(fā)了。