Hadoop安全模式恢复 - 耗费大量时间

时间:2010-05-07 22:18:46

标签: amazon-ec2 hadoop cloud hdfs

我们正在Amazon EC2上运行我们的群集。我们正在使用cloudera脚本来设置hadoop。在主节点上,我们从服务开始。

609   $AS_HADOOP '"$HADOOP_HOME"/bin/hadoop-daemon.sh start namenode'
610   $AS_HADOOP '"$HADOOP_HOME"/bin/hadoop-daemon.sh start secondarynamenode'
611   $AS_HADOOP '"$HADOOP_HOME"/bin/hadoop-daemon.sh start jobtracker'
612 
613   $AS_HADOOP '"$HADOOP_HOME"/bin/hadoop dfsadmin -safemode wait'

在从机上,我们运行以下服务。

625   $AS_HADOOP '"$HADOOP_HOME"/bin/hadoop-daemon.sh start datanode'
626   $AS_HADOOP '"$HADOOP_HOME"/bin/hadoop-daemon.sh start tasktracker'

我们面临的主要问题是,hdfs安全模式恢复需要一个多小时,这导致我们的工作完成延迟。

以下是主要的日志消息。

1. domU-12-31-39-0A-34-61.compute-1.internal 10/05/05 20:44:19 INFO ipc.Client: Retrying connect to server: ec2-184-73-64-64.compute-1.amazonaws.com/10.192.11.240:8020. Already tried 21 time(s).
2. The reported blocks 283634 needs additional 322258 blocks to reach the threshold 0.9990 of total blocks 606499. Safe mode will be turned off automatically.

第一条消息在任务跟踪器日志中抛出,因为未启动作业跟踪器。由于hdfs安全模式恢复,作业跟踪器无法启动。

在恢复过程中抛出第二条消息。

我做错了吗? 正常的hdfs安全模式恢复需要多长时间? 是否有任何加速,通过不启动任务跟踪器,直到工作跟踪器启动? 在亚马逊集群上有任何已知的hadoop问题吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在安全模式下花费的时间通常与群集的大小成比例。也就是说,正常时间最多只有几分钟,而不是几小时。有几件事需要检查。

  1. 确认所有数据节点都正常启动。数据节点需要几秒钟或几分钟才能报告大量块。检查数据节点日志以查看启动期间发生的情况。
  2. 确保您有足够的名称节点线程(hdfs-site.xml中的dfs.namenode.handler.count),以便能够处理要签入的数据节点的数量。默认值为10,应该是适用于最多20个节点左右的集群。除此之外,增加这一点可能是有意义的。您可能会在数据节点日志中看到重复发生的重试。这是重试消息似乎向我指示的内容(例如,重试21次)。
  3. 希望这有帮助。