欲先善其事,必先利其器,kafka的启动依赖于zookeeper,而其自带的zookeeper未必好用,所以工作开始之前,准备好一些最重要。
1. 通过Apache官网下载zookeeper-x.x.x.tar.gz、kafka-x.x.x-src.tgz,版本号当然选择最新的。
http://219.239.26.11/files/4105000007459188/mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.7/zookeeper-3.4.7.tar.gz
http://apache.fayea.com/kafka/0.9.0.0/kafka_2.10-0.9.0.0.tgz
2. jdk 1.7
3. 解压缩
tar -xzf kafka-0.8.1.1-src.tgz
tar -xzf kafka_2.10-0.9.0.0.tgz
4. 启动
4.1 首先启动kafka自带的zookeeper服务
./bin/zookeeper-server-start.sh ./config/zookeeper.properties &
[1] 5997
[bjapp@YDKHD kafka_2.10-0.9.0.0]$ [2016-01-04 14:27:44,195] INFO Reading configuration from: ./config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2016-01-04 14:27:44,198] INFO autopurge.snapRetainCount set to 3 (org.apache.zookeeper.server.DatadirCleanupManager)
[2016-01-04 14:27:44,198] INFO autopurge.purgeInterval set to 0 (org.apache.zookeeper.server.DatadirCleanupManager)
[2016-01-04 14:27:44,198] INFO Purge task is not scheduled. (org.apache.zookeeper.server.DatadirCleanupManager)
...
4.2 启动kafka
./kafka-server-start.sh ../config/server.properties &
[1] 6026
[bjapp@YDKHD bin]$ [2016-01-04 14:27:52,422] INFO KafkaConfig values:
request.timeout.ms = 30000
log.roll.hours = 168
...
5. 创建TOPIC
./kafka-topics.sh --zookeeper localhost:2181 --create --topic "user_login" --partitions 1 --replication-factor 1
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.Created topic "user_login".
6. 查看(验证)TOPIC信息
./kafka-topics.sh --zookeeper localhost:2181 --list
7. 接收消息
./kafka-console-consumer.sh --zookeeper localhost:2181 --topic user_login
8. 发送消息
通过kafka提供的终端服务向队列中发送消息。
./kafka-console-producer.sh --broker-list localhost:9092 --topic user_login
lallalala1111
lalallala2222
通过两个终端窗口分别执行接收消息服务和发送消息服务就可以看到最终的效果了,退出时执行ctrl+c即回到操作符了。
好了,以上就是KAFKA的基本操作,休息,休息一会儿吧!!