本文詳細說明kafka集羣安裝和命令行的基本使用
文章目錄
環境
- zk集羣:192.168.31.201、192.168.31.202、192.168.31.203
-
Centos7 三臺
-
對齊時鐘
對齊方式:Linux同步系統時間
- kafka版本:kafka_2.11-1.1.0.tgz
安裝
1,傳包與解壓
去kafka官網下載即可[官網下載](http://kafka.apache.org/downloads.html)
本案例使用kafka_2.11-1.1.0.tgz
上傳到服務器。
解壓與重命名(包放在了/usr/local/src下)
tar -zvxf kafka_2.11-1.1.0.tgz
mv /usr/local/src/kafka_2.11-1.1.0 /usr/local/kafka
2,創建log文件夾
mkdir /usr/local/kafka/kafkalogs
3,配置kafka
注這裏更多配置請前往官方文檔查看
cd /usr/local/kafka/config
vi server.properties
配置項如下
broker.id=0 //當前機器在集羣中的唯一標識
port=9092 //kafka對外提供服務的tcp端口
host.name=192.168.31.201 //主機IP地址
log.dirs=/usr/local/kafka/kafkalogs //log存放目錄
message.max.byte=5048576 //kafka一條消息容納的消息最大爲多少
default.replication.factor=2 //每個分區默認副本數量
replica.fetch.max.bytes=5048576
zookeeper.connect=192.168.31.201:2181, 192.168.31.202:2181, 192.)168.31.203:2181
4,分發配置好的kafka文件
注:mini2和mini3分別是
192.168.31.202,192.168.31.203
的主機別名,我已加入/etc/hosts
文件中,故可這樣別名寫法
scp -r /usr/local/kafka root@mini2:/usr/local/kafka
scp -r /usr/local/kafka root@mini3:/usr/local/kafka
5,修改另兩臺文件中的broker.id值和host.name值
把server.properties文件中的broker.id值和host.name做修改,不能三臺機器一樣的值
6,啓動kafka集羣
進入KAFKA_HOME(/usr/local/kafka),後臺啓動
bin/kafka-server-start.sh -daemon config/server.properties
測試集羣
三臺機器都使用jps命令檢查
[root@mini2 kafka]# jps
1146 QuorumPeerMain
1851 Jps
1791 Kafka
命令行驗證
1 創建topic
bin/kafka-topics.sh --create --zookeeper 192.168.31.201:2181 --replication-factor 1 --partitions 1 --topic test
2 查看topic
bin/kafka-topics.sh --list --zookeeper 192.168.31.201:2181
3 開啓發送者(生產者)併發送消息
bin/kafka-console-producer.sh --broker-list 192.168.31.201:9092 --topic test
4 開啓消費者並接收消息
bin/kafka-console-consumer.sh --zookeeper 192.168.31.201:2181 --topic test --from-beginning
[附錄]操作完整流程
進入到/usr/local/kafka
[root@mym kafka]# ls
bin config kafkalogs libs LICENSE NOTICE site-docs
[root@mym kafka]# bin/kafka-server-start.sh -daemon config/server.properties
[root@mym kafka]# jps
4765 Kafka
4835 Jps
4444 QuorumPeerMain
[root@mym kafka]# bin/kafka-topics.sh --create --zookeeper 192.168.31.201:2181 --replication-factor 1 --partitions 1 --topic test
Created topic "test".
[root@mym kafka]# bin/kafka-topics.sh --list --zookeeper 192.168.31.201:2181
test
[root@mym kafka]# bin/kafka-console-producer.sh --broker-list 192.168.31.201:9092 --topic test
>hello
>world
>i an^Hm e producer
>heihei
>^C[root@mym kafka]#
[root@mym kafka]# bin/kafka-console-consumer.sh --zookeeper 192.168.31.201:2181 --topic test --from-beginning
Using the ConsoleConsumer with old consumer is deprecated and will be removed in a future major release. Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper].
hello
world
i am e producer
heihei
^CProcessed a total of 4 messages
[root@mym kafka]#