kafka+zk詳解可參考:https://blog.51cto.com/johnzheng/2371286
一、環境准備:
kafka和zk需要jdk1.8環境,安裝前需安裝jdk1.8,參考jdk1.8安裝步驟
三台服務器:172.20.224.37、172.20.224.38、172.20.224.39,centos7系統。kafka至少兩台做主從,zk做集群最少三台
二、安裝zk
1、獲取安裝包:
官網獲取安裝包:https://zookeeper.apache.org/
2、解壓安裝包到/usr/local
tar -zxvf xxxxx
3、zk環境變量配置
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.9
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH
修改后,使配置文件生效:source /etc/profile
4、zk主機域名映射,配置hosts文件(也可不配,不配,配置文件里面直接寫IP地址)
vim /etc/hosts
5、zk配置文件配置
進入zk的conf子文件夾,將zoo_sample.cfg文件copy一份出來,命名為zoo.cfg,修改zoo.cfg配置文件,添加server
dataDir=/usr/local/zookeeper-3.4.9/data #若沒有此路徑,需要手動創建
dataLogDir=/usr/local/zookeeper-3.4.9/logs #若沒有此路徑,需要手動創建
server.1=172.20.224.37:2888:3888
server.2=172.20.224.38:2888:3888
server.3=172.20.224.39:2888:3888
說明:server.A=B:C:D 其中A是一個數字,表示這個是第幾號服務器;B是這個服務器的IP地址(如果做了域名映射,也可以用域名);C表示的是這個服務器與集群中的Leader服務器交換信息的端口;D表示的是萬一集群中的Leader服務器掛了,需要一個端口來重新進行選舉,選出一個新的Leader,而這個端口就是用來執行選舉時服務器相互通信的端口。
6、zk識別文件創建,創建myid文件
在dataDir路徑下創建myid文件,然后分別在myid文件中安裝zoo.cfg.A中A的數值,在不同機器上的該文件中填寫相應的值,例如server.1就寫1就可以了
7、zk配置拷貝
將zk整個配置文件拷貝到其他zk服務器,配置對應的環境變量和地址映射,修改對應的myid值
8、zk啟動驗證
進入安裝bin目錄,執行zkServer.sh start 啟動所有節點的zk (啟動:start;停止:stop;狀態:status)
9、查看狀態:zkServer.sh status
10、zk動態日志查看
三、安裝kafka
1、獲取安裝包:
官網獲取安裝包:http://kafka.apache.org/downloads
2、解壓安裝包到/usr/local
tar -zxvf xxxxx
3、修改server.properties配置文件
4、修改connect-standalone.properties配置文件
5、修改 producer.properties 配置文件
6、修改consumer.properties 配置文件
7、拷貝安裝包文件到其他kafka路徑
注意:修改server.properties文件里面的broker.id和listeners的值
8、啟動服務驗證進程
bin/kafka-server-start.sh -daemon config/server.properties 2>&1 &
kafka的啟動日志: