Kafka is a distributed,partitioned,replicated commit logservice。它提供了相似於JMS的特性,可是在設計實現上徹底不一樣,此外它並非JMS規範的實現。kafka對消息保存時根據Topic進行歸類,發送消息者成爲Producer,消息接受者shell
爲Consumer,此外kafka集羣有多個kafka實例組成,每一個實例成爲broker。不管是kafka集羣,仍是producer和consumer都依賴於zookeeper來保證系統可用性集羣保存一些meta信息。apache
環境說明: ubuntu
1. os:Ubuntu 16.04vim
2. zookeeper:zookeeper 3.4.13服務器
3. kafka:kafka_2.11-2.0.1spa
4. jdk:jdk 8(kafka啓動須要使用到jdk)設計
jdk在安裝是較爲常見的,因此這裏就再也不詳細介紹了。3d
首先下載zookeeper,下載地址爲:http://mirror.bit.edu.cn/apache/zookeeper/,如當前源不能訪問,請自行更換其餘源。如圖:code
根據本身的須要的版本下載相應的.tar.gz文件,將下載的文件上傳到服務器上。經過Xshell 6端,使用命令rz。server
解壓文件:
解壓後進入conf文件夾,
將zoo_sample.cfg拷貝一份爲zoo.cfg
以下:
修改zoo.cfg文件:
爲zookeeper配置環境變量:
vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/middle/zookeeper-3.4.13 export PATH=.:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH
保存退出
使用zkServer.sh start啓動zookeeper服務:
啓動成功,配置正確,而後關閉服務zkServer.sh stop
下載Kafka,下載地址爲:http://mirror.bit.edu.cn/apache/kafka/2.0.1/,若是源不可用,自行更換其餘源。如圖:
下載本身須要的版本
將下載的Kafka上傳到服務器,使用以下命令解壓:
tar -zxvf kafka_2.11-2.0.1.tgz
解壓後進入到config文件夾,以下:
分別配置三個文件:
server.properties:
主要配置如下幾項,其餘的都按默認配置便可
broker.id=1 #指定端口 port=9092 #指定主機 host.name=localhost #數據存儲位置 log.dirs=/usr/local/middle/kafka_2.11-2.0.1/kafka-logs #鏈接zookeeper配置項,這裏指定的是單機,因此只須要配置localhost,如果實際生產環境,須要在這裏添加其餘ip地址和端口號 zookeeper.connect=localhost:2181
如圖:
·
zookeeper.properties配置:
producer.properties配置:
consumer.properties配置:
啓動kafka:
1. 啓動zookeeper服務
進入kafka根目錄,使用以下命令啓動zookeeper。
bin/zookeeper-server-start.sh config/zookeeper.properties
如圖:
會執行環境變量配置的zk,出現如上圖所示表示啓動成功。
新開一個會話啓動kafka,使用以下命令:
bin/kafka-server-start.sh config/server.properties
以下圖:
出現如上圖則表示kafka啓動成功。
至此,單機的Kafka安裝完成了。