天天看點

kafka單機部署

kafka單機部署

kafka是一種高吞吐量的分布式釋出訂閱消息系統,kafka是linkedin用于日志處理的分布式消息隊列,linkedin的日志資料容量大,但對可靠性要求不高,其日志資料主要包括使用者行為

1、安裝jdk并設定環境變量

jdk環境變量配置:

# source /etc/profile    使其生效

2、安裝zookeeper

# vim conf/zoo.cfg

dataDir=/home/hadoop/storage/zookeeper    設定datadir

啟動zookeeper:

# ./bin/zkServer.sh start

檢視狀zk态:

# ./bin/zkServer.sh status 

3、kafka 安裝

修改配置檔案:# vim config/producer.properties

啟動kafka:

[root@localhost kafka_2.8.0-0.8.0]# ./bin/kafka-server-start.sh /usr/local/src/kafka_2.8.0-0.8.0/config/server.properties &

建立一個TOPIC

# ./kafka-topics.sh --create --topic kafkatopic --replication-factor 1 --partitions 1 --zookeeper localhost:2181

檢查是否建立主題成功 

# ./kafka-list-topic.sh --zookeeper localhost:2181

topic: test partition: 0 leader: 0 replicas: 0 isr: 0

發送消息至KAFKA:

[root@localhost bin]# ./kafka-console-producer.sh --broker-list 192.168.1.141:9092 --sync --topic kafkatopic

This is the first message

這是另外一個消息

This is another news

另開一個終端,顯示消息的消費

 [root@localhost bin]# ./kafka-console-consumer.sh --zookeeper 192.168.1.141:2181 --topic kafkatopic --from-beginning

*啟動produce  

 ./bin/kafka-console-producer.sh --broker-list 10.10.224.12:9092  --topic test  

*啟動consumer  

 ./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test  

 6.關閉kafka和zookeeper  

 ./kafka-server-stop.sh ../config/server.properties  

 ./zookeeper-server-stop.sh  

心得總結:  

1.produce啟動的時候參數使用的是kafka的端口而consumer啟動的時候使用的是zookeeper的端口;  

2.必須先建立topic才能使用;  

3.topic本質是以檔案的形式儲存在zookeeper上的。