zoukankan      html  css  js  c++  java
  • centos环境下安装hive踩的一些坑

    1、首先Hadoop与hive的版本一定要配合好,之前使用的是Hadoop3.x的版本配上Hive2.x一直会报错,就算配置都正确,因为版本问题也一直会报错,主要报错为com.google......,主要原因还是jar包冲突;

    2、hive报错:java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)

      从报错信息来看:

      一,java.lang.NoSuchMethodError

        原因:
        1.系统找不到相关jar包

        2.同一类型的 jar 包有不同版本存在,系统无法决定使用哪一个

      二,com.google.common.base.Preconditions.checkArgument

        根据百度可知,该类来自于guava.jar

      三,查看该jar包在hadoop和hive中的版本信息

        hadoop-3.2.1(路径:hadoopsharehadoopcommonlib)中该jar包为  guava-27.0-jre.jar

          hive-2.3.6(路径:hive/lib)中该jar包为guava-14.0.1.jar

      四,解决方案===!!!!!!!!!!!!!!!!!!!!!!!!
        删除hive中低版本的guava-14.0.1.jar包,
        将hadoop中的guava-27.0-jre.jar复制到hive的lib目录下即可。
      五,成功运行hive

    3、一定要记得加入 MySQL 驱动包(mysql-connector-java-5.1.40-bin.jar)该 jar 包放置在 hive 的根路径下的 lib 目录

    4、注意:当使用的 hive 是 2.x 之前的版本,不做初始化也是 OK 的,当 hive 第一次启动的 时候会自动进行初始化,只不过会不会生成足够多的元数据库中的表。在使用过程中会 慢慢生成。但最后进行初始化。如果使用的 2.x 版本的 Hive,那么就必须手动初始化元 数据库。使用命令:

      schematool -dbType mysql -initSchema

    5、之前安装hive的版本太低,删除了低版本的hive,后来重新下载了3.x版本的hive,发现schematool -dbType mysql -initSchema初始化报错:

    Error: Table 'CTLGS' already exists (state=42S01,code=1050)
    org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !!
    Underlying cause: java.io.IOException : Schema script failed, errorcode 2
    

    原因:其实之前你已经初始化过了,后来你更改了hive或者MySQL的配置文件后,导致他们之间无法通信。再进行初始化时就会发生这样的错误。

    解决办法:

    mysql dump -uUSER -pPASSWORD DBNAME > /tmp/my_backup.sql 
    drop database DBNAME;
    create database DBNAME; 
    mysql -uUSER -pPASSWORD DBNAME < /tmp/my_backup.sql
    ##第一句中,user,password DBNAMe都换成你自己的。后面的路径是相对路径,你可以更换路径,这一步只不过是把你之前的数据库先备份一下。
    ##接下来删掉数据库,再重新创建数据库,然后再啊数据库拷回来就好了
    

    这种错误的情况,一般就是换用户,换数据库,就解决了。

    最后关于Hive的安装配置,可以参照:

    https://dblab.xmu.edu.cn/blog/1080-2/ (推荐,比较全面)

    https://www.cnblogs.com/qingyunzong/p/8708057.html

  • 相关阅读:
    Luogu4233 射命丸文的笔记 DP、多项式求逆
    LOJ2267 SDOI2017 龙与地下城 FFT、概率密度函数、Simpson
    LOJ2882 JOISC2014 两个人的星座 计算几何
    UOJ343 清华集训2017 避难所 构造、打表
    Solution -「CTS2019」珍珠
    「珂朵莉树」学习笔记
    CSP2019-J/S 游记
    LeetCode(164)Maximum Gap
    LeetCode(165) Compare Version Numbers
    LeetCode(162) Find Peak Element
  • 原文地址:https://www.cnblogs.com/zxgCoding/p/13167278.html
Copyright © 2011-2022 走看看