起
最近對MQ(消息隊列中間件)很感興趣,既然感興趣那就上手瞭解嘍。要說MQ中流行的應該就是RabbitMQ和Kafka了,綜合對比之下(具體對比方法請參考擲硬幣)我選擇了Kafka,決定從哪裏下手後第一步就是搭建環境了,於是就有了這篇帖子。
簡
在這篇帖子中我將詳細講述如何從零開始在Linux下搭建Kafka,以及在搭建Kafka環境前的準備工作。
述
準備工作
本文中我使用的Linux版本是Ubuntu16.04(運行Zookeeper和Kafka Server)和Ubuntu18.04(運行Kafka producer和Kafka consumer)。
使用的Kafka版本爲kafka_2.11-1.1.0,下載地址:http://kafka.apache.org/downloads。
Kafka是使用scala編寫的運行於jvm上的程序,這裏也需要使用Java開發環境,我使用的JDK版本爲1.8.0_181,下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html#javasejdk。
準備Java環境
將下載好的Java壓縮包解壓至某個目錄,本文中使用的目錄爲/usr/local/Java/jdk1.8.0_181。命令如下:
tar -zxvf jdk-8u181-linux-x64.tar.gz
sudo mv jdk1.8.0_181/ /usr/local/Java/jdk1.8.0_181/
然後設置Java環境變量,這裏採用本用戶設置方法。命令如下:
sudo gedit /etc/profile
在環境變量文件末尾添加
export JAVA_HOME=/usr/local/Java/jdk1.8.0_181
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
最後應用Java環境變量。命令如下:
source /etc/profile
搭建Kafka環境
在Kafka官網下載自己需要的二進制版本的Kafka安裝包進行安裝。Kafka除了需要使用Java環境外還需要使用Zookeeper。目前,最新的版本中已經包含裏Zookeeper環境,我們可以直接使用。說是安裝,我們需要的只是把Kafka的二進制壓縮包解壓到某個目錄即可,這裏將Kafka壓縮包解壓到~/
目錄
由於我們使用我使用兩臺電腦盡心Kafka環境測試,需要配置Kafka Server的listeners。進入config文件夾找到server.properties文件,在Socket Server Settings 中添加listeners=PLAINTEXT://192.168.3.73:9092,192.168.3.73是我的本機IP地址,如果只是在單機上進行環境測試不需要進行測試,全部使用默認配置即可。
至此,Kafka的環境就已經搭建完成了。
測試
在Ubuntu 16.04中,進入Kafka目錄。
- 啓動zookeeper
輸入命令
bin/zookeeper-server-start.sh config/zookeeper.properties
執行結果如下:
- 啓動Kafka服務端
輸入命令
bin/kafka-server-start.sh config/server.properties
執行結果如下:
- 創建名爲test的topic
輸入命令
bin/kafka-topics.sh --create --zookeeper 192.168.3.73:2181 --replication-factor 1 --partitions 1 --topic test
- 查詢已經創建的topic
輸入命令
bin/kafka-topics.sh --list --zookeeper 192.168.3.73:2181
執行結果如下
在Ubuntu 18.04中,進入Kafka目錄。
- 創建一個消息生產者
輸入命令
bin/kafka-console-producer.sh --broker-list 192.168.3.73:9092 --topic test
執行結果如下
- 創建一個消息消費者
輸入命令
bin/kafka-console-consumer.sh --bootstrap-server 192.168.3.73:9092 --topic test --from-beginning
執行結果如下
生產者和消費者成功創建後就可以在消息生產者Terminal中輸入消息,在消息消費者Terminal中接收了。
結
以上就是搭建Kafka單機環境的全部內容。如有不明白的地方歡迎留言交流,若帖子中有錯誤的地方同樣歡迎留言批評指正,在此謝過路過的各位大神,歡迎騷擾。