hive 使用问题整理[更新中]

380 阅读2分钟

1. 删表卡死

    原因: 数据库使用错误字符集utf8mb4

    解决方案: 使用latin1字符集,如图:

      

   补充: 今天删表依然出现了卡死的现象,尝试查看/解除表锁 show locks 出现错误:

           Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. show Locks LockManager not specified 

     解决方案: 开启 hive的锁机制 需要zk支持

                     修改 vim /opt/hive/apache-hive-3.1.2-bin/conf/hive-site.xml    

                      添加如下内容:

                      <property> 

                                       <name>hive.zookeeper.quorum</name>                                                                     <value>node01,node02,node03</value> 

                      </property>

                      <property> 

                                       <name>hive.support.concurrency</name> 

                                       <value>true</value> 

                       </property>


2. sqoop直接导入数据到hive时 java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf

    原因: sqoop 的lib目录下没有 hive-common-3.1.2.jar

    解决方案: cp /opt/hive/apache-hive-3.1.2-bin/lib/hive-common-3.1.2.jar /opt/sqoop/sqoop-1.4.7/lib/

3. sqoop 导入到 数据到分区表中异常结束: Import failed: java.io.IOException: Hive exited with status 137

    原因: 内存不足. 

    解决方案: 增加内存

    增加后内存后 hadoop 集群3个节点 : 

                  node01/4G/主节点 

                  node02/2G/DATANODE 

                  node03/2G/DATANODE 

tips: 各人使用过程中遇到的问题可能各不相同,本页内容仅供参考