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)
原文地址:https://www.cnblogs.com/zhangyunlin/p/6168177.html