1. 程式人生 > >kafka安裝和環境搭建

kafka安裝和環境搭建

kafka具體的介紹這裡不再進行敘述,已經有很多的好的文章進行敘述了,這裡只是記錄下自己搭建kafka環境的相關過程。

作業系統:centos6.5 64位

三臺伺服器(虛擬機器)192.168.100.90,192.168.100.91,192.168.100.92

三臺伺服器組成kafka叢集,90和91伺服器組成zookeeper叢集

一、安裝zookeeper叢集

zookeeper在kafka中起到了關鍵的作用,記錄consumer、broker的註冊資訊,consumer的消費偏移量等等。當然,zookeeper不一定非得叢集,部署一臺也可以,這裡只為涉及到相關的知識進行進群部署。

zookeeper部署很簡單,只需要解壓並且配置zoo.cfg即可。

1、解壓zookeeper-3.4.6.tar.gz,這裡解壓到/usr/local目錄

2、進入安裝目錄中的conf資料夾,複製zoo_sample.cfg檔案並改名為zoo.cfg

cd /usr/local/zookeeper-3.4.6/conf
cp zoo_sample.cfg zoo.cfg

3、編輯zoo.cfg

dataDir=/data/zookeeper #zookeeper資料目錄
#有幾個伺服器叢集就配置以下幾個server,格式如:server.X=IP:port1:port2, X為一個數字,用於標誌伺服器,IP即為本伺服器ip,port1用於叢集中follower與leader進行通訊埠,port2用於leader選舉的埠
server.90=192.168.100.90:2888:3888
server.91=192.168.100.90:2888:3888

4、在上面配置的dataDir目錄下新建myid檔案,內容為上面配置的本機對應的server後面的那個數字,即server.X中X的值,這裡為90。這裡主要用來標誌zookeeper自己是叢集中的那一臺。

echo 90 > myid

5、啟動zookeeper

bin/zkServer.sh start   #啟動zookeeper
bin/zkServer.sh status #檢視zookeeper啟動狀態
 

注:每臺伺服器的zoo.cfg可以完全一樣,增加或減少伺服器增減配置檔案中server.X=IP:port1:port2配置即可,請注意不同伺服器中myid值不同,為本伺服器對應的server.X中X值

二、安裝kafka

kafka的安裝也很簡單,解壓完畢配置下即可

1、下載 kafka_2.10-0.8.2.1.tgz,並解壓,這裡解壓目錄依然為/usr/local

2、進入kafka安裝目錄的config資料夾,編輯裡面的server.properties檔案,下面列出幾個比較關鍵的配置

broker.id=90  #即為kafka伺服器起一個id,叢集中這個值應保持不同,可以用ip最後一段
host.name=192.168.100.90  #繫結該伺服器對應的ip,程式訪問該broker時就填寫該ip
zookeeper.connect=192.168.100.90:2181 #zookeeper地址

#注:以上僅為關鍵的幾個配置,其餘配置如接收訊息位元組限制,指定訊息的儲存時間,是否自動建立topic等等,這裡不再敘述

3、啟動

nohup bin/kafka-server-start.sh config/server.properties >kafka.log 2>&1 &

bin/kafka-server-start.sh -daemon config/server.properties  &

#注:啟動時請使用nohup或者-daemon方式啟動,不然你關閉了你的終端,kafka服務也隨著停了。其餘kafka伺服器的配置參考上面配置,請注意broker.id的配置,每臺伺服器應不同

4、常用命令

     1、bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 2 --topic test #建立topic,replication-factor為複製集數,partitions 為該topic的partition數目,topic為建立topic名字

     2、bin/kafka-topics.sh --list --zookeeper localhost:2181 #檢視topic列表

     3、bin/kafka-topics.sh -topic test -delete -zookeeper 192.168.100.90:2181 #刪除topic,這是最新版本的kafka刪除方式,最新版本刪除須在server.properties中配置 delete.topic.enable=true

     4、bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --topic test --zookeeper #老版本刪除topic方式,具體版本的分界線忘記了

     5、bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test #在控制檯啟動一個生產者,啟動後輸入傳送內容即可

     6、bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning #在控制檯啟動一個消費者,配合上面生產者使用,上面傳送訊息,這裡控制檯即打印出傳送的訊息,這裡的消費不會影響你程式中對資料的消費,可以大膽使用

#注:以上命令在任意一臺kafka伺服器執行即可,請保證命令裡zookeeper與broker地址填寫正確

以上就是kafka的安裝過程,如有說明不到位或者需要補充的地方請指出,謝謝

 參考以及文章推薦:http://blog.csdn.net/lizhitao/article/details/39499283