精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Hive問題集

企業動態
今天講一講關于Hive的問題、原因以及解決方法。

 1、FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org

問題:

起因是我重裝了mysql數據庫。

安裝之后 把訪問權限都配置好 :

  1. GRANT ALL PRIVILEGES ON*.* TO 'hive'@'%' Identified by 'hive';  
  2. GRANT ALL PRIVILEGES ON*.* TO 'hive'@'localhost' Identified by 'hive';  
  3. GRANT ALL PRIVILEGES ON*.* TO 'hive'@'127.0.0.1' Identified by 'hive' 

本機地址: 192.168.103.43 機器名字:192-168-103-43 

  1. flush privileges

啟動hive 發生下面的錯誤:

  1. hive> show tables;FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient 
  2. FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTaskFAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClientFAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask  
  1. cd ${HIVE_HOME}/bin 
  2. ./hive -hiveconf hive.root.logger=DEBUG,console 
  3. hive> show tables;  

得到如下的錯誤信息(當然 不同的問題所產生的日志是不同的):

  1. Caused by: javax.jdo.JDOFatalDataStoreException: Access denied for user 'hive'@'192-168-103-43' (using password: YES) 
  2. NestedThrowables: 
  3. java.sql.SQLException: Access denied for user 'hive'@'192-168-103-43' (using password: YES) 
  4.     at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:298) 
  5.     at org.datanucleus.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:601) 
  6.     at org.datanucleus.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:286) 
  7.     at org.datanucleus.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:182) 
  8.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  9.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
  10.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
  11.     at java.lang.reflect.Method.invoke(Method.java:597) 
  12.     at javax.jdo.JDOHelper$16.run(JDOHelper.java:1958) 
  13.     at java.security.AccessController.doPrivileged(Native Method) 
  14.     at javax.jdo.JDOHelper.invoke(JDOHelper.java:1953) 
  15.     at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1159) 
  16.     at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:803) 
  17.     at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:698) 
  18.     at org.apache.hadoop.hive.metastore.ObjectStore.getPMF(ObjectStore.java:262) 
  19.     at org.apache.hadoop.hive.metastore.ObjectStore.getPersistenceManager(ObjectStore.java:291) 
  20.     at org.apache.hadoop.hive.metastore.ObjectStore.initialize(ObjectStore.java:224) 
  21.     at org.apache.hadoop.hive.metastore.ObjectStore.setConf(ObjectStore.java:199) 
  22.     at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62) 
  23.     at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117) 
  24.     at org.apache.hadoop.hive.metastore.RetryingRawStore.<init>(RetryingRawStore.java:62) 
  25.     at org.apache.hadoop.hive.metastore.RetryingRawStore.getProxy(RetryingRawStore.java:71) 
  26.     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.newRawStore(HiveMetaStore.java:413) 
  27.     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:401) 
  28.     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:439) 
  29.     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:325) 
  30.     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.<init>(HiveMetaStore.java:285) 
  31.     at org.apache.hadoop.hive.metastore.RetryingHMSHandler.<init>(RetryingHMSHandler.java:53) 
  32.     at org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:58) 
  33.     at org.apache.hadoop.hive.metastore.HiveMetaStore.newHMSHandler(HiveMetaStore.java:4102) 
  34.     at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:121) 
  35.     ... 28 more  

原因:

發現數據庫的權限 HIVE需要的是

'hive'@'192-168-103-43' 這個IP地址

解決:

然后試著在mysql中加上權限:

  1. GRANT ALL PRIVILEGES ON*.* TO 'hive'@'192-168-103-43' Identified by 'hive';  
  2. flush privileges 

再次登錄hive

  1. hive> show tables; 

OK

[[179248]]

2、Hive出現異常 FAILED: Error In Metadata: Java.Lang.RuntimeException: Unable To Instan

問題:

在公司的虛擬機上運行hive計算,因為要計算的數據量較大,頻繁,導致了服務器負載過高,mysql也出現無法連接的問題,最后虛擬機出現The remote system refused the connection.重啟虛擬機后,進入hive。 

  1. hive> show tables; 

出現了下面的問題:

  1. FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient 
  2. FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTaskFAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClientFAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask 

 

原因:

用下面的命令,重新啟動hive

  1. ./hive -hiveconf hive.root.logger=DEBUG,console 
  2. hive> show tables;  

能夠看到更深層次的原因的是: 

  1. Caused by: java.lang.reflect.InvocationTargetException 
  2.     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
  3.     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
  4.     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
  5.     at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
  6.     at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1076) 
  7.     … 23 more 
  8. Caused by: javax.jdo.JDODataStoreException: Exception thrown obtaining schema column information from datastore 
  9. NestedThrowables: 
  10. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘hive.DELETEME1370713761025′ doesn’t exist  

