zoukankan      html  css  js  c++  java
  • hive常见问题及解决方法

    Hive常见问题及解决方法

    问题1:Specified key was too long; max key length is 1536 bytes

     

     

    hive.log :  2018-01-05 13:31:29,072 ERROR [main]: DataNucleus.Datastore (Log4JLogger.java:error(115)) - An exception was thrown while adding/validating class(es) : Specified key was too long; max key length is 1536 bytes

    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 1536 bytes

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

     

     

    解决方案

    在mysql机器的上运行: alter database hive character set latin1;

    问题解决.

    问题2:message from server: "Host '192.168.152.129' is not allowed to connect to this MySQL server"

    分析:经排查应该是hive无法远程授权

     

    --注意192.168.152.129 该ip换成自己的

    grant all privileges on *.* to 'hive'@'192.168.152.129' identified by 'hive123';

    flush privileges;

     

    grant all privileges on *.* to 'hive'@'localhost' identified by 'hive123';

    flush privileges;

     

    grant all privileges on *.* to 'hive'@'%' identified by 'hive123';

    flush privileges;

     

     

     

     

     

    问题3:拒绝连接

    on exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused

    ...

    Caused by: java.net.ConnectException: Call From Qunar/127.0.0.1 to localhost:9000 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused

    ...

    Caused by: java.net.ConnectException: 拒绝连接

    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)

    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)

    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)

    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531)

    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:495)

    at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:614)

    at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:712)

    at org.apache.hadoop.ipc.Client$Connection.access$2900(Client.java:375)

    at org.apache.hadoop.ipc.Client.getConnection(Client.java:1528)

    at org.apache.hadoop.ipc.Client.call(Client.java:1451)

    ... 29 more

    解决方案

    有可能是Hadoop没有启动,使用jps查看一下当前进程发现:

    ~/opt/hive-2.1.0$ jps

    7317 Jps

    可以看见,我们确实没有启动Hadoop。开启Hadoop的NameNode和DataNode守护进程

    问题4:缺少MySQL驱动包

    问题描述

    Caused by: org.datanucleus.store.rdbms.connectionpool.DatastoreDriverNotFoundException: The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH. Please check your CLASSPATH specification, and the name of the driver.

    at org.datanucleus.store.rdbms.connectionpool.AbstractConnectionPoolFactory.loadDriver(AbstractConnectionPoolFactory.java:58)

    at org.datanucleus.store.rdbms.connectionpool.BoneCPConnectionPoolFactory.createConnectionPool(BoneCPConnectionPoolFactory.java:54)

    at org.datanucleus.store.rdbms.ConnectionFactoryImpl.generateDataSources(ConnectionFactoryImpl.java:213)

     

     

    解决方案

    上述问题很可能是缺少mysql的jar包,下载mysql-connector-java-5.1.32.tar.gz,复制到hive的lib目录下:

    cp mysql-connector-java-5.1.34-bin.jar opt/hive-2.1.0/lib/

     

  • 相关阅读:
    网络流相关题目
    【洛谷P3119】[USACO15JAN]草鉴定Grass Cownoisseur
    【洛谷八连测R6】yanQval-透明的星尘
    【洛谷八连测R6】yanQval-分离丧失的既视感
    【洛谷八连测R6】yanQval-不可逆的重启动
    【洛谷P2700】逐个击破
    【洛谷八连测R5】whzzt-Confidence
    【洛谷八连测R5】whzzt-Warmth
    【洛谷八连测R5】whzzt-Conscience
    【NOIP模拟赛】
  • 原文地址:https://www.cnblogs.com/llphhl/p/8847991.html
Copyright © 2011-2022 走看看