本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。https://developer.aliyun.com/article/706511 点击链接欢迎加入感兴趣的技术领域群。
hadoop下线节点一般采用退役流程decommission,一般不直接把节点上nodemanager或者datanode进程暴力停掉,为了是让数据和任务迁移,特别是数据,所以一般对于datanode一定要采用退役过程。DataNode退役过程启动的时候,虽然新的数据块写入不会再写到这个datanode,但是这台datanode上的数据块要拷贝到别的datanode上,当集群比较小的时候,而且这台datanode上的数据块又很多的时候,拷贝数据块的过程占用集群带宽,其他的datanode节点还会不断的向namenode汇报meta,所以这个过程会导致集群比较卡。 针对这个过程,下线之前,可以先删除一部分不用的hdfs文件减少数据块;dfs.max-repl-streams(默认2)配置选项会对datanode下线时每个datanode同时能够进行多少个block的并行拷贝进行控制,可以配置少点。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。