根據提示的信息,登陸mysql或者mysql客戶端查看hive的數據庫的表信息

  1. mysql -u root -p 
  2. mysql> use hive; 
  3. mysql> show tables; 
  4. +—————————+ 
  5. | Tables_in_hive | 
  6. +—————————+ 
  7. | BUCKETING_COLS | 
  8. | CDS | 
  9. | COLUMNS_V2 | 
  10. | DATABASE_PARAMS | 
  11. | DBS | 
  12. | DELETEME1370677637267 | 
  13. | DELETEME1370712928271 | 
  14. | DELETEME1370713342355 | 
  15. | DELETEME1370713589772 | 
  16. | DELETEME1370713761025 | 
  17. | DELETEME1370713792915 | 
  18. | IDXS | 
  19. | INDEX_PARAMS | 
  20. | PARTITIONS | 
  21. | PARTITION_KEYS | 
  22. | PARTITION_KEY_VALS | 
  23. | PARTITION_PARAMS | 
  24. | PART_COL_PRIVS | 
  25. | PART_COL_STATS | 
  26. | PART_PRIVS | 
  27. | SDS | 
  28. | SD_PARAMS | 
  29. | SEQUENCE_TABLE | 
  30. | SERDES | 
  31. | SERDE_PARAMS | 
  32. | SKEWED_COL_NAMES | 
  33. | SKEWED_COL_VALUE_LOC_MAP | 
  34. | SKEWED_STRING_LIST | 
  35. | SKEWED_STRING_LIST_VALUES | 
  36. | SKEWED_VALUES | 
  37. | SORT_COLS | 
  38. | TABLE_PARAMS | 
  39. | TAB_COL_STATS | 
  40. | TBLS | 
  41. | TBL_COL_PRIVS | 
  42. | TBL_PRIVS | 
  43. +—————————+ 
  44. 36 rows in set (0.00 sec)  

能夠看到“DELETEME1370713792915”這個表,問題明確了,由于計算的壓力過大,服務器停止響應,mysql也停止了響應,mysql進程被異常終止,在運行中的mysql表數據異常,hive的元數據表異常。

解決問題的辦法有兩個:

1.直接在mysql中drop 異常提示中的table;

mysql>drop table DELETEME1370713761025;

2.保守的做法,根據DELETEME*表的結構,創建不存在的表

