hive2.*安裝部署常見錯誤總結(連載)
異常一、java.lang.RuntimeException
Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:444)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:672)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
原因:因為沒有正常啟動Hive 的 Metastore Server服務程序。 解決方法:啟動Hive 的 Metastore Server服務程序,執行如下命令:
Starting Hive Metastore Server
異常二、already exists
原因:多次執行初始化-- ./bin/schematool -initSchema -dbType derby
解決方法:刪除/home/hadoop/cloud/apache-hive-2.1.1-bin目錄下 rm -rf metastore_db/
再初始化:./bin/schematool -initSchema -dbType derby
異常三、MetaException not found in metastore
配置完成Mysql儲存元資料資訊,啟動異常:Caused by: MetaException(message:Version information not found in metastore.
將hive-site.xml中的hive.metastore.schema.verification設定成false就可以了
異常四、schema ‘ROOT’ does not exits,有關not exits的有可能就是你的自身問題
檢視你的hive-site.xml中你是否刪除或者註釋了一些配置項,還原即可。
異常五、URISyntaxExceptionRelative path in absolute URI
修改 io.tmpdir 路徑
同時,要修改 hive-site.xml 中所有包含 ${system:java.io.tmpdir} 欄位的 value 即路徑(vim下 / 表示搜尋,後面跟你的關鍵詞,比如搜尋 hello,則為 /hello , 再回車即可),你可以自己新建一個目錄來替換它,例如 /home/Hadoop/cloud/apache-hive-2.1.1-bin/iotmp
mkdir /home/hadoop/cloud/apache-hive-2.1.1-bin/iotmp
chmod 777 /home/hadoop/cloud/apache-hive-2.1.1-bin/iotmp
把hive-site.xml 中所有包含 ${system:Java.io.tmpdir}替換成/home/hadoop/cloud/apache-hive-2.1.1-bin/iotmp
全域性替換命令 先按Esc鍵 再同時按shift+:把以下替換命令貼上按回車即可全域性替換
%s#${system:java.io.tmpdir}#/home/hadoop/cloud/apache-hive-2.1.1-bin/iotmp#g
異常六、關於沒有在hive/lib下面新增資料庫驅動的jar包的錯誤
將jar包拉進去,儘可能將jar包的許可權改為777
Chmod 777 mysql-connector-java-5.1.46.jar
<總結未完>