zoukankan      html  css  js  c++  java
  • 解决因block的损坏而导致hdfs启动后进入安全模式

    问题描述:

         以单机伪分布式方式安装了hadoop2.7.1,并在该机器上安装了hive1.2.1。首先执行 sbin/start-dfs.sh 启动hdfs服务,然后执行hive,这时hive脚本启动报错,提示hdfs进入了安全模式,hive无法创建临时目录,出错信息如下:  

    原因分析:

           在hdfs的配置文件hdfs-default.xml中定义了这样两个属性:     

    <property>
      <name>dfs.namenode.safemode.threshold-pct</name>
      <value>0.999f</value>
      <description>
        指定一个百分比的阀值,假设我们设置的副本数(即参数dfs.replication)是5,那么在dataNode上就应该有5个副本存在,假设只存在3个副本,那么实际比率就是3/5=0.6如果这个值小于设置的值,就会进入安全模式
      </description>
    </property>
    
    <property>
      <name>dfs.namenode.safemode.min.datanodes</name>
      <value>0</value>
      <description>
    dfs.namenode.safemode.min.datanodes的意思指namenode退出安全模式之前有效的(活着的)datanode的数量。这个值小等于0表示在退出安全模式之前无须考虑有效的datanode节点个数,值大于集群中datanode节点总数则表示永远处于安全模式;
    </description> </property>

    解决办法:

      根据报错图中信息,可以看到是有2个block在复制时出问题了,所以可以先用 bin/hdfs fsck / 命令找出hdfs是哪些块有问题,然后bin/hdfs dfs -rm fr 文件名 ,把有问题的block对应的文件删掉,然后重启hdfs就ok了

       或者执行 hadoop dfsadmin -safemode leave 退出安全模式

  • 相关阅读:
    LLC半桥谐振变换器调试记录
    工业派学习记录
    ubuntu 命令记录
    电容单位换算
    Windows快捷键
    CAN总线学习笔记
    Scala 基础(十五):Scala 模式匹配(三)
    Scala 基础(十四):Scala 模式匹配(二)
    Scala 基础(十三):Scala 模式匹配(一)
    scala 数据结构(十一):流 Stream、视图 View、线程安全的集合、并行集合
  • 原文地址:https://www.cnblogs.com/hzhuxin/p/5131328.html
Copyright © 2011-2022 走看看