kafka分散式叢集的搭建
阿新 • • 發佈:2020-09-02
使用ZooKeeper+kafka搭建高可用叢集。
-
ZooKeeper安裝包:apache-zookeeper-3.6.1-bin.tar.gz
-
kafka安裝包:kafka_2.13-2.6.0.tgz
-
jdk1.8及以上(自行配置環境變數)
-
假設為三臺伺服器搭建kafka叢集(192.168.12.86、192.168.12.87、192.168.12.88)
主機IP | 訊息埠 | 通訊埠 | 節點目錄 |
---|---|---|---|
192.168.12.86 | 2181 | 2888:3888 | /db/dev/env/zookeeper/zk1 |
192.168.12.87 |
2181 | 2888:3888 | /db/dev/env/zookeeper/zk2 |
192.168.12.88 | 2181 | 2888:3888 | /db/dev/env/zookeeper/zk3 |
叢集通訊埠 | 節點目錄 | |
---|---|---|
192.168.12.86 | 9092 | /db/dev/env/kafka/kafkaServer/kafka |
192.168.12.87 | 9092 | /db/dev/env/kafka/kafkaServer/kafka |
192.168.12.88 | 9092 | /db/dev/env/kafka/kafkaServer/kafka |
[dev@datanode6 zookeeper]$ tar -zxvf apache-zookeeper-3.6.1-bin.tar.gz -C zkServer/
vim /etc/profile
新增後
#zookeeper export ZOOKEEPER_HOME=/db/dev/env/zookeeper/zkServer/apache-zookeeper-3.6.1-bin export PATH=$ZOOKEEPER_HOME/bin:$PATH #JDK export JAVA_HOME=/db/java8 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
使環境變數生效:
source /etc/profile
新增zoo.cfg
cd /opt/zookeeper/zookeeper-3.4.13/conf
複製一份zoo_sample.cfg改名為zoo.cfg並新增配置
cp zoo_sample.cfg zoo.cfg vim zoo.cfg
修改為:
dataDir=/db/dev/env/zookeeper/zkServer/apache-zookeeper-3.6.1-bin
新增:vim zoo.cfg
dataDir=/db/dev/env/zookeeper/zkServer/zkinfo/data/data_1 dataLogDir=/db/dev/env/zookeeper/zkServer/zkinfo/logs/logs_1 server.0=192.168.12.86:2888:3888 server.1=192.168.12.87:2888:3888 server.2=192.168.12.88:2888:3888
新增data資料夾:
[root@hadoop2 zookeeper-3.4.13]# mkdir data
建立myid根據serverip對應填寫0 1 2
[root@hadoop2 data]# vim myid
vi /etc/sysconfig/iptables
新增
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 2181 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 2888 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 3888 -j ACCEPT
備註:這裡使用2181/2888/3888是Zookeeper需要用到的埠號,22埠是用來遠端的埠,可以不用新增。一般將需要開放的埠號新增到“-A INPUT -p tcp -m state --state NEW -m tcp--dport 22 -j ACCEPT”行的上面或者下面,切記不要新增到最後一行,否則防火牆重啟後不生效
重啟防火牆:
service iptables restart
zkServer.sh start
檢視狀態
zkServer.sh status
vim server.properties //三個節點都要根據不同的ip 設定broker.id=0 1 2 broker.id=0 delete.topic.enable=true listeners=PLAINTEXT://192.168.12.8*:9092 log.dirs==/db/dev/env/kafka/kafkaServer/kafkainfo/kafka-logs1 zookeeper.connect=192.168.12.86:2181,192.168.12.87:2181,192.168.12.88:2181
cd bin ./kafka-server-start.sh -daemon ../config/server.properties jps 後出現 20613 QuorumPeerMain 38582 Kafka