1. 程式人生 > >kafka+zookeeper叢集搭建

kafka+zookeeper叢集搭建

看了網上一批的叢集搭建,自己也寫一個kafak的叢集搭建,搭建很簡單,難的是這麼用java工程去發這訊息。

先準備一個kafka的tar包,我這裡用的是kafka_2.10-0.9.0.0.tar

      然後就是zookeeper,我用的是zookeeper-3.4.6.tar.gz

      這裡就不搭偽分佈了。偽分佈雖然是為了學習用,你在實際中肯定用的是分散式,而且,最重要的一點,叢集程式碼偽分佈和分散式還是有很多不一樣的。

準備3臺機器,

       1:  10.211.55.6——h3

       2:  10.211.55.5——h2

       3:  10.211.55.4 ——h1

zookeeper-3.4.6.tar.gz放在/usr目錄下,解壓

tar -zxvf zookeeper-3.4.6.tar.gz 

進到conf目錄

cp zoo_sample.cfg zoo.cfg

然後你就看到和一樣到檔案列表了


然後修改zoo.cfg裡的一些配置


這是我提供的文件

之後cd到剛才配置的data目錄,也就是dataDir=/usr/zookeeper-3.4.6/data這個

新建一個myid檔案

比如為這臺是h1的主機,myid就是1 

echo "1" > /usr/zookeeper-3.4.6/data/myid

然後h2主機就是2,h3就是3,依次配好

然後就可以跑起來了

每臺服務把zk跑起來 cd到bin目錄

./zkServer.sh start

跑起來之後jps一下,看下是否有程序生成,之後再./zkServer.sh status看下zookeeper到狀態



三臺都起好了,那就說明你zk已經搭建成功了




---------------------------kafka的搭建

kafka的搭建也很簡單,不過就是看看檔案裡是否生成了自己所建立的東西

kafka_2.10-0.9.0.0.tar 在/root目錄下解壓

cd /root

tar -xvf kafka_2.10-0.9.0.0.tar

然後建一個軟連線(個人愛好,你可以不照做)

ln -s /root/kafka_2.10-0.9.0.0 /home/kafka

這樣/home目錄下就生產了一個kafka檔案,指向/root/kafka_2.10-0.9.0.0


之後也超簡單,改下kafka的配置檔案就好了


我們要修改sever.properties檔案

改這幾個配置

host.name=h1-----改成你自己的主機

broker.id=1 -----類似zookeeper的myid,每個broker都是自己唯一的

log.dirs=/home/kafka/kafka-logs  ------ 指定你自己生產的檔案

num.partitions=1(這個我是不改,因為生產一個topic的時候我自己可以指定partitions個數)

zookeeper.connect=h1:2181,h2:2181,h3:2181 ---------把你的zookeeper的地址扔上去

3臺機都做同樣的事情,注意:3臺機的host.name broker.id不要寫一樣了,我之前就這樣,導致副本數多個會出現問題


至此,開始啟動kafka

cd 到kafka目錄



執行以下命令

bin/kafka-server-start.sh config/server.properties > /dev/null 2>&1 & 

沒有後面的shell命令,你的視窗將全是kafka的console

jps以下,看下你的kafka有沒有啟動成功



下一節,將繼續介紹kafka的java程式