内容纲要
概要描述
TDH中的服务卸载,正常可以在Manager页面上以删除服务的操作方式进行。但对于Kafka来说,此方法不能完全删除掉数据,这样在之后如果重新安装了kafka服务,会因为存在残留的历史元数据,造成broker id不一致或者无法正常生产/消费数据等问题。
所以我们在卸载或者重装Kafka服务时,尽可能将数据彻底删除,可以参考以下步骤。
详细说明
1、manager删除服务
删除时,选择删除服务及服务数据:
2、节点删除数据
所有分配了kafka server角色的节点,删除topic及数据日志信息(确保数据不再使用,慎重操作!!!):
每个节点执行(路径参数:kmq.log.dirs):
rm -rf /mnt/disk*/hadoop/kmq/*
3、zookeeper中删除znode
1、manager页面上zookeeper添加自定义参数:skipACL=yes,然后配置重启zookeeper生效,让其不进行acl校验,否则删除时会报错acl权限问题,后面删除完可以再取消该参数;
2、登录zookeeper:
source TDH 客户端,然后执行:
zookeeper-client -server :2181
3、删除zk上关于kafka的所有目录,删除方式
# (注意谨慎操作,不要删错了!!!)
rmr /controller
需要删除的有:
consumers
controller_epoch
isr_change_notification
config
cluster
brokers
admin
kafka在zookeeper中的元数据存储结构如图
至此,kafka完整的卸载完成。