zoukankan      html  css  js  c++  java
  • Hive常见的报错信息

                 Hive常见的报错信息

                                       作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

    一.FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

    1>.错误复现

    2>.错误原因

      Metastore默认存储在自带的derby数据库中,此时只需要去查看hive的安装目录是否有"derby.log(文件)""metastore_db(目录)",若没有则其实导致本报错的直接原因。
    
      生产环境中,推荐使用MySQL存储Metastore;

    3>.解决方案

      参考我的部署笔记即可:
        https://www.cnblogs.com/yinzhengjie2020/p/13912307.html

    二.FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType ...) to create the schema. If needed, don't forget to include the option to auto-create the underlying database in your JDBC connection string (e.g. ?createDatabaseIfNotExist=true for mysql))

    1>.错误复现

    2>.错误原因

      报错很明显了,说咱们未初始化元数据库,这时需要我们手动进行初始化操作,它提示咱们使用schematool工具来进行初始化哟~

    3>.解决方案

      既然知道故障原因,解决起来就好办了,执行以下命令即可,而后重启Hive客户端。
        schematool -initSchema -dbType mysql

    三.Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop105.yinzhengjie.com:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate jason (state=08S01,code=0)

    1>.错误复现

    2>.错误原因

      首先根据报错信息估计大家也能猜出来问题定位在哪里了,我们只需要捕捉关键字"AuthorizationException",说明就是认证出问题了。而Hive是需要访问Hadoop集群的,借助HDFS存储数据,借助MR集群,借助YARN进行资源调度。
    
      综上所述,我们需要为hive服务配置一个代理用户(该代理用户必须有权限访问Hadoop集群哟~),其代表其他用户的超级用户。我们先来看看官方是如何处理的,而后在模仿解决即可。
    
      官方配置代理用户案例:
        https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/Superusers.html

    3>.解决方案

      如果连接失败,请检查Hadoop的核心配置文件是否缺少下面2行参数,若没有请自行添加即可,添加后要重启Hadoop集群,否则可能并不生效哟~
        [root@hadoop101.yinzhengjie.com ~]# vim ${HADOOP_HOME}/etc/hadoop/core-site.xml 
        ......
            <!-- 当配置Hive时需要使用下面2个参数哟 -->
            <property>
                <name>hadoop.proxyuser.root.hosts</name>
                <value>*</value>
                <description>指定超级用户的代理主机,如果是"*"号,表示所有主机均可,此处的root对应的是root用户,你可以根据实际情况来进行修改哟~</description>
            </property>
    
            <property>
                <name>hadoop.proxyuser.root.groups</name>
                <value>*</value>
                <description>指定超级用户组,此处的root对应的是root组,你可以根据实际情况来进行修改哟~</description>
            </property>
        ......
        [root@hadoop101.yinzhengjie.com ~]#
      
      温馨提示:
        上述配置仅需在beeline客户端节点修改相应的配置信息即可,无需将配置同步到集群哟~   博主推荐阅读:     https:
    //hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/Superusers.html

    四.

    五.

  • 相关阅读:
    Spring Cloud Eureka的学习
    Maven环境配置
    Maven解决静态资源过滤问题
    Linux Desktop Entry文件配置解析
    iptables规则持久化
    Markdown学习总结
    输vim /etc/rc.d/init.d/mysqld 报错 …..localdomain.pid
    UE4 集成讯飞听写插件
    单机梦幻西游
    使用A*寻路小记
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/13956871.html
Copyright © 2011-2022 走看看