datanode退役vs写

kkih6yb8  于 2021-05-30  发布在  Hadoop
关注(0)|答案(3)|浏览(348)

当数据节点上的hdfs发生写操作时,当我们解除数据节点的工作时会发生什么?
它将停止向该节点上的hdfs写入数据并解除该节点的功能,还是将完成写入然后解除该节点的功能。

xienkqul

xienkqul1#

正如hadoop wiki上所述:
hadoop提供了退役特性来注销一组现有的数据节点。要失效的节点应包含在排除文件中,排除文件名应指定为配置参数dfs.hosts.exclude。此文件应该在namenode启动期间指定。
exclude file属性命名包含不允许连接到namenode的主机列表的文件。
当这种情况发生时,我认为 IOException 是通过进程写入已停用的节点获得的。

rhfm7lfc

rhfm7lfc2#

我在cloudera找到了一个解决方案。
停用仅适用于hdfs datanode、mapreduce tasktracker、yarn nodemanager和hbase regionserver角色。如果主机上运行其他角色,则这些角色将被停止/终止。
http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cm_mc_decomm_host.html

ttisahbt

ttisahbt3#

在为要取消使用的节点添加条目之后。您需要执行namenode-refreshnodes命令来启动实际的退役过程。实际的任务过程非常缓慢。所有当前任务(读/写)都将照常继续。但不允许将来所有的写入操作,但允许以最低优先级进行读取。同时将所有的块复制到其他节点。

相关问题