1. 程式人生 > >Kafka系列一之架構介紹和安裝

Kafka系列一之架構介紹和安裝

環境 指南 ont fcm port 架構 star cfg 自己的

Kafka架構介紹和安裝

寫在前面
還是那句話,當你學習一個新的東西之前,你總得知道這個東西是什麽?這個東西可以用來做什麽?然後你才會去學習它,使用它。簡單來說,kafka既是一個消息隊列,如今,它也演變為一個分布式的流處理平臺,這一點就是很厲害的了。所以,學習kafka對於大數據的小夥伴們來說,是非常有益的。
(一)Kafka概述
1.Kafka是一個分布式的流處理平臺,有消息的訂閱系統(訂閱之後,一旦有新的消息產生,你就會收到消息),可以以多副本的方式進行存儲,可以構建實時數據管道,以及實時的流處理,能夠橫向水平擴展,容錯等特點。大數據的實時流處理場景很多時候都會使用到kafka
技術分享圖片

上面是官網中的圖片
Kafka和消息系統類似,消息中間件的一種:有生產者和消費者的概念。
(二)Kafka架構
技術分享圖片


從上面官網給出的圖片中,我們知道,kafka是有以下幾個主要的該麗娜
1)producer:生產者,

2)consumer:消費者,

3)broker:一個broker就是一個kafka,

4)topic:主題,給生產的消息打上一個標簽,代表是誰生產的.

First a few concepts:[幾個概念]
Kafka is run as a cluster on one or more servers.

The Kafka cluster stores streams of records in categories called topics.

Each record consists of a key, a value, and a timestamp.

(三)Kafka的安裝部署
我們首先來到官網上去,http://kafka.apache.org/quickstart
從這個快速開始中,知道我們的kafka是依賴於zookeeper的,所以我們第一步來安裝zookpeer,然後安裝Kafka

zookeeper的安裝

  1. 下載zookeeper,地址在cdh5的頁面http://archive.cloudera.com/cdh5/cdh/5/
  2. 解壓到自己指定的目錄中去,我一般喜歡~/app,這個看自己的習慣就好,這裏我把解壓後的文件修改名稱為zk,
  3. 把解壓的目錄導出,
[hadoop@hadoop000 zk]$ vim ~/.bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

export JAVA_HOME=/home/hadoop/app/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH

export FLUME_HOME=/home/hadoop/app/flume
export PATH=$FLUME_HOME/bin:$PATH


export ZK_HOME=/home/hadoop/app/zk
export PATH=$ZK_HOME/bin:$PATH

#:wq 保存退出

4.再source一個系統環境

[hadoop@hadoop000 zk]$ source ~/.bash_profile 
[hadoop@hadoop000 zk]$ 

5.配置zookeeper,來到解壓目錄下的conf文件
拷貝一份

[hadoop@hadoop000 conf]$ cp zoo_sample.cfg zoo.cfg
[hadoop@hadoop000 conf]$ vim zoo.cfg 
#修改數據的臨時存放目錄,默認是在tmp目錄下的
dataDir=/home/hadoop/app/tmp/zk
#:wq 保存退出

6.啟動zookeeper

[hadoop@hadoop000 conf]$ cd ../bin/
[hadoop@hadoop000 bin]$ zkServer.sh start
JMX enabled by default
Using config: /home/hadoop/app/zk/bin/../conf/zoo.cfg
Starting zookeeper ... already running as process 10943.
[hadoop@hadoop000 bin]$ 

7.查看進程

[hadoop@hadoop000 bin]$ jps
27179 Jps
10943 QuorumPeerMain
[hadoop@hadoop000 bin]$ 
#看見QuorumPeerMain,說明就啟動成功了

Kafka的安裝部署

按照官網上的指南,我們先下載Kafka,點擊官網上面的downloadhttp://kafka.apache.org/downloads 在選擇版本的時候,我們推薦使用0.9.0.0版本的,目前這個版本在上產上比較常用,

  1. 下載https://archive.apache.org/dist/kafka/0.9.0.0/kafka_2.11-0.9.0.0.tgz 因為kafka是scala語言寫的,後面我們也可能會使用到scala,因為我安裝的scala是2.11版本。這個下載的版本主要看自己的情況,在官網上選擇合適的就好
  2. 解壓到指定目錄,再導出到系統環境中‘’
[hadoop@hadoop000 ~]$ vim ~/.bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

export JAVA_HOME=/home/hadoop/app/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH

export FLUME_HOME=/home/hadoop/app/flume
export PATH=$FLUME_HOME/bin:$PATH


export ZK_HOME=/home/hadoop/app/zk
export PATH=$ZK_HOME/bin:$PATH


export KAFKA_HOME=/home/hadoop/app/kafka
export PATH=$KAFKA_HOME/bin:$PATH

#:wq保存退出

3.再source一下

4.配置,修改解壓目錄下config配置文件

配置server.properties[需要註意的地方]
broker.id=0  解釋:是kafka,一個broker
listeners      解釋:監聽的端口
host.name    解釋:當前機器
log.dirs       解釋:kafka的日誌存放目錄
zookeeper.connect  zk的地址

修改好之後,保存退出

5.現在,就可以來啟動了
如何啟動呢??看官網是如何說的,http://kafka.apache.org/quickstart

bin/zookeeper-server-start.sh config/zookeeper.properties
2).再啟動我們的kafka
bin/kafka-server-start.sh config/server.properties

#啟動kafka的命令
kafka-server-start.sh $KAFKA_HOME/config/server.properties

6.啟動之後

[hadoop@hadoop000 ~]$ jps
27251 Kafka
27334 Jps
10943 QuorumPeerMain
[hadoop@hadoop000 ~]$ 
#可以看見Kafka的進程,就對啦

好的,到這裏我們的kafka就安裝完成了,接下來,我們就開始做broker的部署...
推薦一下:Kafka系列二之部署與使用
http://blog.csdn.net/liuge36/article/details/78593404

Kafka系列一之架構介紹和安裝