2015-09-28 5 views
0

Я запускаю Hive2 на моем ubuntu и пытаюсь создать таблицы как через интерфейс улья, так и через beeline \ jdbc. У меня нет проблем с созданием таблиц через интерфейс hive, но при доступе через jdbc я получаю отказ от разрешения.Невозможно создать таблицу Hive через соединение JDBC

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: org.apache.hadoop.security.AccessControlException Permission denied: user=hive, access=WRITE, inode="/user/hive/warehouse/page_view":cto:supergroup:drwxrwxr-x 

Из за исключением я вижу, он пытается создать таблицу в каталоге, который не существует (/ пользователь/ульи/склада/...)

моего hive-default.xml имеет следующую конфигурацию:

<property> 
    <name>hive.metastore.warehouse.dir</name> 
    <value>/usr/local/apache-hive-1.2.1-bin/metastore_db</value> 
    <description>location of default database for the warehouse</description> 
    </property> 
    <property> 
    <name>hive.metastore.uris</name> 
    <value/> 
    <description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description> 
    </property> 
    <property> 
    <name>hive.metastore.connect.retries</name> 
    <value>3</value> 
    <description>Number of retries while opening a connection to metastore</description> 
    </property> 
    <property> 
    <name>hive.metastore.failure.retries</name> 
    <value>1</value> 
    <description>Number of retries upon failure of Thrift metastore calls</description> 
    </property> 
    <property> 
    <name>hive.metastore.client.connect.retry.delay</name> 
    <value>1s</value> 
    <description> 
     Expects a time value with unit (d/day, h/hour, m/min, s/sec, ms/msec, us/usec, ns/nsec), which is sec if not specified. 
     Number of seconds for the client to wait between consecutive connection attempts 
    </description> 
    </property> 
    <property> 
    <name>hive.metastore.client.socket.timeout</name> 
    <value>600s</value> 
    <description> 
     Expects a time value with unit (d/day, h/hour, m/min, s/sec, ms/msec, us/usec, ns/nsec), which is sec if not specified. 
     MetaStore Client socket timeout in seconds 
    </description> 
    </property> 
    <property> 
    <name>hive.metastore.client.socket.lifetime</name> 
    <value>0s</value> 
    <description> 
     Expects a time value with unit (d/day, h/hour, m/min, s/sec, ms/msec, us/usec, ns/nsec), which is sec if not specified. 
     MetaStore Client socket lifetime in seconds. After this time is exceeded, client 
     reconnects on the next MetaStore operation. A value of 0s means the connection 
     has an infinite lifetime. 
    </description> 
    </property> 
    <property> 
    <name>javax.jdo.option.ConnectionPassword</name> 
    <value>mine</value> 
    <description>password to use against metastore database</description> 
    </property> 
    <property> 
    <name>hive.metastore.ds.connection.url.hook</name> 
    <value/> 
    <description>Name of the hook to use for retrieving the JDO connection URL. If empty, the value in javax.jdo.option.ConnectionURL is used</description> 
    </property> 
    <property> 
    <name>javax.jdo.option.Multithreaded</name> 
    <value>true</value> 
    <description>Set this to true if multiple threads access metastore through JDO concurrently.</description> 
    </property> 
    <property> 
    <name>javax.jdo.option.ConnectionURL</name> 
    <value>jdbc:derby:;databaseName=/usr/local/apache-hive-1.2.1-bin/metastore_db;create=true</value> 
    <description>JDBC connect string for a JDBC metastore</description> 
    </property> 

Итак, почему он пытается создать metastore_db под/user/hive/warehouse?

ответ

0

Моя проблема была я не изменил имя hive-default.xml.template на hive-site.xml, как я должен.

Смежные вопросы