kafka+zookeeper叢集搭建
先準備一個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程式