CREATE TABLE `DELETEME1370713792915` ( `UNUSED` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

通過實踐,第一個方法就能夠解決問題,如果不行可以嘗試第二個方法。

3、hive錯誤show tables無法使用 : Unable to instantiate rg.apache.hadoop.hive.metastore.

問題:

hive異常show tables無法使用:

Unable to instantiate rg.apache.hadoop.hive.metastore.HiveMetaStoreClient

異常:

  1. hive> show tables; 
  2. FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate rg.apache.hadoop.hive.metastore.HiveMetaStoreClient  
  3. FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask  

原因:

在其他shell 開了hive 沒有關閉

解決:

使用 ps -ef | grep hive

kill -9

殺死進程

4、FAILED: Error in metadata: java.lang.RuntimeException: Unable to in(2)(08-52-23)

問題:安裝配置Hive時報錯:

  1. FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient 
  2. FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask  

用調試模式報錯如下: 

  1. [root@hadoop1 bin]# hive -hiveconf hive.root.logger=DEBUG,console 
  2. 13/10/09 16:16:27 DEBUG common.LogUtils: Using hive-site.xml found on CLASSPATH at /opt/hive-0.11.0/conf/hive-site.xml 
  3. 13/10/09 16:16:27 DEBUG conf.Configuration: java.io.IOException: config() 
  4.     at org.apache.hadoop.conf.Configuration.<init>(Configuration.java:227) 
  5.     at org.apache.hadoop.conf.Configuration.<init>(Configuration.java:214) 
  6.     at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:1039) 
  7.     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:636) 
  8.     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614) 
  9.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  10.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
  11.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
  12.     at java.lang.reflect.Method.invoke(Method.java:597) 
  13.     at org.apache.hadoop.util.RunJar.main(RunJar.java:156) 
  14.   
  15. 13/10/09 16:16:27 DEBUG conf.Configuration: java.io.IOException: config() 
  16.     at org.apache.hadoop.conf.Configuration.<init>(Configuration.java:227) 
  17.     at org.apache.hadoop.conf.Configuration.<init>(Configuration.java:214) 
  18.     at org.apache.hadoop.mapred.JobConf.<init>(JobConf.java:330) 
  19.     at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:1073) 
  20.     at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:1040) 
  21.     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:636) 
  22.     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614) 
  23.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  24.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
  25.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
  26.     at java.lang.reflect.Method.invoke(Method.java:597) 
  27.     at org.apache.hadoop.util.RunJar.main(RunJar.java:156) 
  28.   
  29. Logging initialized using configuration in file:/opt/hive-0.11.0/conf/hive-log4j.properties 
  30. 13/10/09 16:16:27 INFO SessionState:  
  31. Logging initialized using configuration in file:/opt/hive-0.11.0/conf/hive-log4j.properties 
  32. 13/10/09 16:16:27 DEBUG parse.VariableSubstitution: Substitution is on: hive 
  33. Hive history file=/tmp/root/hive_job_log_root_4666@hadoop1_201310091616_1069706211.txt 
  34. 13/10/09 16:16:27 INFO exec.HiveHistory: Hive history file=/tmp/root/hive_job_log_root_4666@hadoop1_201310091616_1069706211.txt 
  35. 13/10/09 16:16:27 DEBUG conf.Configuration: java.io.IOException: config() 
  36.     at org.apache.hadoop.conf.Configuration.<init>(Configuration.java:227) 
  37.     at org.apache.hadoop.conf.Configuration.<init>(Configuration.java:214) 
  38.     at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:187) 
  39.     at org.apache.hadoop.security.UserGroupInformation.isSecurityEnabled(UserGroupInformation.java:239) 
  40.     at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:438) 
  41.     at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:424) 
  42.     at org.apache.hadoop.hive.shims.HadoopShimsSecure.getUGIForConf(HadoopShimsSecure.java:491) 
  43.     at org.apache.hadoop.hive.ql.security.HadoopDefaultAuthenticator.setConf(HadoopDefaultAuthenticator.java:51) 
  44.     at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62) 
  45.     at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117) 
  46.     at org.apache.hadoop.hive.ql.metadata.HiveUtils.getAuthenticator(HiveUtils.java:365) 
  47.     at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:270) 
  48.     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:670) 
  49.     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614) 
  50.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  51.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
  52.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
  53.     at java.lang.reflect.Method.invoke(Method.java:597) 
  54.     at org.apache.hadoop.util.RunJar.main(RunJar.java:156) 
  55.   
  56. 13/10/09 16:16:27 DEBUG security.Groups:  Creating new Groups object 
  57. 13/10/09 16:16:27 DEBUG security.Groups: Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping; cacheTimeout=300000 
  58. 13/10/09 16:16:27 DEBUG security.UserGroupInformation: hadoop login 
  59. 13/10/09 16:16:27 DEBUG security.UserGroupInformation: hadoop login commit 
  60. 13/10/09 16:16:27 DEBUG security.UserGroupInformation: using local user:UnixPrincipal錛?root 
  61. 13/10/09 16:16:27 DEBUG security.UserGroupInformation: UGI loginUser:root 
  62. 13/10/09 16:16:27 DEBUG security.Groups: Returning fetched groups for 'root' 
  63. 13/10/09 16:16:27 DEBUG security.Groups: Returning cached groups for 'root' 
  64. 13/10/09 16:16:27 DEBUG conf.Configuration: java.io.IOException: config(config) 
  65.     at org.apache.hadoop.conf.Configuration.<init>(Configuration.java:260) 
  66.     at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:1044) 
  67.     at org.apache.hadoop.hive.ql.security.authorization.DefaultHiveAuthorizationProvider.init(DefaultHiveAuthorizationProvider.java:30) 
  68.     at org.apache.hadoop.hive.ql.security.authorization.HiveAuthorizationProviderBase.setConf(HiveAuthorizationProviderBase.java:108) 
  69.     at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62) 
  70.     at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117) 
  71.     at org.apache.hadoop.hive.ql.metadata.HiveUtils.getAuthorizeProviderManager(HiveUtils.java:339) 
  72.     at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:272) 
  73.     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:670) 
  74.     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614) 
  75.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  76.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
  77.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
  78.     at java.lang.reflect.Method.invoke(Method.java:597) 
  79.     at org.apache.hadoop.util.RunJar.main(RunJar.java:156) 
  80.   
  81. 13/10/09 16:16:27 DEBUG conf.Configuration: java.io.IOException: config() 
  82.     at org.apache.hadoop.conf.Configuration.<init>(Configuration.java:227) 
  83.     at org.apache.hadoop.conf.Configuration.<init>(Configuration.java:214) 
  84.     at org.apache.hadoop.mapred.JobConf.<init>(JobConf.java:330) 
  85.     at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:1073) 
  86.     at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:1045) 
  87.     at org.apache.hadoop.hive.ql.security.authorization.DefaultHiveAuthorizationProvider.init(DefaultHiveAuthorizationProvider.java:30) 
  88.     at org.apache.hadoop.hive.ql.security.authorization.HiveAuthorizationProviderBase.setConf(HiveAuthorizationProviderBase.java:108) 
  89.     at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62) 
  90.     at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117) 
  91.     at org.apache.hadoop.hive.ql.metadata.HiveUtils.getAuthorizeProviderManager(HiveUtils.java:339) 
  92.     at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:272) 
  93.     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:670) 
  94.     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614) 
  95.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  96.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
  97.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
  98.     at java.lang.reflect.Method.invoke(Method.java:597) 
  99.     at org.apache.hadoop.util.RunJar.main(RunJar.java:156)  

原因:

這個錯誤應該是你集成了mysql,從而報錯

解決:

修改hive-site.xml,參照:

  1. <property>    
  2.     <name>javax.jdo.option.ConnectionURL</name>    
  3.     <value>jdbc:mysql://192.168.1.101:3306/hive?createDatabaseIfNotExist=true</value>    
  4.     <description>JDBC connect string for a JDBC metastore</description>  
  5. </property>  

