Hive--Hive元数据HDFS路径异常
发现问题
- 在hue上面跑hive语句时,出现如下异常:
1
2
3
4
5Error executing statement:
org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED:
SemanticException Unable to determine if hdfs://fetch-loadTest-20:8020/user/hive/warehouse/feature.db/t_usercode_email_split is encrypted:
java.lang.IllegalArgumentException:
Wrong FS: hdfs://fetch-loadTest-20:8020/user/hive/warehouse/feature.db/t_usercode_email_split, expected: hdfs://nameservice1
分析
- 从日志上看是说,hdfs的路劲有问题,指定说可能应该是hdfs://nameservice1
- hive中日志也是报同样错误
- 昨天好像修改过HDFS的NameNode为HA,问题大概确定,需要去修改Hive FSRoot
解决
- 有两个方法,第一个通过bin/metatool修改,第二个方法去mysql中修改hive的元数据
通过bin/metatool修改
bin/metatool -updateLocation <new-loc> <old-loc>
居然没效果,查了资料可以通过下面的方案去解决
https://discuss.pivotal.io/hc/en-us/articles/222679027-Failed-initializing-database-with-Access-denied-when-accessing-the-Hive-metatool-通过修改MySQL的元数据
hive的元数据在哪儿?即mysql中,怎么修改?还不确认是那几张表,然后通过一篇文章确认为DBS、SDS两张表
查看表信息
修改