jafka安裝配置和啟動一個自帶例項和手寫一個例項

瓜瓜東西發表於2014-09-10

nstall.zh_CN

Ady Liu edited this page on May 5, 2013 · 11 revisions

安裝指南

文件>>安裝指南

1.0版本參考 install.zh_CN.1.0

下載服務包

下載地址:https://github.com/downloads/adyliu/jafka/jafka-1.2.1.tgz 目錄結構:

jafka-1.2.1
|-- bin
|   |-- admin-console.sh
|   |-- consumer-console.sh
|   |-- dumper.sh
|   |-- env.sh
|   |-- getoffset-console.sh
|   |-- jafka
|   |-- jafka64
|   |-- jafka.conf
|   |-- jafka.exe
|   |-- log4j.properties
|   |-- optional
|   |   |-- libwrapper-linux-x86-32.so
|   |   |-- libwrapper-linux-x86-64.so
|   |   |-- wrapper.jar
|   |   `-- wrapper-windows-x86-32.dll
|   |-- producer-console.sh
|   |-- run.sh
|   |-- server.sh
|   |-- simple-consumer-console.sh
|   `-- zookeeper-server.sh
|-- conf
|   |-- log4j.properties.in
|   |-- server.properties
|   `-- zookeeper.properties
|-- data
|-- lib
|   |-- jackson-core-asl-1.8.5.jar
|   |-- jackson-mapper-asl-1.8.5.jar
|   |-- jafka-1.2.1.jar
|   |-- jopt-simple-4.3.jar
|   |-- log4j-1.2.16.jar
|   |-- optional
|   |   `-- mx4j-tools-3.0.1.jar
|   |-- zkclient-1.0.jar
|   `-- zookeeper-3.3.5.jar
|-- LICENSE
|-- logs
`-- VERSION

其中bin目錄存放啟動指令碼,conf目錄存放配置檔案,data目錄存放資料,lib目錄存放依賴庫,logs目錄存放日誌,VERSION檔案存放版本資訊。

執行服務

擴充套件包中只包含了以下Linux/Windows兩種平臺,其它平臺可以參考Java Service Wrapper,基本類似。

在執行之前,建議將jafka.conf中得JAFKA_HOME環境變數修改位絕對路徑,減少不必要的麻煩。例如:

set.JAFKA_HOME=/opt/apps/jafka-1.2.1

或者

set.JAFKA_HOME=C:\jafka-1.2.1

Linux x86_64


執行JafkaMQ很簡單,執行命令: 
$ bin/server.sh conf/server.properties

[adyliu@adyliu-pc bin]$ ./run.sh 
Usage: ./run.sh [ console | start | stop | restart | condrestart | status | install | remove | dump ]

Commands:
  console      Launch in the current console.
  start        Start in the background as a daemon process.
  stop         Stop if running as a daemon or in another console.
  restart      Stop if running and then start.
  condrestart  Restart only if already running.
  status       Query the current status.
  install      Install to start automatically when system boots.
  remove       Uninstall.
  dump         Request a Java thread dump if running.

以命令列方式執行只需要在任何目錄下執行下面命令即可

./run.sh console

以後臺服務方式執行,只需要執行

./run.sh start

隨時都可以檢視服務狀態,包括沒有執行或者執行異常

./run.sh status

停止正在執行的服務

./run.sh stop

Linux x86_32

32位的Linux需要將run.sh中的

#WRAPPER_CMD="./jafka"
WRAPPER_CMD="./jafka64"

替換成

WRAPPER_CMD="./jafka"
#WRAPPER_CMD="./jafka64"

即可。也就是想執行得命令換成32位的二進位制。

執行命令和Linux x86_64相同。



Jafka 是一個開源的/效能良好的分散式訊息系統。在上一篇文章中有所簡單介紹。
下面是一篇簡單的入門文件。更多詳細的文件參考wiki

Step 1: 下載最新的安裝包

完整的安裝指南在這裡。
最新的發行版地址在:https://github.com/adyliu/jafka/downloads

$wget https://github.com/downloads/adyliu/jafka/jafka-1.0.tgz 

$tar xzf jafka-1.0.tgz 

$cd jafka-1.0 

可選配置,設定一個環境變數。 $export $JAFKA_HOME=/opt/apps/jafka-1.0 以下假設所有操作目錄都在$JAFKA_HOME下。


執行JafkaMQ很簡單,執行命令: 

$ bin/server.sh conf/server.properties

Step 2: 啟動服務端[這一步不寫也能完成,只是多餘的]

這裡啟動一個單程式的服務端,使用預設的配置啟動即可。由於一些路徑使用了相對路徑,因此需要在jafka的主目錄下執行。

$bash bin/server-single.sh config/server-single.properties 

預設情況下,無需任何配置即可執行服務端。這時服務端會將9092埠繫結到所有網路卡上。

Step 3: 傳送訊息

使用自帶的小命令列就可以傳送簡單的文字訊息。

$bin/producer-console.sh --broker-list 0:localhost:9092 --topic demo 

> Welcome to jafka 

> 中文中國 

producer-console.sh有一些引數,這可以通過執行下面的命令得到。 $bin/producer-console.sh

傳送訊息只需要在提示符號'>'輸入文字即可,沒有出錯意味著傳送成功,直接回車或者輸入CTRL+C退出程式。

Step 4: 啟動消費者

現在是時候消費剛才傳送的訊息。

同樣Jafka自帶一個小程式能夠消費簡單的文字訊息。

$bin/simple-consumer-console.sh --topic demo --server jafka://localhost:9092 

[1] 26: Welcome to jafka 

[2] 48: 中文中國 

連線上服務端後,立即就看到有訊息消費了。預設情況下simple-consumer-console.sh輸出訊息的序號(實際上不存在)以及訊息的下一個偏移量(offset)。

解壓縮後只需要執行上面三條命令就可以完成簡單的訊息傳送和接受演示。這就是一個簡單的訊息系統。

Step 5: 手動編碼

我們希望利用提供的API手動編碼能夠傳送和接受一些訊息。

訊息傳送者

首先寫一個簡單的訊息傳送者。

相關文章