5、Hive的--auxpath使用相對路徑遇到的一個奇怪的異常

問題:

在使用Hive的--auxpath過程中,如果我使用的是相對路徑(例如,--auxpath=abc.jar),會產生下面的一個異常: 

  1. java.lang.IllegalArgumentException: Can not create a Path from an empty string 
  2.     at org.apache.hadoop.fs.Path.checkPathArg(Path.java:91) 
  3.     at org.apache.hadoop.fs.Path.<init>(Path.java:99) 
  4.     at org.apache.hadoop.fs.Path.<init>(Path.java:58) 
  5.     at org.apache.hadoop.mapred.JobClient.copyRemoteFiles(JobClient.java:619) 
  6.     at org.apache.hadoop.mapred.JobClient.copyAndConfigureFiles(JobClient.java:724) 
  7.     at org.apache.hadoop.mapred.JobClient.copyAndConfigureFiles(JobClient.java:648)  

原因:

從異常的內容來看,是由于使用了一個空字符串來創建一個Path對象。

經過分析發現,使用"--auxpath=abc.jar"來啟動Hive時,Hive會自動在abc.jar前面補上"file://"。也就是說Hive最后使用的路徑是"file://abc.jar"。

當我們使用"file://abc.jar"來生成一個Path時,調用這個Path的getName將會返回""(空字符串)。而Hive在提交MapReduce的Job時,會使用getName來獲取文件名,并創建一個新的Path對象。下面的示例代碼演示了一下這個過程,會拋出上文提到的異常。

  1. Path path = new Path("file://abc.jar"); 
  2. System.out.println("path name:" + path.getName()); 
  3. System.out.println("authority:" + path.toUri().getAuthority()); 
  4. Path newPath = new Path(path.getName());  

上文的代碼輸出

path name:

authority:abc.jar

并拋出了異常"Can not create a Path from an empty string"

