我使用mysql作为MetaStore在我的hadoop集群上安装了hive 2.0.0。 Hive工作正常,直到昨天我尝试删除一个表,其中HDFS中的实际.orc文件已被删除。
之后,蜂巢突然破了。首先,在给出hive>之前,hive命令行会挂起几分钟。提示。其次,如果我在hive命令行上键入显示数据库; ,它会再次挂起很长时间并回复所有关于的错误引起:java.sql.SQLException:用户拒绝访问'hive'@'namenode01-bi-dev'(使用密码:是) 我在其他问题上尝试了以下命令并遇到了同样的问题。hive --service metastore
我已经通过stackoverflow搜索了这个错误。大多数帖子都是关于设置mysql权限。但是,我认为这不是我的问题。我曾经多次在hive-site.xml和mysql上检查过用户是否具有正确的权限。如果这是特权问题,那么在删除表之前,hive如何正常工作。以防万一,下面是相关的hive-site.xml字段:
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://10.104.90.40:3306/hive?createDatabaseIfNotExist=true</value>
</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>hive</value>
<description>Username to use against metastore database</description>
</property>
在mysql中:
mysql> select user,host,password from mysql.user;
+------+-------------------+-------------------------------------------+
| user | host | password |
+------+-------------------+-------------------------------------------+
| root | localhost | *CFBF6F2FB240D9B28DC5D0A313B6BAA047368AAF |
| root | namenode01-bi-dev | |
| root | 127.0.0.1 | |
| | localhost | |
| | namenode01-bi-dev | |
| hive | localhost | *4DF1D66463C18D44E3B001A8FB1BBFBEA13E27FC |
| hive | namenode01-bi-dev | *4DF1D66463C18D44E3B001A8FB1BBFBEA13E27FC |
| hive | datanode02-bi-dev | *4DF1D66463C18D44E3B001A8FB1BBFBEA13E27FC |
+------+-------------------+-------------------------------------------+
8 rows in set (0.00 sec)
mysql> show grants for hive@'namenode01-bi-dev'
-> ;
+---------------------------------------------------------------------------------------------------------------------+
| Grants for hive@namenode01-bi-dev |
+---------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'hive'@'namenode01-bi-dev' IDENTIFIED BY PASSWORD '*4DF1D66463C18D44E3B001A8FB1BBFBEA13E27FC' |
| GRANT ALL PRIVILEGES ON `hive`.* TO 'hive'@'namenode01-bi-dev' |
+---------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
我曾尝试在namenode上重新安装mysql和hive并重启机器但遇到同样的问题。目前,我正在使用datanode来运行mysql服务器和hive。具有完全相同的设置和配置,数据节点上的hive工作。但我仍然无法弄清楚namenode上的hive出了什么问题。这个错误没有任何意义。有没有人遇到同样的问题或知道出了什么问题?
答案 0 :(得分:0)
原来这个问题是由mysql引起的。 将以下行添加到/etc/my.cnf后,hive可以像以前一样正常工作
ScrollViewer