1. 程式人生 > >hive2.*安裝部署常見錯誤總結(連載)

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

                   <總結未完>