Hadoop2.6.3+Hive-1.2.1+mysql5.6.15 問題彙總

問題描述一: java

Caused by: java.sql.SQLException: Unable to open a test connection to the given database. JDBC url = jdbc:mysql://192.168.64.11:3306/hive?characterEncoding=UTF-8, username = hive. Terminating connection pool (set lazyInit to true if you expect to start your database after your app). Original Exception: ------mysql

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: sql


錯誤緣由中止mysql服務以後修改hive密碼以後沒有重啓mysql雖然在主機上能夠用  mysql  -uroot -p登錄可是運行hive命令卻拒絕遠程連接
解決方法:
   #/etc/init.d/mysql restart    #重啓mysql服務
   或service mysql restart 
     便可解決以上問題。shell



問題描述2:數據庫

當在Hive中建立表的時候報錯:apache

create table years (year string, event string) row format delimited fields terminated by '\t';FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(m

字符集問題、亂碼的、顯示字符長度問題的,這是因爲字符集的問題,須要配置MySQL的字符集:服務器

mysql> alter database hive character set latin1;

 修改後問題解決。

app

問題描述3:ide

hadoop安裝完之後,常常會提示一下警告:

oop

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... 
using builtin-java classes where applicable

搜了好多文章,都說是跟系統位數有關係,我使用的是Centos 6.5 64位系統。

首先下載hadoop-native-64-2.6.0.tar:
http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.6.0.tar

下載完之後,解壓到hadoop的native目錄下,覆蓋原有文件便可。操做以下:

tar -xvf hadoop-native-64-2.4.0.tar -C  hadoop/lib/native/


問題描述4:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:For direct MetaStore DB connections, we don’t support retries at the client level.)
這個是因爲個人mysql再也不本地(默認使用本地數據庫),這裏須要配置遠端元數據服務器
<property>
  <name>hive.metastore.uris</name>
  <value>thrift://10.24.32.169:9083</value>
</property>

在後臺啓動hive服務端程序

$nohup hive --service metastore &

客戶端直接使用hive命令便可


問題描述5:

java.lang.IllegalArgumentException: java.net.UnknownHostException: dfscluster

解決辦法:

找不到hdfs集羣名字dfscluster,這個文件在HADOOP的etc/hadoop下面,有個文件hdfs-site.xml,複製到hive的conf下,重啓便可

[hadoop@slave4 hadoop]$ cp  hdfs-site.xml $HIVE_HOME/conf/

問題描述6:

hive刪除表時報錯以下:
hive> drop table spider_log;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1


解決辦法:
是mysql的版本和驅動的版本不匹配致使的,個人mysql版本是5.6的,剛開始使用的驅動是5.1.18,
,可是mysql5.6已經拋棄了這個參數,因此會報上面錯誤,換成驅動mysql-connector-java-5.1.31-bin.jar後解決。
(注意:更高的驅動版本也不必定能行,我下載了驅動是5.1.51也不能用,必須是5.1.31)
下載驅動:
http://dev.mysql.com/downloads/connector/j/
選擇平臺,下載(mysql-connector-java-5.1.31.tar.gz)
或者http://download.csdn.net/detail/sallivan/1855957下載
相關文章
相關標籤/搜索