安装指南
文档>>安装指南
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手动编码能够发送和接受一些消息。
消息发送者
首先写一个简单的消息发送者。