1. 程式人生 > >kafka單節點遷移到分散式

kafka單節點遷移到分散式

一 zookeeper 分散式搭建

  1. 下載zookpeeper:zookeeper-3.14.10.tar.gz

  2. 根據公司使用

  3. 將zookeeper-3.4.10.tar.gz在user/local/下解壓

  4. 建立資料夾mkdir /usr/local/zookeeper-3.4.10/data

  5. 更名並修改zk配置檔案 a) cd /usr/local/zookeeper-3.4.10/conf/ b) mv zoo_sample.cfg zoo.cfg c) vi zoo.cfg 在這裡插入圖片描述

  6. 建立zk日誌目錄,並修改日誌指向 mkdir /usr/local/zookeeper-3.4.10/log vi /usr/local/zookeeper-3.4.10/bin/zkEnv.sh 在這裡插入圖片描述

    vi usr/local/zookeeper-3.4.10/conf/ log4j.properties 在這裡插入圖片描述

  7. 按照上面的過程在三個伺服器中搭建zk

  8. 建立myid Vi /usr/local/zookeeper-3.4.10/data/myid 在這裡插入圖片描述

  9. 修改zk配置:vi /usr/local/zookeeper-3.4.10/conf/zoo.cfg 在這裡插入圖片描述

  10. 分別啟動三個zk:/usr/local/zookeeper-3.4.10/bin/zkServer.sh start /usr/local/zookeeper-3.4.10/conf/zoo.cfg

  11. 檢視zk狀態 /usr/local/zookeeper-3.4.10/bin/zkServer.sh status 檢視到一個leader,其他為follower代表成功

  12. 停止 /usr/local/zookeeper-3.4.10/bin/zkServer.sh stop

二 .kafka 分散式搭建 13. 根據公司版本下載kafka:kafka_2.12-0.10.2.0.taz 14. 解壓kafka a) cd /usr/local b) tar -zxf kafka_2.12-0.10.2.0.tgz 15. 建立資料資料夾:mkdir /usr/local/kafka_2.12-0.10.2.0/data 16. 修改配置檔案:vi /usr/local/kafka_2.12-0.10.2.0/config/server.properties 在這裡插入圖片描述在這裡插入圖片描述在這裡插入圖片描述 17. 按照相同的步驟配置兩個kafka

二 .資料重新分配

  1. 檢視老kakfa的所有的topic:bin/kafka-topic.sh –zookeeper 192.168.8.107:2181, 192.168.8.107:2181, 192.168.8.107:2181 --list

  2. 記錄並修改原來kafka的分割槽數目:bin/kafka-topic.sh --alter –zookeeper 192.168.8.107:2181, 192.168.8.107:2181, 192.168.8.107:2181 --partition 20 --topic xx

  3. 啟動之前準備好的兩個kafka:/usr/local/kafka_2.12-0.10.2.0/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.12-0.10.2.0/config/server.properties

  4. 去zk檢查一下是不是所有節點都上來了。

  5. 成功後,編寫所需的json檔案:vi expand-cluster-reassignment.json,格式如下 在這裡插入圖片描述

  6. 分割槽重新分配到副本中:bin/kafka-reassign-partitions.sh –zookeeper 192.168.8.107:2181, 192.168.8.107:2181, 192.168.8.107:2181 --reassignment-json-file expand-cluster-reassignment.json –execute 打印出 Successfully started reassignment of partitions 重新分割槽成功

  7. 對於需要新建立的topic:bin/kafka-topics.sh --create --zookeeper localhost:2181(zk叢集節點,隔離) --replication-factor 1(叢集個數) --partitions 1(分割槽數,推薦20個) --topic (topic名稱)