kafka遷移資料目錄
阿新 • • 發佈:2019-01-27
問題
先前儲存kafka日誌的磁碟空間太小,zabbix警報不斷,於是加了磁碟,將日誌存到新磁碟上。
解決方案
依次在每臺機器上操作,保證有機器能響應producer和consumer的操作。
加磁碟需要重啟伺服器。
1. 拷貝日誌
伺服器啟動後,將以前的日誌拷貝到新目錄
cp /data/kafka-logs /home/data/kafka-logs
2. 修改配置檔案
這裡以預設配置檔案為例config/server.properties
vim server.properties
#修改log存放位置
log.dirs=/home/data/kafka-logs
3. 啟動服務
啟動zookeeper(因為zk和broker在同一節點,所以要先啟動zk,否則跳過該步驟)
sudo /usr/install/zookeeper/bin/zkServer.sh start
啟動broker
nohup sudo /usr/install/kafka/bin/kafka-server-start.sh /usr/install/kafka/config/server.properties &
Tip
在整個叢集還沒完整遷移完的情況下,操作會報出大量如下錯誤,此時並不影響producer和consumer進行操作(存活的其餘partition會響應相應請求)
WARN Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
java.net.ConnectException: 拒絕連線
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:744)
at org.apache .zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1146)