java架構之路(MQ專題)kafka集群配置和簡單使用

前面我們說了RabbitMQ和RocketMQ的安裝和簡單的使用,這次我們說一下Kafka的安裝配置,後面我會用幾個真實案例來說一下MQ的真實使用場景。天冷了,不願意伸手,最近沒怎麼寫博客了,還請見諒。

一、目標

1.知道什麼是Kafka

2.懂得kafka的單機和集群安裝配置

3.了解內部參數的簡單配置

二、Kafka簡介

 

  Kafka是由Apache軟件基金會開發的一個開源流處理平台,由Scala和Java編寫。Kafka是一種高吞吐量的分佈式發布訂閱消息系統,它可以處理消費者在網站中的所有動作流數據。 這種動作(網頁瀏覽,搜索和其他用戶的行動)是在現代網絡上的許多社會功能的一個關鍵因素。 這些數據通常是由於吞吐量的要求而通過處理日誌和日誌聚合來解決。 對於像Hadoop一樣的日誌數據和離線分析系統,但又要求實時處理的限制,這是一個可行的解決方案。Kafka的目的是通過Hadoop的并行加載機制來統一線上和離線的消息處理,也是為了通過集群來提供實時的消息。——百度百科

三、Kafka使用場景

  • 日誌收集:一個公司可以用Kafka可以收集各種服務的log,通過kafka以統一接口服務的方式開放給各種consumer,例如hadoop、Hbase、Solr等。
  • 消息系統:解耦和生產者和消費者、緩存消息等。
  • 用戶活動跟蹤:Kafka經常被用來記錄web用戶或者app用戶的各種活動,如瀏覽網頁、搜索、點擊等活動,這些活動信息被各個服務器發布到kafka的topic中,然後訂閱者通過訂閱這些topic來做實時的監控分析,或者裝載到hadoop、數據倉庫中做離線分析和挖掘。
  • 運營指標:Kafka也經常用來記錄運營監控數據。包括收集各種分佈式應用的數據,生產各種操作的集中反饋,比如報警和報告。

四、相關術語

  • Broker

Kafka集群包含一個或多個服務器,這種服務器被稱為broker

  • Topic

每條發布到Kafka集群的消息都有一個類別,這個類別被稱為Topic。

  • Partition

Partition是物理上的概念,每個Topic包含一個或多個Partition.

  • Producer

負責發布消息到Kafka broker

  • Consumer

消息消費者,向Kafka broker讀取消息的客戶端。

  • Consumer Group

每個Consumer屬於一個特定的Consumer Group(可為每個Consumer指定group name,若不指定group name則屬於默認的group)。

五、單機安裝

  1.安裝jdk,輸入yum install -y java-1.8.0-openjdk* 耐心等待即可,安裝完成以後,輸入$ java -version,檢查是否安裝成功。

  2.由於Kafka是基於Zookeeper環境的,我們安裝一下Zookeeper(不安裝也可以,最好配置一下,便於後期理解,建議安裝3.*版本)。我以前寫過Zookeeper的安裝過程,想看的可以去了解一下

  3.輸入wget https://archive.apache.org/dist/kafka/1.1.0/kafka_2.11-1.1.0.tgz 等待下載完成,Kafka現在是0.*,1.*,2.*三個版本,這裏建議使用1.*版本,你也可以下載最新的2.3.1版本,下載方式wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.1/kafka_2.12-2.3.1.tgz,這裏說一下,kafka_2.12-2.3.1.tgz前面的2.12是Scala語言版本,後面的2.3.1才是我們的Kafka的版本。官網地址:

4.解壓tar -zxvf kafka_2.11-1.1.0.tgz

5.進入到config目錄下,vim server.properties,我們在123行可以看到Zookeeper的配置如下(不是localhost的自己改一下)

 

6.啟動$ ./bin/kafka-server-start.sh -daemon config/server.properties

7.進入Zookeeper下查看節點信息。

輸入jps看到我們的進程kafka,單機配置成功。

六、集群安裝

  1.重複單機安裝步驟。

  2.修改配置文件,在21行broker.id設置為不同的数字,第一台可以設置0,第二台1,依次類推,在123行 zookeeper.connect寫入Zookeeper集群連接,例如zookeeper.connect=47.105.137.93:2181,114.215.145.41:2181,115.29.151.4:2181。

3.分別啟動三個Kafka。

4.測試集群,創建一個主題./bin/kafka-topics.sh –create –zookeeper  47.105.137.93:2181,114.215.145.41:2181,115.29.151.4:2181  –replication-factor 1 –partitions 1 –topic test

到其它服務器下查看現有主題即可。

七、簡單使用

  1.創建主題 ./bin/kafka-topics.sh –create –zookeeper IP:端口,IP:端口 –replication-factor 副本數 –partitions 分區數 –topic 主題名

   例如:./bin/kafka-topics.sh –create –zookeeper 47.105.137.93:2181,114.215.145.41:2181,115.29.151.4:2181 –replication-factor 1 –partitions 1 –topic xiaocaijishu

  2.查看現有主題 ./bin/kafka-topics.sh –list –zookeeper IP:端口,IP:端口

   例如:./bin/kafka-topics.sh –list –zookeeper 47.105.137.93:2181,114.215.145.41:2181,115.29.151.4:2181

  3.刪除主題 ./bin/kafka-topics.sh –delete –topic xiaocaijishu2 –zookeeper IP:端口,IP:端口

  例如:./bin/kafka-topics.sh –delete –topic xiaocaijishu2 –zookeeper 47.105.137.93:2181,114.215.145.41:2181,115.29.151.4:2181  

   4.發送消息 ./bin/kafka-console-producer.sh –broker-list Kafka服務器IP:9092 –topic 主題名

  例如:./bin/kafka-console-producer.sh –broker-list 47.105.137.93:9092 –topic xiaocaijishu

  5.消費消息./bin/kafka-console-consumer.sh –bootstrap-server Kafka服務器IP:9092 –consumer-property group.id=消費組名稱 –topic 主題名

  例如: ./bin/kafka-console-consumer.sh –bootstrap-server 47.105.137.93:9092 –consumer-property group.id=xiaocaiGroup –topic xiaocaijishu

  6.查看現有消費組 ./bin/kafka-consumer-groups.sh –bootstrap-server Kafka服務器IP:9092 –list

   例如:./bin/kafka-consumer-groups.sh –bootstrap-server 47.105.137.93:9092 –list

 

 

最進弄了一個公眾號,小菜技術,歡迎大家的加入

 

 

 

 

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※想知道大胸女孩都會買什麼款式的內衣呢?d cup內衣,e cup內衣挑選完美致勝推薦

※濃郁的奶香牛軋糖-最好吃的伴手禮,送禮要送進心崁裡!

※專為各大企業長短期商務包車接送的服務

※來台東旅遊不可錯過的,台東必買名產 「池上米、地瓜酥、洛神花」都在”購夠台東“網路商城皆買的到哦!

※2020推薦婚禮錄影台北精選18家專業團隊

※票選台中最佳親子活動.情侶約會必住的一中街住宿,旅遊行程推薦!

※找尋專業廣告設計,價格公道大圖輸出,背板品質佳