天天看點

Kafka學習篇(二)——Kafka環境搭建安裝JDK安裝KafkaKafka指令Kafka配置

Kafka學習篇(二)——Kafka環境搭建

  • 安裝JDK
  • 安裝Kafka
    • 下載下傳kafka
    • 啟動kafka
  • Kafka指令
  • Kafka配置

安裝JDK

kafka需要JDK的支援,是以第一步是安裝JDK。

安裝JDK1.8

yum install -y java-1.8.0-openjdk.x86_64
           

安裝完成後可以檢視JDK版本

java -version
           

安裝Kafka

下載下傳kafka

1、到kafka的官網,去下載下傳想用的kafka包:http://kafka.apache.org/downloads

2、由于項目對方要求使用kafka2.0.0是以下載下傳的是kafka_2.11-2.0.0.tgz

3、将下載下傳好的包上傳到伺服器并且解壓,此處路徑可以自定義,解壓指令:

tar -zxvf kafka_2.11-2.0.0.tgz 
           

4、如果是windows也是同樣的,解壓kafka_2.11-2.0.0.tgz包到自己想要的目錄下。

啟動kafka

1、解壓後如果不想修改預設配置可以直接運作即可使用kafka用戶端

2、啟動kafka先要啟動zookeeper服務,進入剛剛解壓後的kafka目錄

linux版本:

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

windows版本,進入解壓後的kafka目錄cmd視窗:

bin\windows\zookeeper-server-start.bat config\zookeeper.properties
           

3、啟動kafka服務,還在剛剛的kafka解壓後的目錄

linux版本:

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

windows版本,進入解壓後的kafka目錄cmd視窗:

bin\windows\kafka-server-start.bat config\server.properties
           

4、有了啟動怎麼可以沒有關閉

關閉zookeeper指令:

sh bin/zookeeper-server-stop.sh config/zookeeper.properties
           

關閉kafka指令:

sh bin/kafka-server-stop.sh config/server.properties
           

5、為了友善啟動,我們建立啟動快捷腳本,vi startkafka.sh,使用這個腳本就不需要啟動zookeeper再啟動kafka,腳本自動把兩個服務都啟動好,腳本中路徑需要自行定義。

#!/bin/sh
#啟動zookeeper
/app/kafka/kafka_2.11-2.0.0/bin/zookeeper-server-start.sh /app/kafka/kafka_2.11-2.0.0/config/zookeeper.properties &

sleep 5 #等5秒後執行

#啟動kafka
/app/kafka/kafka_2.11-2.0.0/bin/kafka-server-start.sh /app/kafka/kafka_2.11-2.0.0/config/server.properties &
           

6、為了友善關閉,我們建立關閉快捷腳本,vi stopkafka.sh,腳本中路徑需要自行定義。

#!/bin/sh
#啟動kafka
/app/kafka/kafka_2.11-2.0.0/bin/kafka-server-start.sh /app/kafka/kafka_2.11-2.0.0/config/server.properties &

sleep 3 #等3秒後執行

#啟動zookeeper
/app/kafka/kafka_2.11-2.0.0/bin/zookeeper-server-start.sh /app/kafka/kafka_2.11-2.0.0/config/zookeeper.properties &
           

7、有了啟動/關閉腳本後隻需要執行 sh startkafka.sh或者sh stopkafka.sh即可啟動/關閉kafka以及zookeeper

Kafka指令

以下指令全部在kafka根目錄下執行

1、建立topic

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

2、檢視topic

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

3、删除topic

sh bin/kafka-topics.sh  --delete --zookeeper localhost:2181  --topic hello
           

4、建立生産者producer

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

5、另起建立消費者consumer

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

6、此時在生産者視窗推送的内容能被消費者視窗中接收

Kafka配置

在伺服器中搭建了Kafka後使用Java開發Kafka後報錯

經過分析後發現是由于Kafka用戶端配置問題導緻,需要修改Kafka用戶端配置的IP位址,修改listeners的ip位址, vi config/server.properties

listeners=PLAINTEXT://172.20.240.27:9092

advertised.listeners=PLAINTEXT://172.20.240.26:9092
           

重新開機後外網可以向伺服器生産以及消費。

除此外zookeeper配置可以修改config/zookeeper.properties

kafaka配置可以修改config/server.properties

具體配置可以參考官方文檔。比較常見的可以修改日志位址等内容