音乐播放器
Great Wei
 
文章 标签
16

Powered by Gridea | Theme: Fog

Kafka磁盘扩容

起因

由于业务日志量不断变的庞大,当前2台kafka机器的磁盘占用过高,很快就不能正常使用,有两个解决方案。
(1) 添加机器
(2) 新增磁盘
由于考虑到目前使用的机器磁盘本身就比较小只有500G,于是我们选择了方案2,将磁盘扩容至1t,如果后期依旧不够使用,就需要考虑新增机器。

扩容步骤

(1) 迁移zookeeper(如果zk和kafka不再同一机器,无需考虑)。
(2) 选择扩容kafka集群中非controller节点,将历史数据拷贝到新磁盘中(使用rsync进行同步,考虑到历史数据过大,应该先进行拷贝,最后停止kafka节点,进行增量数据拷贝)。
(3) 重新扩容后的节点需要等到数据的同步成功后(可使用kafka_drop观察),继续操作下一台机器节点。

zookeeper迁移步骤:

(1) 关闭zk, ps -ef|grep zk|awk '{print $2}'|xargs kill
(2) zk数据迁移到新磁盘(使用rsync进行同步)
(3) 重启zk
(4) 检查zookeeper是否正常, ./zkServer.sh status

kafka迁移步骤:

(1) 进行数据拷贝到新磁盘 rsync -avPh /data/kafka /kafka_data/kafka。
(2) 关闭kafka 非controller 节点。
(3) 继续进行数据拷贝到新磁盘rsync -avPh /data/kafka /kafka_data/kafka 只需要copy kafka数据。
(4) 重启kafka节点(restart-server.sh)。
(5) 观察数据同步是否达到100%(可使用kafka_drop观察)。
(6) 继续下一台机器。

总结

迁移过程还算顺利,客户端无感知迁移。


请到客户端“主题--自定义配置--配置”中填入leancloud_appID和key