hadoop节点和角色

0x6upsns  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(393)

我有一个hadoop集群,它有50多个节点,我们偶尔会遇到磁盘故障,需要解除datanode角色的使用。
我的问题是-如果我只是解除datanode的委托并让tasktracker保持运行,这是否会导致该节点上的任务/作业失败,因为该节点上的hdfs服务不可用?

wkyowqbh

wkyowqbh1#

node1上的tasktracker是否因为该节点上没有datanode服务而处于空闲状态?正确,如果数据节点被禁用,那么任务跟踪器将无法处理数据,因为数据将不可用;它将是空闲的。2或者tasktracker处理来自其他节点上datanodes的数据吗?不,由于数据局部性原则,任务跟踪器不会处理来自其他节点的数据。。三。节点1上的tasktracker服务是否由于其节点上的dn关闭而出现错误,任务跟踪器将无法处理任何数据,因此没有错误。;4如果我在hdfs上运行hive、impala等服务,那么这些服务会在与node1上的tasktracker联系时抛出错误吗?他们将无法联系节点1上的任务跟踪器。当客户机请求处理数据时,name node告诉客户机数据位置,因此所有其他应用程序都将基于数据位置与数据节点通信

yhuiod9q

yhuiod9q2#

我认为任何试图从“死”节点上的hdfs读取数据的任务都会失败。这将导致节点在n次失败后被m/r列入黑名单(我认为默认值是3)。而且,我相信每次作业运行时都会发生这种情况。
但是,作业仍然应该完成,因为路由到坏节点的任务将在其他节点上重试。

wnavrhmk

wnavrhmk3#

首先,为了运行作业,您需要有输入文件。因此,当您将输入文件加载到hdfs时,默认情况下会将其拆分为64mb块大小。此外,将有3个默认设置的复制。现在,由于集群中的一个数据节点出现故障,name node将不在该节点中存储数据。即使它也尝试存储,它也会从数据节点获得关于状态的频繁更新。所以它不会选择特定的数据节点来存储数据。
当您没有磁盘空间并且集群中只剩下一个死数据节点时,它应该抛出异常。然后是时候替换数据节点并扩展集群了。
希望这有帮助。

相关问题