消息隊列( Kafka)

使用場景
日誌處理:
大併發量時 ,將日誌寫入消息隊列
消息通訊
點對點消息隊列
產品
目前生產環境,使用較多的消息隊列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等
**將要介紹的:

  • Kafka**

優勢
高吞吐:非常普通的硬件Kafka也可以支持每秒數百萬的消息
支持通過Kafka服務器和消費集羣來區分消息
支持Hadoop並行數據加載

相關概念
Broker : Kafa集羣中的一臺或多臺服努器統稱爲broker。
Topic : Kafka處理的消息源(feeds of messages )的不同分類0
Partition : Topic物理上的分組,一個topic可以分爲多個 partition ,每個partition是一個有序的隊列。partition中的每條 消息都會被分配一個有序的id ( offset)。
Message :消息,是通信的基本單位,每個producer可以向一個 topic (主題)發佈一些消息。
Producers :消息和數據生產者,向Kafka的一個topic發佈消息的 過程叫做producers。
Consumers :消息和數據消費者,訂閱topics並處理其發佈的消息 的過程叫做consumers。

kafka官方
http://kafka.apache.org
在服務器上進行下載安裝
wget http://mirrors.hust.edu.cn/apache/kafka/2.1.1/kafka_2.11-2.1.1.tgz

解壓

tar xvf  kafka_2.11-2.1.1.tgz
移動到常用目錄
mv ./kafka_2.11-2.1.1/*  /usr/local/kafka
進行配置
cd config
先配置zookeeper.properties(kafka是基於zookeeper管理集羣的)
vim zookeeper.properties (可以使用默認值,主要看使用端口)

在配置server.properties
開啓監聽端口 listeners:PLANTEXT://localhost:9092 (指定監聽的地址)
zookeeper.connect=localhost:2181  (和zookeeper.properties配置一致)

進入到bin目錄,
①啓動zookeeper-server-start.sh
使用 bin/zookeeper-server-start.sh config/zookeeper.properties 啓動,(關聯配置文件)
②然後啓動kafka-server-start.sh
使用 bin/kafka-server-start.sh config/server.properties 啓動,(關聯配置文件)

注意啓動時候需要結合java環境

安裝java環境如下

下載地址
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
解壓 
 tar -zxvf   jdk-8u201-linux-i586.tar;
移動存放位置
mv  jdk1.8.0_201 /usr/local/java
設置環境變量
vim /etc/profile
在最前面添加:
export JAVA_HOME=/usr/lib/java  
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export  PATH=${JAVA_HOME}/bin:$PATH
刷新配置文件
source /etc/profile
檢查java 版本
java -version
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章