如何在Windows上脫離Cygwin執行Apache Kafka

2016-01-25    分類:JAVA開發、作業系統、程式設計開發、首頁精華0人評論發表於2016-01-25

本文由碼農網 – Sandbox Wang原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

簡介

本文旨在教你如何在Windows系統上一步步地搭建Apache Kafka,同時給出如何安裝Java環境和Zookeeper的步驟。Kafka是一個快速且擴充套件性良好的訊息佇列系統,能夠輕鬆應對要求實時進行大量讀寫操作的場景。你可以在官方網站(http://kafka.apache.org/)找到更多的學習資料。Kafka依賴於一個執行的Zookeeper例項,通過它來完成分散式系統下各元件可靠的協調通訊。你可以在Zookeeper的官方網站找到更多資料。

下載需要的安裝檔案

1,根據你的作業系統版本和CPU架構來選擇適合的JRE執行時軟體:

http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

2,到Apache官網下載Zookeeper,並解壓縮到某個目錄:

http://zookeeper.apache.org/releases.html

3,到Apache官網下載Kafka,並解壓縮到某個目錄:

http://kafka.apache.org/downloads.html

安裝過程

安裝JRE環境

1)啟動JRE安裝檔案,這裡以1.8版本為例,需要提醒的是,在啟動安裝的時候記得勾選“改變安裝目錄”,如下圖:

2)在下一個畫面裡將安裝目錄選擇成別的不帶空格的路徑下,例如預設情況下此路徑會是“C:\Program Files\Java\jre1.8.0_xx”,你可以將它修改成“C:\Java\jre1.8.0_xx”。點選下一步。

3)然後開啟系統環境編輯對話方塊。右擊“我的電腦”,選擇“屬性”,再選擇“高階系統設定”,在彈出的系統屬性對話方塊的“高階”皮膚中,點選下方的“環境變數”按鈕,開啟環境變數編輯對話方塊。

4)新建名字為“JAVA_HOME”的使用者變數,值為安裝的JRE的根路徑,如下圖:

5)點選“確定”。

6)在系統變數裡找到名為“PATH”的變數,修改它的值,在值的最後面新增JRE的bin目錄“;%JAVA_HOME%\bin”。

7)為了確定JRE帶的java.exe命令已經全域性可用,請開啟一個命令終端,執行java –version.如果安裝正常,則會列印如下圖所示的版本資訊。

8)為了確保Java已經安裝成功,開啟cmd命令列工具,並輸入 “java –version”,當你看到下圖的資訊時,表示java已經安裝成功。

安裝和執行Apache Zookeeper

1) 進入Zookeeper解壓目錄下面的conf目錄,如:“F:\programs\zookeeper-3.4.6\conf”;

2) 將檔案zoo_sample.cfg重新命名為zoo.cfg;

3) 用文字編輯器開啟zoo.cfg,找到“dataDir=/tmp/zookeeper”,將其修改為“dataDir=/programs/zookeeper-3.4.6/data”;

4) 新增名為ZOOKEEPER_HOME的系統變數項,變數的值為“F:\programs\zookeeper-3.4.6\”;同時將F:\programs\zookeeper-3.4.6\bin目錄新增到為名PATH的系統變數的值中;

5) 開啟Windows命令提示符,定位當前目錄到F:\programs\zookeeper-3.4.6\bin,然後執行執行zkServer.cmd命令,如下圖示:

以上命令成功執行不報錯的話,代表Apache Zookeeper例項已經成功在埠2181執行了。

安裝配置Apache Kafka

1) 找到Kafka的解壓目錄(此教程中是“F:\programs\kafka_2.11-0.8.2.2”),進入子目錄config;

2) 用文字編輯器編輯server.properties檔案,找到其中的行:“log.dirs=/tmp/kafka-logs”,將其修改為“log.dirs=/programs/kafka_2.11-0.8.2.2/logs”;

3) 如果你在上一步將Zookeeper裝在了其他的機器上,您還需要找到這一行:“zookeeper.connect=localhost:2181”,將其中的localhost修改為Zookeeper所在的機器的IP地址或者機器名。在本教程中,因為Zookeeper和Kafka是在同一臺機器,所以此行無需改變。

執行kafka

在執行Kafka之前請確定Zookeeper已經正常啟動。

1) 進入Kafka的安裝目錄,此教程中是“F:\programs\kafka_2.11-0.8.2.2”;

2) 右擊資源管理器的空白處,然後在右鍵選單中選擇“在此處開啟命令視窗”來開啟一個命令提示視窗;

3) 鍵入以下命令:.\bin\windows\kafka-server-start.bat .\config\server.properties,然後按回車執行:

4) 如果一切正常不報錯,那麼輸出會類似下圖:

5) 現在為止,你的Kafka已經啟動並且執行了,現在你可以通過java或者scala程式碼來建立訊息主題(topic)、向訊息主題裡寫訊息或者讀資料了。下面展示如何使用Kafka自帶的命令來完成訊息主題的建立、讀、寫。

建立Kafka訊息主題

1) 現在建立一個名為test的訊息主題,並且指定它的分發因數是1(因為我們的Kafka叢集只有一臺機器)。如果你的叢集有更多的機器的話,你可以相應的增加這個分發因數來提高訊息系統的可容錯性和擴充套件性;

2) 開啟命令提示視窗,轉到這個目錄”F:\programs\kafka_2.11-0.8.2.2\bin\windows”;

3) 執行下面的命令:

kafka-topics.bat –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test

建立訊息傳送者和接收者

1) 建立傳送者(producer)。在目錄”F:\programs\kafka_2.11-0.8.2.2\bin\windows”下面開啟命令提示符,執行下面命令:kafka-console-producer.bat –broker-list localhost:9092 –topic test;

2) 建立接收者(consumer)。同樣在目錄“bin\windows”下面開啟命令提示符,執行下面命令:kafka-console-consumer.bat –zookeeper localhost:2181 –topic test;

3) 正常不報錯的話,執行效果如下圖所示(一個生產者一個消費者,兩個提示視窗):

4) 在生產者視窗裡輸入任意字串,如“Hello”,然後按回車,您將會看到在消費者視窗看到它被成功接收並列印出來;

5) 如果您能成功完成上述步驟,那說明您的第一個Kafka例項已經成功執行了。

其他有用的命令

1) 列出當前所有的訊息主題(topic):

kafka-topics.bat –zookeeper localhost:2181 –list

2) 檢視某個訊息主題的狀態資訊:

kafka-topics.bat –zookeeper localhost:2181 –describe –topic <topic name>

3) 從頭讀取某個topic的所有訊息:

kafka-console-consumer.bat –zookeeper localhost:2181 –from-beginning –topic test

4) 刪除某個訊息主題:

kafka-run-class.bat kafka.admin.TopicCommand –zookeeper localhost:2181 –delete –topic <topic name>

或者:

kafka-topics.bat –delete –zookeeper localhost:2181 –topic <topic name>

參考連結

1) Apache Kafka專案官方文件,http://kafka.apache.org/documentation.html

2) Apache Zookeeper專案官方文件,https://zookeeper.apache.org/doc/trunk/zookeeperStarted.html

總結

我相信這篇文章對於那些想要在Windows桌面或伺服器版本上安裝執行Apache Kafka的初、中級使用者來說會是非常有用的,可以幫助使用者擺脫笨重的Cygwin環境,快速執行Kafka例項。

譯文連結:http://www.codeceo.com/article/run-apache-kafka-windows-no-cygwin.html
英文原文:Running Apache Kafka on Windows without Cygwin
翻譯作者:碼農網 – Sandbox Wang
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章