增加数据目录:
kafka log.dirs
能够填写多个文件目录,以逗号分割。
- 停止
kafka broker
- 创建新的目录,修改
log.dirs
,添加新增的目录。 - 启动
kafka
ps: 新加目录后,原有的数据并不会被重新分配到新数据目录里。新创建的topic
会被放入分区文件数最少的磁盘目录。
迁移数据到新的目录
如果想要把原有目录里的kafka
数据迁移到新的目录,步骤如下
假设原有的数据目录为dir1
,目标数据目录为dir2
- 停止
kafka broker
- 进入
dir1
,将需要迁移的topic
内容移到dir2
下。 - 修改
dir1
内的recovery-point-offset-checkpoint
,将需要迁移的topic
相关的内容,复制到dir2
里的recovery-point-offset-checkpoint
文件内。 dir1
的replication-offset-checkpoint
文件内容和3
一样处理。- 重启
kafka
ps: 如果是刚刚增加的数据目录,replication-offset-checkpoint
和recovery-point-offset-checkpoint
内容可能是空的,可以在加完数据目录后,先创建一个topic
,并且replica
数为broker
个数,让每个broker
的新加的目录里,都有这个topic
内容。这样上面的2
份文件就不为空。在这基础上继续迁移数据会方便一些。
参考