Hadoop节点和角色

Hadoop节点和角色,hadoop,mapreduce,hdfs,cloudera,Hadoop,Mapreduce,Hdfs,Cloudera,我有一个Hadoop集群,它有50多个节点,我们偶尔会遇到磁盘故障,需要解除datanode角色的使用 我的问题是-如果我只是解除datanode的运行并让tasktracker保持运行,这会不会导致由于该节点上的HDFS服务不可用而导致该节点上的任务/作业失败?我预计任何试图从“死”节点上的HDFS读取的任务都会失败。这将导致节点在N次故障后被M/R列入黑名单(我认为默认值为3)。而且,我相信每次作业运行时都会发生这种情况 但是,作业仍应完成,因为路由到坏节点的任务将在其他节点上重试 首先,为

我有一个Hadoop集群,它有50多个节点,我们偶尔会遇到磁盘故障,需要解除datanode角色的使用


我的问题是-如果我只是解除datanode的运行并让tasktracker保持运行,这会不会导致由于该节点上的HDFS服务不可用而导致该节点上的任务/作业失败?

我预计任何试图从“死”节点上的HDFS读取的任务都会失败。这将导致节点在N次故障后被M/R列入黑名单(我认为默认值为3)。而且,我相信每次作业运行时都会发生这种情况


但是,作业仍应完成,因为路由到坏节点的任务将在其他节点上重试

首先,为了运行作业,您需要有输入文件。因此,当您将输入文件加载到HDFS时,默认情况下会将其拆分为64 MB的块大小。此外,将有3个默认设置的复制。现在,由于集群中的一个数据节点出现故障,Name节点将不在该节点中存储数据。即使它也尝试存储,它也会从数据节点获得关于状态的频繁更新。因此,它不会选择特定的数据节点来存储数据

当您没有磁盘空间并且集群中只剩下一个死数据节点时,它应该引发异常。然后是时候替换数据节点并扩展集群了

希望这有帮助

  • Node1上的TaskTracker是否处于空闲状态,因为该节点上没有DataNode服务正确,如果数据节点被禁用,则任务跟踪器将无法处理数据,因为数据将不可用;它将处于空闲状态。2.或者TaskTracker是否处理来自其他节点上的DataNodes的数据否,由于数据局部性原则,任务跟踪器不会处理来自其他节点的数据。。3.节点1上的TaskTracker服务是否因其节点上的DN关闭而出错任务跟踪器将无法处理任何数据,因此不会出现错误。;4.如果我在HDFS上运行Hive、Impala等服务,这些服务会在与Node1上的TaskTracker联系时抛出错误吗他们将无法联系节点1上的任务跟踪器。当客户端请求处理数据时,名称节点会告诉客户端数据位置,因此所有其他应用程序都会根据数据位置与数据节点通信

  • 也许为了避免这种情况,您可以从主机上删除数据节点服务,这样就不会有问题了。。。但是,随着处理时间的增加,数据将通过网络读取。网络读取数据通常仍然通过HDFS,因此如果该服务不在那里,我不希望它能够获取数据。@Ko2r Datanode服务已停用,我很好奇,如果在同一节点上没有datanode角色,Tasktracker角色是否有任何意义。@AndrewWhite因此,在同一节点上没有datanode的Tasktracker服务几乎毫无用处?您可以在没有HDFS的情况下执行m/R,但作业必须配置为以m/R可以处理的方式写入。user2925479和@AndrewWhite,假设我只禁用了Node1上的datanode服务,而TaskTracker仍在运行,那么让我重新表述一下这个问题。Node2-Node50正在运行所有服务。1.Node1上的TaskTracker是否处于空闲状态,因为该节点上没有DataNode服务?2.或者TaskTracker是否处理来自其他节点上的DataNodes的数据?3.节点1上的TaskTracker服务是否因其节点上的DN关闭而出错?4.如果我在HDFS上运行Hive、Impala等服务,那么这些服务在与Node1上的TaskTracker联系时会出现错误吗?谢谢@Data KeeG。你的回答有帮助:)