Apache Kafka簡介與安裝(二)

Kafka在Windows環境上安裝與運行

簡介

Apache kafka 是一個分佈式的基於push-subscribe的消息系統,它具有快速、可擴展、可持久化的特色。它如今是Apache旗下的一個開源系統,做爲hadoop生態系統的一部分,被各類商業公司普遍應用。它的最大的特性就是能夠實時的處理大量數據以知足各類需求場景:好比基於hadoop的批處理系統、低延遲的實時系統、storm/spark流式處理引擎。html

特性

高吞吐量、低延遲:kafka每秒能夠處理幾十萬條消息,它的延遲最低只有幾毫秒
可擴展性:kafka集羣支持熱擴展
持久性、可靠性:消息被持久化到本地磁盤,而且支持數據備份防止數據丟失
容錯性:容許集羣中節點失敗(若副本數量爲n,則容許n-1個節點失敗)
高併發:支持數千個客戶端同時讀寫java

應用場景

1.日誌收集:一個公司能夠用Kafka能夠收集各類服務的log,經過kafka以統一接口服務的方式開放給各類consumer,例如hadoop、Hbase、Solr等。
2.消息系統:解耦和生產者和消費者、緩存消息等。
3.用戶活動跟蹤:Kafka常常被用來記錄web用戶或者app用戶的各類活動,如瀏覽網頁、搜索、點擊等活動,這些活動信息被各個服務器發佈到kafka的topic中,而後訂閱者經過 web

4.訂閱這些topic來作實時的監控分析,或者裝載到hadoop、數據倉庫中作離線分析和挖掘。
5.運營指標:Kafka也常常用來記錄運營監控數據。包括收集各類分佈式應用的數據,生產各類操做的集中反饋,好比報警和報告。
6.流式處理:好比spark streaming和storm
7.事件源apache

安裝
1.安裝JDK

關於JDK的安裝及環境變量配置,這裏就不贅述了。不清楚的能夠查看JDK安裝與環境變量配置。(建議下載Oracle官方發佈的Java,下載地址是:http://www.java.com/download/)。windows

2.安裝Zookeeper

先從Zookeeper官網下載Zookeeper安裝包。緩存

下載完成以後, 在D盤新建一個bigData目錄(D:\bigData),用於做爲安裝zookeeper和kafka的目錄,直接解壓zookeeper安裝包。注意:路徑中最好不要出現空格,好比D:\Program Files,儘可能別用,運行腳本時會有問題。服務器

3.配置Zookeeper

a. 進入zookeeper的相關設置所在的文件目錄,例如本文的:D:\bigData\zookeeper-3.4.10\conf,將zoo_sample.cfg重命名爲zoo.cfg。打開zoo.cfg,修改配置以下:併發

注:此處只是修改dataDir=/tmp/zookeeper的配置。app

b. 配置zookeeper環境變量:負載均衡

     ZOOKEEPER_HOME=D:\bigData\zookeeper-3.4.10

    編輯系統變量中的path變量,增長%ZOOKEEPER_HOME%\bin

此時zookeeper已經配置完成,打開cmd,輸入zkserver,運行zookeeper,運行結果以下:

4.安裝Kafka

 首先從Kafka官網http://kafka.apache.org/downloads下載Kafka安裝包。(要下載Binary downloads這個類型,不要下載源文件,方便使用)

 修改Kafka配置文件:

   a. 修改config目錄下的server.properties文件,修改log.dirs=D:/bigData/kafka_2.11-1.1.0/kafka-logs 。

       注:在server.properties文件中,zookeeper.connect=localhost:2181表明kafka所鏈接的zookeeper所在的服務器IP以及端口,可根據須要更改。本文在同一臺機器上使用,故不

      用修改。

   b.修改config目錄下的log4j.properties文件,修改log4j.appender.kafkaAppender.File=D:/bigData/kafka_2.11-1.1.0/logs/server.log

       

        

      其餘地方暫時先不用修改,kafka會按照默認配置,在9092端口上運行,並鏈接zookeeper的默認端口2181。

運行Kafka

 :在啓動kafka服務器前,必須確保Zookeeper實例已經在運行,由於kafka的運行是須要zookeeper這種分佈式應用程序協調服務。

進入kafka安裝目錄D:\bigData\kafka_2.11-1.1.0,按下shift+鼠標右鍵,選擇"在此處打開命令窗口",打開命令行,在命令行中輸入:.\bin\windows\kafka-server-start.bat .\config\server.properties回車。正常啓動界面如圖:

 

注意:windows下kafka啓動報錯,找不到或沒法加載主類 Files\Java\jdk1.8.0_121\lib\dt.jar;C:\Program的問題。

解決方法:

 打開路徑D:\bigData\kafka_2.11-1.1.0\bin\windows 下的文件kafka-run-class.bat,搜索-cp %CLASSPATH%,修改爲-cp "%CLASSPATH%" 

驗證kafka

建立主題(Topic)

  1. 建立主題,命名爲"test2018",replicationfactor=1(由於只有一個kafka服務器在運行)。可根據集羣中kafka服務器個數來修改replicationfactor的數量,以便提升系統容錯性等。
  2. 在D:\bigData\kafka_2.11-1.1.0\bin\windows目錄下打開新的命令行,輸入命令:kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test2018回車。

         

此時Topic建立完成,能夠在kafka安裝目錄查看到該topic對應的目錄。

       

建立生產者(producer)

  1. 在D:\bigData\kafka_2.11-1.1.0\bin\windows目錄下打開新的命令行,輸入命令:kafka-console-producer.bat --broker-list localhost:9092 --topic test2018 回車。(該窗口不要關閉)

         

建立消費者(consumer)

  1. 在D:\bigData\kafka_2.11-1.1.0\bin\windows目錄下打開新的命令行,輸入命令:kafka-console-consumer.bat --zookeeper localhost:2181 --topic test2018回車。

         

 如今生產者、消費者均已建立完成。在生產者命令行窗口輸入信息,觀察消費者命令行窗口。

以上爲kafka在windows下的安裝和基本的使用。

其實新版本的Kafka已經自帶zookeeper。Kafka使用zookeeper做爲其分佈式協調框架,很好的將消息生產、消息存儲、消息消費的過程結合在一塊兒。同時藉助zookeeper,kafka可以生產者、消費者和broker在內的因此組件在無狀態的狀況下,創建起生產者和消費者的訂閱關係,並實現生產者與消費者的負載均衡。

所以,在上邊步驟中,咱們能夠不安裝zookeeper,直接修改Kafka的config目錄中(D:\bigData\kafka_2.11-1.1.0\config)的zookeeper.properties文件

#dataDir=/tmp/zookeeper
dataDir=D:/bigData/kafka_2.11-1.1.0/data/zookeeper

在D:\bigData\kafka_2.11-1.1.0\bin\windows目錄下打開新的命令行,輸入命令:zookeeper-server-start.bat ../../config/zookeeper.properties回車。一樣能夠啓動zookeeper。

相關文章
相關標籤/搜索