配置環境
[code]win7旗艦版
虛擬機 oracle vm virtualBox5.0
jdk 1.7.0_79
zookeeper-3.4.6 (配置好的可以參考上一篇zookeeper的集群配置)
kafka_2.10-0.8.2.2
准備工作
[code]下載kafka 官網地址http://kafka.apache.org/downloads.html
# wgethttp://mirror.bit.edu.cn/apache/kafka/0.8.2.2/kafka_2.10-0.8.2.2.tgz 解壓到root 根目錄
# tar -zxvf package/kafka_2.10-0.8.2.2.tgz
修改配置文件
[code]進入kafka conf目錄下
# cd /root/kafka_2.10-0.8.2.2/config
查看配置文件
# ll
-rw-r--r-- 1 root root 1199 9月 3 2015 consumer.properties
-rw-r--r-- 1 root root 3846 9月 3 2015 log4j.properties
-rw-r--r-- 1 root root 2228 9月 3 2015 producer.properties
-rw-r--r-- 1 root root 5559 9月 3 2015 server.properties
-rw-r--r-- 1 root root 3325 9月 3 2015 test-log4j.properties
-rw-r--r-- 1 root root 993 9月 3 2015 tools-log4j.properties
-rw-r--r-- 1 root root 1023 9月 3 2015 zookeeper.properties
主要修改server.properties 修改一些默認的配置和最後三行加入一些配置
在kafka 根目錄下創建三個文件夾server0,server1,server2
復制 默認config的配置文件到三個文件夾下為創建集群做准備
#cp -f config server0
#cp -f config server1
#cp -f config server2
然後修改server0 下的server.properties 對應的配置地方修改
#節點標識
broker.id=0
#端口號
port=9092
#本機ip
host.name=192.168.1.181
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=1024000
socket.request.max.bytes=104857600
#日志文件存放
log.dirs=/root/kafka_2.10-0.8.2.2/server0/kafkalogs0
num.partitions=2
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=536870912
log.retention.check.interval.ms=300000
log.cleaner.enable=false
zookeeper.connection.timeout.ms=6000
#關聯的zookeeper集群 當然可以指定多個 以逗號分隔
zookeeper.connect=192.168.1.181:2181
message.max.bytes = 5048576
default.replication.factor = 2
replica.fetch.max.bytes = 5048576
server1/config/server.properties 復制server0 要修改下邊
broker.id=1
port=9082
log.dirs=/root/kafka_2.10-0.8.2.2/server1/kafkalogs1
server2/config/server.properties 復制server0 要修改下邊
broker.id=2
port=9072
log.dirs=/root/kafka_2.10-0.8.2.2/server2/kafkalogs2
後台啟動項目
#bin/kafka-server-start.sh -daemon server0/config/server.properties
#bin/kafka-server-start.sh -daemon server1/config/server.properties
#bin/kafka-server-start.sh -daemon server2/config/server.properties
看下kafka進程
# jps
12703 QuorumPeerMain
14328 Jps
14040 Kafka
13978 Kafka
14286 Kafka
這種情況標識三個kafka服務啟動成功了
測試消息發布和接受
創建話題
# bin# ./kafka-topics.sh --create --zookeeper 192.168.1.181:2181 --replication-factor 2 --partitions 2 --topic test
查看話題
# bin# ./kafka-topics.sh --list --zookeeper 192.168.1.181:2181
開啟一個消費者准備接受消息 可以接收多個話題用逗號分隔
#bin# ./kafka-console-consumer.sh --zookeeper 192.168.1.181:2181 --topic test --from-beginning
開啟一個生產者發送消息
#bin# /kafka-console-producer.sh --broker-list 192.168.1.181:9092 --topic test
發送message
消費端窗口就會出現message
再多開幾個生產者試試別的端口是否可用。
到這裡就結束了,集群基本上時可用的,接下來學習java客戶端操作消息隊列數據