kafka虚拟机单机开发环境搭建

来源:互联网 发布:淘宝涛哥电玩店 编辑:程序博客网 时间:2024/05/17 03:10
准备给storm项目引入消息引擎,似乎kafka不错,分布式的,跟storm比较搭,就先用这个了。

前期准备:
虚拟机名称:centos6.test 配置好虚拟机和win开发环境下的hosts

1. 到http://kafka.apache.org/downloads.html去下载对应的版本
2.  tar -zxvf kafka_2.9.2-0.8.1.1.tgz
3. cd kafka_2.9.2-0.8.1.1
4. 修改conf目录下的server.properties,我是拷了三份,命名为server1.properties,server2.properties,server3.properties
修改broker.id: broker节点的唯一标识,port: broker节点使用端口号,log.dir: 消息日志位置
server1.properties
broker.id=1
port=9091
server2.properties
broker.id=2
port=9092
server3.properties
broker.id=3
port=9093
log.dir在常用的logs目录下建了三个目录kafka1,kafka2,kafka3
5.尝试启动进程
JMX_PORT=9997 bin/kafka-server-start.sh config/server1.properties &
JMX_PORT=9998 bin/kafka-server-start.sh config/server2.properties &
JMX_PORT=9999 bin/kafka-server-start.sh config/server3.properties &
6.创建topic
bin/kafka-topics.sh --create --zookeeper centos6.test:2181 --replication-factor 1 --partitions 1 --topic test
7.查看topic
bin/kafka-topics.sh --list --zookeeper localhost:2181
8.开一个控制台,发送消息
bin/kafka-console-producer.sh --broker-list centos6.test:9092 --topic test
9.开另一个控制台,消费这个消息
bin/kafka-console-consumer.sh --zookeeper centos6.test:2181 --from-beginning --topic test

备注:先发消息,再消费消息也能模拟,因为可以会自动从broker中得到生产者/消费者不在线时的离线消息。至此消息引擎环境搭好了。后继是开发过程:

10. 对照生产者例子完成代码并编译成功
https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+Producer+Example
11.对照消费者例子完成代码并编译成功
https://cwiki.apache.org/confluence/display/KAFKA/Consumer+Group+Example

为了方便测试,可以把KeyedMessage中的第一个参数改为test,从test topic中使用消息。然后给虚拟机用刚才2个控制台来查看或发送消息。




0 0
原创粉丝点击