说明:今天我将集群的主机名修改了,集群能正常启动,但启动hive后,从hive的其中一张表中获取数据出现错误

错误如下:

FAILED: SemanticException Unable to determine if hdfs://master:9000/user/hive/warehouse/emp is encrypted: java.lang.IllegalArgumentException: Wrong FS: hdfs://master:9000/user/                                                                                         hive/warehouse/emp, expected: hdfs://hadoop01:9000

错误原因:

用mysql作为hive的元数据存储数据库,而mysql中存储hive元数据的hive数据库中表DBS,SDS这两张表中hive数据存储默认路径需要修改,但修改之前的元数据存储路径是hdfs://master:9000/user/hive/warehouse/ ,所以修改主机名后,相应的主机名也要修改。

废话不多说,请看下图 :

解决办法: 执行下面命令,修改成要修改的主机名就好了

update DBS set DB_LOCATION_URI=REPLACE (DB_LOCATION_URI,'master:9000','hadoop01:9000');
update SDS set LOCATION=REPLACE (LOCATION,'qianfeng01:8020','hadoop01:9000');

 

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