一幔妨、下載
下載地址:http://kafka.apache.org/downloads
二蒙幻、安裝
1隧出、安裝前準(zhǔn)備
安裝JDK:CentOS安裝JDK
安裝ZooKeeper:CentOS安裝ZooKeeper
2俱饿、解壓
shell> tar -zxvf kafka_2.12-2.2.0.tgz -C /usr/local/
3糟港、配置
shell> cd /usr/local/kafka_2.12-2.2.0/config
shell> vim server.properties
編輯以下內(nèi)容
# 默認(rèn)為/tmp/kafka-logs,可能會(huì)被刪掉
log.dirs=/usr/local/kafka_2.12-2.2.0/logs
# 監(jiān)聽(tīng)地址凯正,ifconfig查看到的本機(jī)真實(shí)地址毙玻,單節(jié)點(diǎn)不配置也可以
listeners=PLAINTEXT://192.168.1.10:9092
# 打開(kāi)注釋,設(shè)置為對(duì)外可訪問(wèn)的地址廊散,可以是主機(jī)名桑滩,也可以是ip地址,但一定是連接kafka的其他機(jī)器可以訪問(wèn)到的地址允睹,簡(jiǎn)單來(lái)說(shuō)就是“允許遠(yuǎn)程連接”
# 如果是局域網(wǎng)(內(nèi)網(wǎng)运准、阿里云騰訊云的vpc等),直接設(shè)置成局域網(wǎng)ip就好了
# 如果是云主機(jī)并且直接通過(guò)外網(wǎng)訪問(wèn)kafka(一般不這么做缭受,但是如果這么做了)胁澳,需要設(shè)置成彈性ip或綁定的域名
# advertised.listeners=PLAINTEXT://tianranll.cn:9092
advertised.listeners=PLAINTEXT://192.168.1.10:9092
# zookeeper地址及端口號(hào)
# 如果是集群,可能是這樣:hostname1:port1,hostname2:port2,hostname3:port3
# 如果是帶有chroot:hostname1:port1,hostname2:port2,hostname3:port3/chroot/path
zookeeper.connect=192.168.1.10:2181
三米者、啟動(dòng)&停止
啟動(dòng)
shell> cd /usr/local/kafka_2.12-2.2.0
shell> bin/kafka-server-start.sh -daemon config/server.properties
如果使用kafka-manager韭畸,需要開(kāi)啟JMX_PORT
shell> JMX_PORT=9999 bin/kafka-server-start.sh -daemon config/server.properties
停止
shell> bin/kafka-server-stop.sh
四、測(cè)試
1蔓搞、jps胰丁,確認(rèn)kafka是否存在(或者ps查看kafka相關(guān)進(jìn)程)
2、zookeeper查看注冊(cè)信息
shell> cd /usr/local/zookeeper-3.5.3-beta/
shell> bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls /brokers/ids
[0]
[zk: localhost:2181(CONNECTED) 1] get /brokers/ids/0
{"listener_security_protocol_map":{"PLAINTEXT":"PLAINTEXT"},"endpoints":["PLAINTEXT://VM_2_24_centos:9092"],"jmx_port":-1,"host":"VM_2_24_centos","timestamp":"1585396767598","port":9092,"version":4}
3败明、kafka命令
創(chuàng)建topic
shell> bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
查看topic
shell> bin/kafka-topics.sh --list --bootstrap-server localhost:9092
test
生產(chǎn)者發(fā)送消息
shell> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
>Hello
>World
消費(fèi)者消費(fèi)消息
shell> bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
Hello
World