那么為什么"file://abc.jar"生成的Path的getName返回的是""而不是"abc.jar"呢,而且"abc.jar"卻成了authority?在Path中的處理代碼如下: 

  1. if (pathString.startsWith("//", start) && (pathString.length()-start > 2)) { // has authority 
  2.     int nextSlash = pathString.indexOf('/', start+2); 
  3.     int authEnd = nextSlash > 0 ? nextSlash : pathString.length(); 
  4.     authority = pathString.substring(start+2, authEnd); 
  5.     start = authEnd; 
  6. // uri path is the rest of the string -- query & fragment not supported 
  7. String path = pathString.substring(start, pathString.length());  

pathString就是傳進去的"file://abc.jar",由于我們只有兩個"/"因此,從第二個"/"到結尾的字符串("abc.jar")都被當成了authority,path(內部的成員)則設置成了""而getName返回的就是path,因此也就為""了。

解決:

如果使用Hive的--auxpath來設置jar,必須使用絕對路徑,或者使用"file:///.abc.jar"這樣的表示法。這個才是Hadoop的Path支持的方式。事實上,hadoop許多相關的Path的設置,都存在這個問題,所以在無法確定的情況下,就不要使用相對路徑了。

6、啟動hive hwi服務時出現 HWI WAR file not found錯誤

問題:

  1. hive --service hwi 
  2. [niy@niy-computer /]$ $HIVE_HOME/bin/hive --service hwi 
  3. 13/04/26 00:21:17 INFO hwi.HWIServer: HWI is starting up 
  4. 13/04/26 00:21:18 FATAL hwi.HWIServer: HWI WAR file not found at /usr/local/hive/usr/local/hive/lib/hive-hwi-0.12.0-SNAPSHOT.war  

原因:

可以看出/usr/local/hive/usr/local/hive/lib/hive-hwi-0.12.0-SNAPSHOT.war肯定不是正確路徑,真正路徑是/usr/local/hive/lib/hive-hwi-0.12.0-SNAPSHOT.war,斷定是配置的問題

解決:將hive-default.xml中關于 hwi的設置拷貝到hive-site.xml中即可

  1. <property>   
  2.     <name>hive.hwi.war.file</name>   
  3.     <value>lib/hive-hwi-0.12.0-SNAPSHOT.war</value>   
  4.     <description>This sets the path to the HWI war file, relative to ${HIVE_HOME}. </description>   
  5. </property>   
  6. <property>   
  7.     <name>hive.hwi.listen.host</name>   
  8.     <value>0.0.0.0</value>   
  9.     <description>This is the host address the Hive Web Interface will listen on</description>   
  10. </property>     
  11. <property>   
  12.     <name>hive.hwi.listen.port</name>   
  13.     <value>9999</value>   
  14.     <description>This is the port the Hive Web Interface will listen on</description>   
  15. </property>  

7、問題:當啟動Hive的時候報錯: 

  1. Caused by: javax.jdo.JDOException: Couldnt obtain a new sequence (unique id) : Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENTandat least one table uses a storage engine limited to row-based logging.  
  2. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.  
  3. NestedThrowables: java.sql.SQLException: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT andat least one table uses a storage engine limited to row-based logging.  
  4. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED

 原因:

這個問題是由于hive的元數據存儲MySQL配置不當引起的

解決辦法: 

  1. mysql> setglobal binlog_format='MIXED'

8、問題:

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

  1. create table years (year string, eventstring) row format delimited fields terminated by'\t'; FAILED: Execution Error, return code 1from org.apache.hadoop.hive.ql.exec.DDLTask.  
  2. MetaException(message:For direct MetaStore DB connections, we don't support retries at the client level.)  

原因:

這是由于字符集的問題,需要配置MySQL的字符集:

解決辦法:

  1. mysql> alter database hive character set latin1; 

9、問題:

當執行Hive客戶端時候出現如下錯誤:

WARN conf.HiveConf: HiveConf of name hive.metastore.localdoesnot exist

原因:這是由于在0.10 0.11或者之后的HIVE版本 hive.metastore.local 屬性不再使用。

解決辦法:

將該參數從hive-site.xml刪除即可。

10、問題:

在啟動Hive報如下錯誤:

(Permission denied: user=anonymous, access=EXECUTE, inode="/tmp":hadoop:supergroup:drwx------

原因:這是由于Hive沒有hdfs:/tmp目錄的權限,

解決辦法:

賦權限即可:hadoop dfs -chmod -R 777 /tmp

11、Hive查詢數據庫時,出現null。無數據顯示。

問題如下: 

 

 

 

解決辦法:

  1. LOAD DATA LOCAL INPATH '/tmp/sanple.txt' overwrite into table animal FIELDS TERMINATED BY '\t'

解釋:

數據分隔符的問題,定義表的時候需要定義數據分隔符,

  1. FIELDS TERMINATED BY '\t' 

這個字段就說明了數據分隔符是tab。

具體分割符請以自己的文化中具體的情況來定。

12、ERROR beeline.ClassNameCompleter: Fail to parse the class name from the Jar file due to

在使用beeline鏈接Hive服務的時候,報了下面的這個錯誤:

  1. beeline> !connect jdbc:hive2//h2slave1:10000 
  2. scan complete in 1ms 
  3. 16/07/27 11:40:54 [main]: ERROR beeline.ClassNameCompleter: Fail to parse the class name from the Jar file due to the exception:java.io.FileNotFoundException: minlog-1.2.jar (沒有那個文件或目錄) 
  4. 16/07/27 11:40:54 [main]: ERROR beeline.ClassNameCompleter: Fail to parse the class name from the Jar file due to the exception:java.io.FileNotFoundException: objenesis-1.2.jar (沒有那個文件或目錄) 
  5. 16/07/27 11:40:54 [main]: ERROR beeline.ClassNameCompleter: Fail to parse the class name from the Jar file due to the exception:java.io.FileNotFoundException: reflectasm-1.07-shaded.jar (沒有那個文件或目錄) 
  6. scan complete in 596ms 
  7. No known driver to handle "jdbc:hive2//h2slave1:10000" 

 解決:

其實這個問題是由于jdbc協議地址寫錯造成的,在hive2之后少了個“:”

改成以下這個形式即可:

  1. beeline> !connect jdbc:hive2://h2slave1:10000 

13、Missing Hive Execution Jar: /.../hive-exec-*.jar

運行hive時顯示Missing Hive Execution Jar: /usr/hive/hive-0.11.0/bin/lib/hive-exec-*.jar

運行hive時顯示Missing Hive Execution Jar: /usr/hive/hive-0.11.0/bin/lib/hive-exec-*.jar

細細分析這個目錄/bin/lib,在hive安裝文件夾中這兩個目錄是并列的,而系統能夠找到這樣的鏈接,說明hive在centos系統配置文件中的路徑有誤,打開 /etc/profile會發現hive的配置路徑為

  1. export PATH=$JAVA_HOME/bin:$PATH:/usr/hive/hive-0.11.0/bin 

明顯可以看出是路徑配置的問題,這樣的配置系統會在hive安裝文件夾中的bin目錄下尋找它所需要的jar包,而bin和lib文件夾是并列的,所以我們需要在centos系統配置文件中將hive路徑配置為文件夾安裝路徑,即

  1. export PATH=$JAVA_HOME/bin:$PATH:/usr/hive/hive-0.11.0 

注意:這種問題一般都是出在環境變量上面的配置。請認真檢查etc/profile跟你hive的安裝路徑。

14、hive啟動報錯: Found class jline.Terminal, but interface was expected

錯誤如下: 

  1. [ERROR] Terminal initialization failed; falling back to unsupported 
  2. java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected 
  3.     at jline.TerminalFactory.create(TerminalFactory.java:101) 
  4.     at jline.TerminalFactory.get(TerminalFactory.java:158) 
  5.     at jline.console.ConsoleReader.<init>(ConsoleReader.java:229) 
  6.     at jline.console.ConsoleReader.<init>(ConsoleReader.java:221) 
  7.     at jline.console.ConsoleReader.<init>(ConsoleReader.java:209) 
  8.     at org.apache.hadoop.hive.cli.CliDriver.getConsoleReader(CliDriver.java:773) 
  9.     at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:715) 
  10.     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675) 
  11.     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615) 
  12.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  13.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
  14.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
  15.     at java.lang.reflect.Method.invoke(Method.java:606) 
  16.     at org.apache.hadoop.util.RunJar.main(RunJar.java:212)  

