美文网首页
启动 hive 报错:org.apache.hadoop.ipc

启动 hive 报错:org.apache.hadoop.ipc

作者: alexlee666 | 来源:发表于2019-11-02 15:11 被阅读0次

    有时候我们启动 hive shell的时候可能会遇到类似如下报错:

    ......
    Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory /tmp/hive/ycaha/d57fcae3-6387-4434-87c8-237f21008357. Name node is in safe mode.
    
    

    一、Hadoop NameNode 的安全模式

    1.1 什么是SafeMode ?

    当 Hadoop NameNode 处于safemode 时,DataNode 对于客户端而言是read-only的。
    当启动 Hadoop 时需要启动 NameNode,在启动 NameNode 时,需要将镜像文件fsimage载入内存,并执行编辑日志edits log中的所有操作,以建立完整的文件系统的元数据metadata(创建新的fsimage文件和空的edits log)。在这个过程中,NameNode 将一直处于safemode。如果满足最小副本条件(配置项minimal replication condition决定),NameNode 将会在随后(默认30s,配置项dfs.namenode.safemode.extension)自动退出safemode。

    如果满足“最小副本条件”(minimal replication condition),namenode会在30秒钟之后就退出安全模式。所谓的最小副本条件指的是在整个文件系统中有99.9%的块满足最小副本级别(默认值是1,由dfs.namenode.replication.min属性设置)。

    safemode 的属性

    属性名称 数据类型 默认值 说明
    dfs.namenode.replication.min int 1 成功执行写操作所需要创建的最小副本数目(也称为最小副本级别)
    dfs.namenode.safemode.threshold-pct float 0.999 在namenode退出安全模式之前,系统中满足最小副本级别(由dfs.namenode.replication.min定义)的块的比例。将这项值设为0或更小会令namenode无法启动安全模式;设为高于1则永远不会退出安全模式
    dfs.namenode.safemode.extension int 30000 在满足最小副本条件(由dfs.namenode.safemode.threshold-pct定义)之后,namenode还需要处于安全模式的时间(以毫秒为单位)。对于小型集群(几十个节点)来说,这项值可以设为0

    1.2 什么情况下,NameNode 处于安全模式 ?

    从上述可以看出,当出现下面任一情况时,NameNode 会处于安全模式:

    • 在启动Hadoop NameNode 过程中;
    • 不满足最小副本级别约束条件。

    二、如何强制退出安全模式?

    有时候需要强制退出安全模式,这时候可以在shell中执行命令(前提:hadoop 配置在了环境变量PATH中):

    # hdfs:可执行命令
    # dfsadmin:运行一个dfs admin client
    # -safemode:参数,安全模式
    # get:参数,是否安全模式(on表示是,off表示否)
    # enter:参数,进入安全模式
    # leave:参数,离开安全模式
    
    hdfs dfsadmin -safemode get    # NameNode是否出于安全模式
    
    hdfs dfsadmin -safemode enter    # 进入安全模式
    
    hdfs dfsadmin -safemode leave    # 离开安全模式
    
    
    

    笔者水平有限,如有错误,敬请指正!

    相关文章

      网友评论

          本文标题:启动 hive 报错:org.apache.hadoop.ipc

          本文链接:https://www.haomeiwen.com/subject/ecocbctx.html