1. 程式人生 > >kafka原理和集群

kafka原理和集群

mage nec linked rap cto 安裝配置 消息 div 一個

搭建kafka 首先要搭建好 前面的 zookeeper 環境 ? kafka是什麽? – Kafka是由LinkedIn開發的一個分布式的消息系統 – kafka是使用Scala編寫 – kafka是一種消息中間件 ? 為什麽要使用 kafka – 解耦、冗余、提高擴展性、緩沖 – 保證順序,靈活,削峰填谷 – 異步通信 kafka集群 ? kafka 角色與集群結構 – producer:生產者,負責發布消息 – consumer:消費者,負責讀取處理消息 – topic: 消息的類別 – Parition:每個Topic包含一個或多個Partition. – Broker:Kafka集群包含一個或多個服務器
– Kafka通過Zookeeper管理集群配置,選舉leader ? kafka 角色與集群結構 技術分享圖片 =================================================================== ? kafka 集群的安裝配置 – kafka 集群的安裝配置是依賴zookeeper的, 搭建kafka 集群之前,首先請創建好一個可用 zookeeper集群 – 安裝 openjdk 運行環境 – 分發 kafka 拷貝到所有集群主機 – 修改配置文件 – 啟動與驗證 ? server.properties
  1. broker.id
  2. 每臺服務器的broker.id都不能相同
  3. zookeeper.connect
  4. zookeeper 集群地址,不用都列出,寫一部分即可
1 下載解壓 kafka 壓縮包 ]# tar -xf kafka_2.10-0.10.2.1.tgz -C ./ 2 把 kafka 拷貝到 /usr/local/kafka 下面 ]# mv kafka_2.10-0.10.2.1 /usr/local/kafka 3 修改配置文件 vim/usr/local/kafka/config/server.properties broker.id=11 zookeeper.connect=node1:2181,node2:2181,node3:2181
4 拷貝 kafka 到其他主機,並修改 broker.id ,不能重復 ]# for i in {11..13} ;do scp kafka/config/server.properties 192.168.1.$i:/usr/local/kafaka ;done ###註意這裏拷貝過去後要修改其他節點的 broker.id 數,不得重復 5 啟動 kafka 集群 /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties 驗證集群 創建一個 topic cd /usr/local/kafka/ ./bin/kafka-topics.sh --create --partitions 1 --replication-factor 1 --zookeeper node3:2181 --topic nsd1804 生產者,負責發布消息 cd /usr/local/kafka/ ./bin/kafka-console-producer.sh --broker-list node2:9092 --topic nsd1804 消費者,負責讀取處理消息 cd /usr/local/kafka/ ./bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --topic nsd1804

kafka原理和集群