原因:

jline版本沖突不一致導致的,hadoop目錄下存在老版本jline:

/hadoop-2.6.0/share/hadoop/yarn/lib:

jline-0.9.94.jar

解決:

把hive中的新版本jline拷貝一份到hadoop的share/hadoop/yarn/lib即可

同時要把那個老版本的給刪除 

  1. cp /hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar /hadoop-2.5.2/share/hadoop/yarn/lib 

15、MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes

在使用hive時,使用mysql存儲元數據的時候,遇到下面的錯誤:

  1. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes 
  2.     at sun.reflect.GeneratedConstructorAccessor31.newInstance(Unknown Source) 
  3.     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
  4.     at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
  5.     at com.mysql.jdbc.Util.handleNewInstance(Util.java:377) 
  6.     at com.mysql.jdbc.Util.getInstance(Util.java:360)  

解決辦法:

用mysql做元數據,要修改數據字符集

  1. alter database hive character set latin1  

【本文為51CTO專欄作者“王森豐”的原創稿件,轉載請注明出處】

責任編輯:龐桂玉 來源: 神算子
相關推薦

2016-12-14 15:59:31

HBase分布式數據

2016-12-14 14:47:59

Zookeeper服務器

2016-12-13 16:36:15

Hadoopwindows

2016-12-19 15:32:12

Linux問題集

2011-03-28 17:51:10

nagios

2010-03-25 16:20:44

CentOS安裝

2011-02-22 14:21:49

vsftpd

2011-02-25 14:25:04

Proftpd

2009-10-09 17:40:38

VB.Net問題集

2011-02-22 14:40:25

vsftpd

2018-07-12 09:25:07

磁盤陣列數據恢復

2011-05-16 13:15:55

MySQL存儲字符集

2009-12-31 15:28:02

Silverlight

2011-03-03 13:41:36

Pureftpd防火墻

2009-07-01 00:23:40

MySQL字符集亂碼

2011-03-03 14:26:15

PureftpdSSHFTP

2014-03-26 11:15:26

Hive

2021-08-04 07:21:31

Hive 數據排查

2010-05-17 10:01:09

MySql字符集

2011-03-03 14:56:56

Pureftpd腳本
點贊
收藏

51CTO技術棧公眾號

