###场景 HDP通过Ambari安装如果不单独更改kafka的日志路径,默认是会写入机器的系统盘,但由于系统盘的磁盘空间有限,需要切换。 ###kafka存储日志清除 有两种方式,一种是按时间清除通过配置 log.retention.hours
,默认是7天;一种是按照消息大小清除通过配置 log.retention.bytes
,如果为负数则不按此策略清除。
目前刚上了一个大量的埋点数据,通过kafka转发,每日有3到4G的增长,按照默认的保存7天的策略是行不通的,所以改为了1天。但这不是最优解决办法,所以替换掉 log.dirs
,但是发现Ambari替换此配置不能带/home关键词,所以通过建立软连接的方式去做。 如图:
###步骤
-
kafka账号下建立:kafka-logs目录。
-
使用root账号在与默认配置同一目录下建立软连接:
ln -s /home/kafka/kafka-logs kafka-logs-01
其中kafka-logs-01跟默认配置的日志路径一致。 -
修改软连接所属用户以及用户组:
chown -h kafka:hadoop kafka-logs-01
-
copy kafka log至新的路径下,需要停止kafka服务避免新的数据丢失,切换到kafka账号执行命令:
cp -r /kafka-logs/* kafka-logs/
。 -
修改Ambari配置,重启kafka