当数据节点上的hdfs发生写操作时,当我们解除数据节点的工作时会发生什么?它将停止向该节点上的hdfs写入数据并解除该节点的功能,还是将完成写入然后解除该节点的功能。
xienkqul1#
正如hadoop wiki上所述:hadoop提供了退役特性来注销一组现有的数据节点。要失效的节点应包含在排除文件中,排除文件名应指定为配置参数dfs.hosts.exclude。此文件应该在namenode启动期间指定。exclude file属性命名包含不允许连接到namenode的主机列表的文件。当这种情况发生时,我认为 IOException 是通过进程写入已停用的节点获得的。
IOException
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
ttisahbt3#
在为要取消使用的节点添加条目之后。您需要执行namenode-refreshnodes命令来启动实际的退役过程。实际的任务过程非常缓慢。所有当前任务(读/写)都将照常继续。但不允许将来所有的写入操作,但允许以最低优先级进行读取。同时将所有的块复制到其他节点。
3条答案
按热度按时间xienkqul1#
正如hadoop wiki上所述:
hadoop提供了退役特性来注销一组现有的数据节点。要失效的节点应包含在排除文件中,排除文件名应指定为配置参数dfs.hosts.exclude。此文件应该在namenode启动期间指定。
exclude file属性命名包含不允许连接到namenode的主机列表的文件。
当这种情况发生时,我认为
IOException
是通过进程写入已停用的节点获得的。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
ttisahbt3#
在为要取消使用的节点添加条目之后。您需要执行namenode-refreshnodes命令来启动实际的退役过程。实际的任务过程非常缓慢。所有当前任务(读/写)都将照常继续。但不允许将来所有的写入操作,但允许以最低优先级进行读取。同时将所有的块复制到其他节点。