一台機器部署三台zookeeper:同理kafka也可以這樣部署
解壓複制三個目錄,分别為 zookeeper,zookeeper1,zookeeper2
[[email protected] app]$ ll
lrwxrwxrwx. 1 hadoop hadoop 25 Sep 1 03:37 zookeeper -> zookeeper-3.4.5-cdh5.7.0/
drwxr-xr-x. 14 hadoop hadoop 4096 Oct 29 23:21 zookeeper1
drwxr-xr-x. 14 hadoop hadoop 4096 Oct 29 23:21 zookeeper2
drwxr-xr-x. 14 hadoop hadoop 4096 Oct 29 22:59 zookeeper-3.4.5-cdh5.7.0
[[email protected] app]$
修改配置檔案:dataDir需要不一樣,每個server的端口号需要不一樣,clientPort需要不一樣
第一台:
[[email protected] zookeeper]$ cp ./conf/zoo_sample.cfg zoo.cfg
[[email protected] zookeeper]$ vi ./conf/zoo.cfg
##該目錄需手動建立
dataDir=/home/hadoop/data/zookeeper
server.1=hadoop001:2888:3888
server.2=hadoop001:2889:3889
server.3=hadoop001:2890:3890
clientPort=2181
第二台:
[[email protected] zookeeper1]$ cp ./conf/zoo_sample.cfg zoo.cfg
[[email protected] zookeeper1]$ vi ./conf/zoo.cfg
##該目錄需手動建立
dataDir=/home/hadoop/data/zookeeper1
server.1=hadoop001:2888:3888
server.2=hadoop001:2889:3889
server.3=hadoop001:2890:3890
clientPort=2182
第三台:
[[email protected] zookeeper2]$ cp ./conf/zoo_sample.cfg zoo.cfg
[[email protected] zookeeper2]$ vi ./conf/zoo.cfg
##該目錄需手動建立
dataDir=/home/hadoop/data/zookeeper2
server.1=hadoop001:2888:3888
server.2=hadoop001:2889:3889
server.3=hadoop001:2890:3890
clientPort=2183
建立dataDir目錄:
[[email protected] zookeeper]$ mkdir /home/hadoop/data/zookeeper
[[email protected] zookeeper1]$ mkdir /home/hadoop/data/zookeeper1
[[email protected] zookeeper2]$ mkdir /home/hadoop/data/zookeeper2
建立myid檔案到dataDir目錄下:
[[email protected] zookeeper]$ echo 1 > /home/hadoop/data/zookeeper/myid
[[email protected] zookeeper1]$ echo 2 > /home/hadoop/data/zookeeper1/myid
[[email protected] zookeeper2]$ echo 3 > /home/hadoop/data/zookeeper2/myid
啟動:
[[email protected] zookeeper]$ ./bin/zkServer.sh start
[[email protected] zookeeper1]$ ./bin/zkServer.sh start
[[email protected] zookeeper2]$ ./bin/zkServer.sh start
檢視狀态:
[[email protected] zookeeper]$ ./bin/zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/app/zookeeper/bin/../conf/zoo.cfg
Mode: follower
[[email protected] zookeeper1]$ ./bin/zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/app/zookeeper1/bin/../conf/zoo.cfg
Mode: leader
[[email protected] zookeeper2]$ ./bin/zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/app/zookeeper2/bin/../conf/zoo.cfg
Mode: follower
zookeeper的三種端口号:
2181:用戶端連接配接Zookeeper叢集使用的監聽端口号
3888:選舉leader使用
2888:叢集内機器通訊使用(Leader和Follower之間資料同步使用的端口号,Leader監聽此端口)
-------------------------------------------------
kafka部署:跟zookeeper不太一樣的是不需要三個kafka目錄,隻需要配置三個不同的配置檔案,在啟動的時候指定不同的配置檔案即可
[[email protected] config]$ cp server.properties server1.properties
[[email protected] config]$ cp server.properties server2.properties
分别修改三個配置檔案:
第一台:
[[email protected] kafka]$ vi config/server.properties
broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/home/hadoop/log/kafka-logs
zookeeper.connect=hadoop001:2181,hadoop001:2182,hadoop001:2183/kafka
第二台:
[[email protected] kafka]$ vi config/server1.properties
broker.id=1
listeners=PLAINTEXT://:9093
log.dirs=/home/hadoop/log/kafka-logs1
zookeeper.connect=hadoop001:2181,hadoop001:2182,hadoop001:2183/kafka
第三台:
[[email protected] kafka]$ vi config/server.properties
broker.id=2
listeners=PLAINTEXT://:9094
log.dirs=/home/hadoop/log/kafka-logs2
zookeeper.connect=hadoop001:2181,hadoop001:2182,hadoop001:2183/kafka
啟動指令:
啟動腳本為 bin/kafka-server-start.sh 檢視啟動指令
USAGE: ./kafka-server-start.sh [-daemon] server.properties [--override property=value]*
啟動三台kafka:
[[email protected] kafka]$ ./bin/kafka-server-start.sh -daemon ./config/server.properties
[[email protected] kafka]$ ./bin/kafka-server-start.sh -daemon ./config/server1.properties
[[email protected] kafka]$ ./bin/kafka-server-start.sh -daemon ./config/server2.properties
僅供測試使用