首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Mac上安装配置单元-2.1.1时出现错误‘Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient’

在Mac上安装配置单元-2.1.1时出现错误‘Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient’
EN

Stack Overflow用户
提问于 2017-06-17 05:19:14
回答 0查看 803关注 0票数 0

我正在安装Hadoop-2.8.0的Mac os上安装HIVE-2.1.1。我按照https://dtflaneur.wordpress.com/2015/10/04/installing-hive-on-osx-el-capitan/的指示安装了hive。我可以毫无错误地完成前5个步骤。我将hive-site.xml配置为

代码语言:javascript
复制
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hiveuser</value>
    <description>Username to use against metastore database </description>
</property>
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
</property>
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
    <description>
  JDBC connect string for a JDBC metastore.
  To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
  For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
    </description>
</property>
<property>
   <name>javax.jdo.option.ConnectionDriverName</name>
   <value>com.mysql.jdbc.Driver</value>
   <description>Driver class name for a JDBC metastore</description>
</property>
<property>
   <name>javax.jdo.option.ConnectionUserName</name>
   <value>hiveuser</value>
   <description>Username to use against metastore database</description>
</property>
<property>
   <name>javax.jdo.option.ConnectionPassword</name>
   <value>welcome1</value>
   <description>password to use against metastore database</description>
</property>
<property>
   <name>datanucleus.fixedDatastore</name>
   <value>true</value>
</property>
<property>
   <name>hive.exec.local.scratchdir</name>
   <value>/tmp/hive</value>
   <description>Local scratch space for Hive jobs</description>
</property>
<property>
   <name>hive.downloaded.resources.dir</name>
   <value>/tmp/hive</value>
   <description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
   <name>hive.querylog.location</name>
   <value>/tmp/hive</value>
   <description>Location of Hive run time structured log file</description>
 </property>

当我运行$hive时,我得到了Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.的错误完整的错误如下。我尝试通过以下方式授予权限:

代码语言:javascript
复制
<code>
GRANT ALL PRIVILEGES ON*.* TO 'hiveuser'@'%' Identified by 'welcome1';  
GRANT ALL PRIVILEGES ON*.* TO 'hiveuser'@'localhost' Identified by 'welcome1';  
GRANT ALL PRIVILEGES ON*.* TO 'hiveuser'@'127.0.0.1' Identified by 'welcome1';  
</code>

并使用Mysql用户'root‘

代码语言:javascript
复制
mysql> CREATE DATABASE metastore;
mysql> USE metastore;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,ALTER,CREATE ON metastore.* TO 'root'@'localhost';

并相应地将hive-site.xml文件中的ConnectionUserName更改为根目录,将ConnectionPassword更改为welcome1。我发布的hive-site.xml文件就是我将用户名改回hiveuser的文件。因为当我将user更改为root时,它仍然不起作用。

请帮我解决这个问题!提前谢谢你!

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44598170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档