【问题标题】:Why is Google Dataproc HDFS Name Node in Safemode?为什么 Google Dataproc HDFS Namenode 处于安全模式?
【发布时间】:2015-10-01 19:12:55
【问题描述】:

我正在尝试通过将 Spark 作业提交到 Dataproc 集群来写入位于 hdfs:///home/bryan/test_file/ 的 HDFS 目录。

我收到名称节点处于安全模式的错误消息。我有 a solution 让它退出安全模式,但我担心这可能是出于其他原因。

为什么 Dataproc 集群处于安全模式?

ERROR org.apache.spark.streaming.scheduler.JobScheduler: Error running job streaming job 1443726448000 ms.0
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory /home/bryan/test_file/_temporary/0. Name node is in safe mode.
The reported blocks 125876 needs additional 3093 blocks to reach the threshold 0.9990 of total blocks 129098.
The number of live datanodes 2 has reached the minimum number 0. Safe mode will be turned off automatically once the thresholds have been reached.

【问题讨论】:

    标签: hdfs google-cloud-storage google-cloud-platform google-cloud-dataproc


    【解决方案1】:

    什么是安全模式

    NameNode 处于安全模式,直到数据节点报告哪些块在线。这样做是为了确保 NameNode 不会开始复制块,即使(实际上)有足够的(但未报告的)复制。

    为什么会这样

    一般情况下,您描述的 Dataproc 集群不会出现这种情况。在这种情况下,我怀疑集群中的虚拟机没有正常联机或遇到问题(网络、其他),因此,集群从未离开安全模式。坏消息是这意味着集群处于错误状态。由于 Dataproc 集群可以快速启动,我建议您删除集群并创建一个新集群。好消息是,这些错误应该很少见。

    【讨论】:

      【解决方案2】:

      原因是您可能在启动工作程序之前启动了主节点(房屋名称节点)。如果你关闭所有节点,首先启动worker,然后启动它应该工作的主节点。我怀疑主节点首先启动,检查工作人员是否在那里。如果他们处于离线状态,它将进入安全模式。一般来说,由于心跳的存在,这不应该发生。但是,它就是这样,重新启动主节点将解决问题。就我而言,它是在 Dataproc 上使用 spark。

      HTH

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-11-11
        • 2014-09-26
        • 1970-01-01
        • 1970-01-01
        • 2010-09-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多