hadoop client/hive client去连接 微软云Azure上的HDI报错:


hive --service metastore

Exception in thread "main" org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.0.0.0:9083.

Getting MissingTableException: Required table missing VERSION when starting hive on mysql


根本原因是这里使用的是HDI


1、这两个配置文件都改(centos和ubuntu有区别)

# vim /usr/hdp/2.2.0.0-2041/hive/conf/hive-site.xml

# vim /etc/hive/conf/hive-site.xml






    hive.metastore.warehouse.dir
    /hive/warehouse
    location of default database for the warehouse
  
  
   hive.metastore.uris
    thrift://headnodehost:9083
    Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.
  

   

2、修改hosts

vim /etc/hosts

内容是来自于HDI的windows机器上的配置

 10.0.2.7        headnodehost    # SlaveNodeManager
 10.0.2.7        jobtrackerhost  # SlaveNodeManager
 10.0.2.7        namenodehost    # SlaveNodeManager



hive普通用户报错:


1、报错

Booting Derby (version The Apache Software Foundation - Apache Derby - 10.10.1.1 - (1458268)) instance a816c00e-0154-2ed3-cbb2-00000e1ebc98 

on database directory /var/lib/hive/metastore/metastore_db in READ ONLY mode with class loader sun.misc.Launcher$AppClassLoader@7cc355be. 

Loaded fromfile:/usr/hdp/2.2.0.0-2041/hive/lib/derby-10.10.1.1.jar.


问题:明显是metastore数据库read only,没有写权限


解决办法:

# cd /var/lib/hive/metastore/

# chmod -R a+w metastore_db/


2、报错如下,但是hive还是进来了

Booting Derby version The Apache Software Foundation - Apache Derby - 10.10.1.1 - (1458268): instance a816c00e-0154-3155-87b8-00000e0b5a08 

on database directory /var/lib/hive/metastore/metastore_db with class loader sun.misc.Launcher$AppClassLoader@7cc355be 

Loaded from file:/usr/hdp/2.2.0.0-2041/hive/lib/derby-10.10.1.1.jar

java.vendor=Oracle Corporation

java.runtime.version=1.8.0_51-b16

user.dir=/var/lib/hive

os.name=Linux

os.arch=amd64

os.version=2.6.32-573.1.1.el6.x86_64

derby.system.home=null

Database Class Loader started - derby.database.classpath=''

hive> 

   > 

还是权限问题:/var/lib/hive# chown -R hive:hive metastore/