Kafka

Hadoop Server 分工內容

  • hadoop5 broker 1

  • hadoop6 broker 2

  • hadoop7 broker 3

安裝Kafka

先進入hadoop user

$ su hadoop

下載Kafka到hadoop5 Server的hadoop User家目錄

$ wget http://apache.stu.edu.tw/kafka/1.1.1/kafka_2.12-1.1.1.tgz
$ tar -zxvf kafka_2.12-1.1.1.tgz 
$ mv kafka_2.12-1.1.1 kafka

設定必要環境變數

請在hadoop5 - 7的hadoop user家目錄的.bashrc檔案中新增以下環境變數內容,

$ vi ~/.bashrc 

變數內容

使環境變數生效

配置server.properties

變數內容

配置zookeeper.properties

變數內容

配置producer.properties

變數內容

配置consumer.properties

變數內容

複製Kafka到hadoop 6 - 7 server

配置hadoop 6 Server的Kafka server.properties

變數內容

配置hadoop 7 Server的Kafka server.properties

變數內容

配置hadoop 6 Server的consumer.properties

變數內容

配置hadoop 7 Server的consumer.properties

變數內容

設定hadoop 5 - 7 Server的Service

進入root user

編輯Service

變數內容

重載Service

回到hadoop user

啟動hadoop 5 - 7 Kafka

測試Kafka

創建topic

建立一個test topic

檢查topic

發送訊息

看訊息

測試Kafka跟Spark Streaming

寫一個測試Word Count的範例

建置Maven Java Project

  • groupId: Spark

  • artifactId: com.shark.spark

  • 1.0-SNAPSHOT

參照必要Lib

在Maven加入以下Lib

編輯KafkaStreamingWordCount.class

打包成war檔

將war檔上傳到hadoop 5 Service

前往hadoop 5 Server 下載必要lib到~/spark/jars

壓縮Spark並傳到hadoop 6跟7 Server

執行

可以在Mesos看到執行結果

Last updated