1. 程式人生 > >kafka遷移資料目錄

kafka遷移資料目錄

問題

先前儲存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)