亚洲中文字幕一区| 日韩精品伦理第一区| 国产一级视频在线| 亚洲三级网页| 3atv一区二区三区| 欧美日韩成人免费视频| 三区四区在线视频| 97se亚洲国产综合自在线观| 国产精品爽黄69| 日本熟妇一区二区| 欧美丰满日韩| 亚洲欧美制服第一页| 亚洲国产欧美日韩在线| 日韩天堂在线| 亚洲成国产人片在线观看| 日韩免费中文专区| 三级视频网站在线| 粉嫩aⅴ一区二区三区四区五区| 国产成人精品一区二区三区| 久久精品第一页| 日韩欧美网站| 亚洲一级片在线看| chinese麻豆新拍video| 久久伊人影院| 91精品蜜臀在线一区尤物| 99蜜桃臀久久久欧美精品网站| 中文字幕有码在线观看| 国产精品色在线观看| 精选一区二区三区四区五区| 99热精品在线播放| 精品中文字幕一区二区小辣椒 | a级网站在线播放| 国产日韩欧美a| 久久久久久久久久久久久9999| 亚洲爱情岛论坛永久| 理论片日本一区| 国产精品第一第二| av手机天堂网| 日韩中文字幕亚洲一区二区va在线| 午夜精品在线观看| 久草视频在线资源站| 亚洲一二区在线观看| 爱情岛亚洲播放路线| 亚洲欧美一区二区三区极速播放 | 色97色成人| 亚洲一二在线观看| 五月天精品视频| 婷婷成人在线| 亚洲欧美日韩一区二区在线| www.17c.com喷水少妇| 99精品在免费线中文字幕网站一区 | 在线日韩网站| 亚洲精选中文字幕| 91视频在线网站| 国产亚洲精品美女久久久久久久久久| 日韩精品在线观看视频| 国产色视频一区二区三区qq号| 先锋影音国产精品| 亚洲图片在区色| 久久精品三级视频| 天天综合一区| 欧美精品在线免费观看| 久久免费视频6| 亚洲看片一区| 日本精品一区二区三区在线播放视频 | 久久精品系列| 国产精品一区二区三区久久久| 中文精品久久久久人妻不卡| 美女视频一区二区| 97视频资源在线观看| 日韩一级中文字幕| 久久久.com| 一区二区在线中文字幕电影视频| 国产在线二区| 精品magnet| 妺妺窝人体色www在线观看| 人人精品久久| 视频一区视频二区在线观看| 日本韩国一区二区三区| 国产主播中文字幕| 日韩精品久久久久久久软件91| 欧美成人精品福利| 亚洲自拍偷拍一区二区| 91九色精品国产一区二区| 欧美极品少妇xxxxⅹ裸体艺术 | 色又黄又爽网站www久久| 青青青在线视频免费观看| 国产不卡精品| 精品视频在线导航| 91n在线视频| 日韩午夜电影| 成人黄色大片在线免费观看| 欧美一级做性受免费大片免费| 久久五月婷婷丁香社区| 亚洲成人动漫在线| 国产精品专区免费| 欧美一区二区精美| 级毛片内射视频| 国内视频精品| 国产精品一二三视频| 刘亦菲久久免费一区二区| 国产三级三级三级精品8ⅰ区| 中文字幕色呦呦| 成人小电影网站| 日韩欧美一区二区三区在线| av黄色免费网站| 国产中文一区| 国产精品香蕉在线观看| 天堂在线观看av| 亚洲人成网站色在线观看| 免费日韩视频在线观看| 日韩第一区第二区| 在线看国产精品| xxxx.国产| 成人sese在线| 狠狠干视频网站| 国产一区影院| 亚洲欧美激情四射在线日| 免费在线看黄网址| 久久66热偷产精品| 天堂精品视频| 最新日韩三级| 国产视频自拍一区| 日韩久久久久久久久| 欧美毛片免费观看| 91丨porny丨蝌蚪视频| 中文字幕久久综合| 亚洲精品555| 亚洲情综合五月天| 毛片视频网站在线观看| 成人午夜看片网址| japanese在线播放| 成人97精品毛片免费看| 中文字幕精品www乱入免费视频| 久久一区二区三区视频| 97超碰欧美中文字幕| 日本xxxxxxxxxx75| 国产精品网站在线看| 欧美丰满老妇厨房牲生活| 国产女人18毛片水18精| 亚洲视频一区在线观看| 在线能看的av网站| 97精品中文字幕| 国产在线视频91| 精品欧美色视频网站在线观看| 精品视频1区2区| 五月天免费网站| 麻豆国产精品官网| 亚洲免费视频播放| 视频一区视频二区欧美| 欧美黄色www| 黄色a在线观看| 精品久久久久久电影| 人妻丰满熟妇av无码久久洗澡 | 精品国产一区二区三区噜噜噜| 欧洲成人在线视频| 国产精品久久一区二区三区不卡| 91成人在线免费观看| 人人人妻人人澡人人爽欧美一区| 日韩在线一区二区三区| 亚洲人成人77777线观看| 四虎成人精品一区二区免费网站| 久久精品国产久精国产一老狼| 国产女人18毛片水真多| 一区二区三区国产豹纹内裤在线| 69xxx免费视频| 欧美亚洲网站| 亚洲午夜在线观看| 午夜免费欧美电影| 青草热久免费精品视频| av女优在线| 91精品国产91久久久久久一区二区 | 欧美日韩三级视频| 在线免费日韩av| 91色|porny| 国产传媒免费观看| 精品999成人| 欧美久久电影| 9999精品| 欧美亚洲国产日本| 欧美激情二区| 日韩精品视频观看| 91精品国产乱码久久久久| 一区二区三区中文字幕电影| 亚洲av网址在线| 美女一区二区久久| 国内精品在线观看视频| 精品欧美激情在线观看| 成人情视频高清免费观看电影| 伊人网在线播放| 深夜福利一区二区| 午夜视频在线免费播放| 欧美美女直播网站| 久久狠狠高潮亚洲精品| 中文字幕日本不卡| 成人午夜剧场视频网站| 国产乱子轮精品视频| 久草精品在线播放| 欧美影院一区| 日韩欧美视频第二区| 在线视频亚洲欧美中文| 日韩av片永久免费网站| 日本理论片午伦夜理片在线观看| 亚洲人成电影在线| 亚洲国产精品成人久久蜜臀| 在线观看免费亚洲| 国产成人无码精品亚洲| 亚洲色图在线播放| 国产激情av在线| 91麻豆精东视频| 极品白嫩少妇无套内谢| 理论片日本一区| 别急慢慢来1978如如2| 亚洲精品一二| 成人短视频在线观看免费| 日本久久一二三四| 欧美一区二区三区四区五区六区| 亚洲精品一二三**| 亚洲在线视频福利| 亚洲欧洲一二区| 国产精品九九久久久久久久| 最新中文字幕在线播放| 久久人人爽人人爽人人片av高请| 操你啦视频在线| 狠狠色综合色综合网络| 国产精品入口免费视| 午夜不卡影院| 91chinesevideo永久地址| 色呦呦网站在线观看| 久久不射电影网| 二区三区在线观看| 久久精品美女视频网站| 在线日本中文字幕| 在线视频欧美日韩| 国产youjizz在线| 亚洲视频777| 国产视频在线看| 亚洲欧美国产高清va在线播| 午夜性色福利视频| 日韩av在线看| 香蕉久久国产av一区二区| 日韩电影第一页| 无码精品一区二区三区在线| 亚洲国产精品推荐| 视频国产在线观看| 亚洲午夜未满十八勿入免费观看全集| 神马久久高清| 亚洲天堂第二页| 成人精品一区| 日韩视频在线一区| sm国产在线调教视频| 欧美高清视频在线播放| 欧美78videosex性欧美| 久久免费视频在线观看| 无码小电影在线观看网站免费| 国产suv精品一区二区三区88区| 刘亦菲一区二区三区免费看| 国产精品成人v| 粉嫩av国产一区二区三区| 91中文字精品一区二区| 成人另类视频| 免费国产一区二区| 日本精品黄色| 免费的一级黄色片| 一区二区毛片| 日本xxxxxxx免费视频| 精品一二三四在线| 久久国产免费视频| 久久久天堂av| 熟女少妇a性色生活片毛片| 一区二区三区视频在线看| 日韩免费观看一区二区| 一本色道a无线码一区v| 国产一区二区三区黄片| 精品欧美一区二区久久| 深夜福利视频在线观看| 久久精品国产久精国产一老狼| 国产高清在线a视频大全| 奇米成人av国产一区二区三区| jizzjizz少妇亚洲水多| 91免费看蜜桃| 国产成人久久| 国产爆乳无码一区二区麻豆| 奶水喷射视频一区| 深夜福利网站在线观看| 久久久不卡网国产精品二区| 黑人巨大精品一区二区在线| 午夜国产不卡在线观看视频| 亚洲成人av网址| 精品免费日韩av| 国产黄色免费在线观看| 欧美激情啊啊啊| 国产成人精品一区二区三区视频 | 97成人超碰免| 成人在线视频国产| 日韩av在线一区二区三区| 欧美精品激情| 日本美女视频一区| 久久综合999| 麻豆国产尤物av尤物在线观看| 在线免费观看成人短视频| 亚洲精品久久久久久动漫器材一区| 日韩av综合网站| 欧美人与动牲性行为| 国产精品美女在线| 色老板在线视频一区二区| 青青草原网站在线观看| 天堂va蜜桃一区二区三区 | 国模吧一区二区三区| 精品肉辣文txt下载| 国内外成人免费视频| 亚洲国产一区二区三区在线播放| 青青青在线播放| 成人一区二区三区中文字幕| 女性裸体视频网站| 色综合夜色一区| 国产v在线观看| 久久精品久久久久| 99九九久久| 茄子视频成人在线观看| 日韩午夜一区| 女同性恋一区二区三区| 亚洲香蕉伊在人在线观| 99国产精品欲| 久久色精品视频| 亚洲精品伦理| 亚洲一二区在线| 男女男精品视频网| 国产探花视频在线播放| 日本久久精品电影| 免费观看成年在线视频网站| 国内久久久精品| 九九热hot精品视频在线播放| 国产精品免费看久久久无码| 激情综合色丁香一区二区| 国产成人在线网址| 欧美日本高清视频在线观看| 第三区美女视频在线| 国产精品美腿一区在线看| 国产在视频线精品视频www666| 116极品美女午夜一级| www久久精品| 成人公开免费视频| 亚洲天堂网在线观看| 欧美人体一区二区三区| 欧美亚洲免费高清在线观看 | 日韩亚洲综合在线| 欧美××××黑人××性爽| 欧美日韩一区在线观看视频| 先锋影音久久| av女人的天堂| 欧美日韩精品高清| 国内外激情在线| 91亚洲精品丁香在线观看| 激情综合在线| 在线免费观看污视频| 色婷婷久久久久swag精品 | 精品国产999久久久免费| 超碰91人人草人人干| 成人激情自拍| 黄色av免费在线播放| 中文一区在线播放| 国产免费视频一区二区三区| 欧美成人午夜剧场免费观看| 爱爱精品视频| 欧美成人黑人猛交| ...xxx性欧美| 手机在线观看毛片| 国产成人精品在线视频| 国产精品久久久久久影院8一贰佰| 肉色超薄丝袜脚交| 午夜婷婷国产麻豆精品| 成人在线视频成人| 91九色在线观看| 亚洲免费一区二区| 男人在线观看视频| 日韩电影免费在线观看中文字幕 | 久久免费黄色| 91插插插插插插| 亚洲精品视频在线观看视频| 欧美少妇激情| 日韩xxxx视频| 亚洲国产精品成人综合| 午夜精品久久久久久久第一页按摩 | 欧美一级日本a级v片| 久久69国产一区二区蜜臀| 久久精品国产亚洲AV无码麻豆| 亚洲新中文字幕| 中文字幕久久精品一区二区| 91精品91久久久中77777老牛| 中文字幕视频一区二区三区久| 亚洲aaa在线观看| 成人高h视频在线| 性高湖久久久久久久久| 国产精品免费人成网站酒店| 精品视频www| 超碰成人在线观看| www.污污视频| 在线观看视频91| 在线观看网站免费入口在线观看国内 |