kafka四個核心概念:producer莹汤、consumer蛾派、broker吩翻、topic
-
啟動zk
下載zk zookeeper-3.4.5-cdh5.7.0.tar.gz
解壓:tar -zxvf zookeeper-3.4.5-cdh5.7.0.tar.gz -C /home/hadoop/app
修改zk conf/zoo.cfg文件:
dataDir=/home/hadoop/app/tmp/zk
clientPort=2181
啟動zk ./zkServer.sh start -
kafka單節(jié)點單broker部署及使用
- 下載
下載 kafka_2.11-0.9.0.0.tgz
解壓 tar -zxvf kafka_2.11-0.9.0.0.tgz -C /home/hadoop/app - 配置修改
vim server.properties修改如下配置
log.dirs=/home/hadoop/app/tmp/kafka-logs
zookeeper.connect=hadoop000:2181
host.name=hadoop000 - 啟動kafka
kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties &
啟動成功后jps會看到一個Kafka進(jìn)程 - 創(chuàng)建topic
創(chuàng)建topic:
kafka-topics.sh --create --zookeeper hadoop000:2181 --replication-factor 1 --partitions 1 --topic hello_topic
查看所有topic:
kafka-topics.sh --list --zookeeper hadoop000:2181 - 發(fā)送和消費消息
創(chuàng)建生產(chǎn)者:
kafka-console-producer.sh --broker-list hadoop000:9092 --topic hello_topic
創(chuàng)建消費者:
kafka-console-consumer.sh --zookeeper hadoop000:2181 --topic hello_topic
-
單節(jié)點多broker部署及使用
-
配置修改
server-1.properties:
log.dirs=/home/hadoop/app/tmp/kafka-logs-1
listeners=PLAINTEXT://:9093
broker.id=1
zookeeper.connect=hadoop000:2181
host.name=hadoop000server-2.properties:
log.dirs=/home/hadoop/app/tmp/kafka-logs-2
listeners=PLAINTEXT://:9094
broker.id=2
zookeeper.connect=hadoop000:2181
host.name=hadoop000server-3.properties:
log.dirs=/home/hadoop/app/tmp/kafka-logs-3
listeners=PLAINTEXT://:9095
broker.id=3
zookeeper.connect=hadoop000:2181
host.name=hadoop000 啟動
kafka-server-start.sh -daemon $KAFKA_HOME/config/server-1.properties &
kafka-server-start.sh -daemon $KAFKA_HOME/config/server-2.properties &
kafka-server-start.sh -daemon $KAFKA_HOME/config/server-3.properties &
啟動成功后jps會看到3個Kafka進(jìn)程
-
kafka常用命令
- 創(chuàng)建topic(--zookeeper 指定zk净蚤,--replication-factor 指定副本數(shù)量海蔽,--partitions指定分片數(shù)共屈,--topic指定topic名稱):
kafka-topics.sh --create --zookeeper hadoop000:2181 --replication-factor 1 --partitions 1 --topic streamingtopic - 查詢有哪些topic(--zookeeper指定zk)
kafka-topics.sh --list --zookeeper hadoop000:2181 - 查詢topic詳細(xì)信息(--zookeeper指定zk,--topic指定topic名稱)
kafka-topics.sh --describe --zookeeper hadoop000:2181 --topic streamingtopic - 創(chuàng)建生產(chǎn)者(--broker-list指定broker准潭,多個broker逗號分隔)
kafka-console-producer.sh --broker-list hadoop000:9093,hadoop000:9094,hadoop000:9095 --topic streamingtopic - 創(chuàng)建消費者(--zookeeper指定zk趁俊,--from-beginning指定從第一條開始消費,可選)
kafka-console-consumer.sh --zookeeper hadoop000:2181 --topic streamingtopic --from-beginning - 刪除topic
kafka-topics.sh --delete --zookeeper hadoop000:2181 --topic streamingtopic
----這樣的操作并沒有徹底刪除掉topic刑然,仍然存在寺擂,僅僅是標(biāo)志為delete,用戶不能創(chuàng)建相同名稱的topic泼掠。 - 徹底刪除topic:
/kafka-topics.sh --delete --zookeeper hadoop000:2181 --topic webchatf_topic
----先把topic標(biāo)記為已刪除
進(jìn)入到zookeeper目錄下
./bin/zkCli.sh ----進(jìn)入到zk客戶端
rmr /brokers/topics/hadoop000----即可徹底刪除topic
- 創(chuàng)建topic(--zookeeper 指定zk净蚤,--replication-factor 指定副本數(shù)量海蔽,--partitions指定分片數(shù)共屈,--topic指定topic名稱):