问题1:

Caused by: javax.jdo.JDODataStoreException: Required table missing : "`VERSION`" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.autoCreateTables"

NestedThrowables:

org.datanucleus.store.rdbms.exceptions.MissingTableException: Required table missing : "`VERSION`" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.autoCreateTables"

        at org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:461)

        at org.datanucleus.api.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:732)

        at org.datanucleus.api.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:752)

        at org.apache.hadoop.hive.metastore.ObjectStore.setMetaStoreSchemaVersion(ObjectStore.java:6664)

解决方法:

if ((this.readOnlyDatastore) || (this.fixedDatastore))  

   {  

     this.autoCreateTables = false;  

     this.autoCreateColumns = false;  

     this.autoCreateConstraints = false;  

   }  

   else  

   {  

     boolean autoCreateSchema = conf.getBooleanProperty("datanucleus.autoCreateSchema");  

     if (autoCreateSchema)  

     {  

       this.autoCreateTables = true;  

       this.autoCreateColumns = true;  

       this.autoCreateConstraints = true;  

     }  

     else

     {  

       this.autoCreateColumns = conf.getBooleanProperty("datanucleus.autoCreateColumns");  

       this.autoCreateTables = conf.getBooleanProperty("datanucleus.autoCreateTables");  

       this.autoCreateConstraints = conf.getBooleanProperty("datanucleus.autoCreateConstraints");  

     }

   }

   看来关键是 this.readOnlyDatastore        this.fixedDatastore 这2个字段

  而且autoCreateSchema 这个设置为true 就可以决定了其他的设置,所以其他设置在此都无效了

  继续追踪org.datanucleus.store.AbstractStoreManager 发现了这2个字段的设置代码

  this.readOnlyDatastore = conf.getBooleanProperty("datanucleus.readOnlyDatastore");

  this.fixedDatastore = conf.getBooleanProperty("datanucleus.fixedDatastore");  

修改的配置的内容如下

   

        datanucleus.readOnlyDatastore

        false

   

     

        datanucleus.fixedDatastore

        false 

   

     

        datanucleus.autoCreateSchema 

        true 

   

   

        datanucleus.autoCreateTables

        true

   

   

        datanucleus.autoCreateColumns

        true

   

    

    

问题2:

15/02/04 09:21:14 WARN conf.HiveConf: DEPRECATED: Configuration property hive.metastore.local no longer has any effect. Make sure to provide a valid value for hive.metastore.uris if you are connecting to a remote metastore.

15/02/04 09:21:14 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist

Logging initialized using configuration in jar:file:/usr/local/hive/lib/hive-common-0.14.0.jar!/hive-log4j.properties

Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwx--x--x

        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.main(RunJar.java:160)

Caused by: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwx--x--x

        at org.apache.hadoop.hive.ql.session.SessionState.createRootHDFSDir(SessionState.java:529)

        at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:478)

        at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:430)

        ... 7 more

解决方法:

[root@hadoop ~]# hadoop fs -chmod -R 777 /tmp/hive

[root@hadoop ~]# hadoop fs -ls /tmp

Found 1 items

drwxrwxrwx   - root supergroup          0 2015-02-04 08:48 /tmp/hive

问题3:

15/02/04 09:33:13 WARN conf.HiveConf: DEPRECATED: Configuration property hive.metastore.local no longer has any effect. Make sure to provide a valid value for hive.metastore.uris if you are connecting to a remote metastore.

15/02/04 09:33:13 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist

Logging initialized using configuration in jar:file:/usr/local/hive/lib/hive-common-0.14.0.jar!/hive-log4j.properties

Exception in thread "main" java.lang.RuntimeException: java.net.ConnectException: Call to hadoop/192.168.52.139:9000 failed on connection exception: java.net.ConnectException: Connection refused

        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.main(RunJar.java:160)

Caused by: java.net.ConnectException: Call to hadoop/192.168.52.139:9000 failed on connection exception: java.net.ConnectException: Connection refused

解决方法:

此问题是因为 hadoop没有启动,启动hadoop后问题解决

问题4:

[root@hadoop ~]# hive

15/02/04 09:38:06 WARN conf.HiveConf: DEPRECATED: Configuration property hive.metastore.local no longer has any effect. Make sure to provide a valid value for hive.metastore.uris if you are connecting to a remote metastore.

15/02/04 09:38:06 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist

Logging initialized using configuration in jar:file:/usr/local/hive/lib/hive-common-0.14.0.jar!/hive-log4j.properties

hive>

解决方法:

在0.10  0.11或者之后的HIVE版本 hive.metastore.local 属性不再使用。

在配置文件里面:

 

 hive.metastore.local

  false

  controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM

删除掉,再次登录警告就消失了

hive-site.xml 完整的内容如下:

     

        javax.jdo.option.ConnectionURL 

        jdbc:mysql://192.168.52.139:3306/hive?createDatabaseIfNotExsit=true;characterEncoding=UTF-8 

     

     

        javax.jdo.option.ConnectionDriverName 

        com.mysql.jdbc.Driver

   

   

        javax.jdo.option.ConnectionUserName

        hive

   

     

        javax.jdo.option.ConnectionPassword 

        hive 

     

   

        datanucleus.readOnlyDatastore

        false

   

     

        datanucleus.fixedDatastore

        false 

   

     

        datanucleus.autoCreateSchema 

        true 

   

    

   

        datanucleus.autoCreateTables

        true

   

   

        datanucleus.autoCreateColumns

        true

   


本文原始地址:http://bobcaojin198306.blog.163.com/blog/static/9610418201514104222239/