改变hive的端口8020到9000。(SemanticException Unable to determine if hdfs://node1:8020/user/hive/warehouse)

这篇具有很好参考价值的文章主要介绍了改变hive的端口8020到9000。(SemanticException Unable to determine if hdfs://node1:8020/user/hive/warehouse)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:SemanticException Unable to determine if hdfs://node1:8020/user/hive/warehouse/t_score is encrypted: org.apache.hadoop.hive.ql.metadata.HiveException: java.net.ConnectException: Call From node1/192.168.88.151 to node1:8020 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused

改变hive的端口8020到9000。(SemanticException Unable to determine if hdfs://node1:8020/user/hive/warehouse),hdfs,hive

分析

本人的情况是把Hadoop的hdfs的端口号改为9000,后原本的能用的hive出现这个错
改变hive的端口8020到9000。(SemanticException Unable to determine if hdfs://node1:8020/user/hive/warehouse),hdfs,hive
Hive在执行某个操作(可能是在查询、加载数据或者写入数据到表中)时,试图连接到HDFS Namenode服务(位于node1:8020)。
所以我们要改一下hive的这个端口号,把他也改变成9000。同时因为原来是的数据都已经有8020的标签,所以一会还要去删除hive元数据,本人也把datanode节点的数据都给格式化了。

解决问题步骤:

1、先改变hive的hive-site.xml配置文件。

在hive-site.xml中加入以下的代码。

$HIVE_HOME/conf
vim hive-site.xml

改变hive的端口8020到9000。(SemanticException Unable to determine if hdfs://node1:8020/user/hive/warehouse),hdfs,hive

2、删除原本就有的hive元数据。(可以试一下更新元数据的信息,就是把所有元数据的8020端口改成9000,本人的试了没有解决,要是你们解决了,就不用进行下面的操作了)

更新元数据

步骤:思路可以试一下。
1、进入mysql
2、找到hive
3、找到DBS和SDS两张表
DBS:保存着数据仓库的路径 (存放数据库的元数据信息)
SDS:保存着每张表对应的路径(表中存储了存储了各种类型元数据)
只需要修改上面两张表元数据存储的路径就好了。

mysql -uroot -p
****
show databases;
use hive3; //自己的
UPDATE DBS SET DB_LOCATION_URI='/new/warehouse/path' WHERE NAME='default';  //自己的
UPDATE SDS SET LOCATION='/new/table/path' WHERE 1=1; //自己的要改变
exit;

完成以上步骤后,Hive 的数据仓库路径和表路径将被更新为你指定的新路径。请确保新路径是有效的,并且有相应的权限访问。

改变hive的端口8020到9000。(SemanticException Unable to determine if hdfs://node1:8020/user/hive/warehouse),hdfs,hive
记得关闭hive,重启hive。

删除元数据:进入myslq,删除hive元数据的那个数据库。

mysql -uroot -p
****
show databases;
drop database hive3;// hive3 是自己的,每个人不一样。我下面的drop hive3;是错的少database.

改变hive的端口8020到9000。(SemanticException Unable to determine if hdfs://node1:8020/user/hive/warehouse),hdfs,hive

删除后格式化hive,也就是在创建一个hive3来存储元数据。

schematool -dbType mysql -initSchema //我用的是mysql存储元数据,你们用的啥写啥

改变hive的端口8020到9000。(SemanticException Unable to determine if hdfs://node1:8020/user/hive/warehouse),hdfs,hive
成功的标记:
改变hive的端口8020到9000。(SemanticException Unable to determine if hdfs://node1:8020/user/hive/warehouse),hdfs,hive

3、格式化hadoop

注意:hive的数据存在hdfs上记得在新建一个目录

本人应改新建的目录是:

hdfs dfs -mkdir -p /user/hive/warehouse //自己的目录

改变hive的端口8020到9000。(SemanticException Unable to determine if hdfs://node1:8020/user/hive/warehouse),hdfs,hive

关闭Hadoop

stop-all.sh

删除旧的Hadoop元数据文件

本人博客:https://blog.csdn.net/ysl1196321875/article/details/135491368?spm=1001.2014.3001.5501

确认DataNode目录

本人博客:https://blog.csdn.net/ysl1196321875/article/details/135491368?spm=1001.2014.3001.5501

格式化NameNode

hdfs namenode -format

启动Hadoop集群

start-all.sh

改变hive的端口8020到9000。(SemanticException Unable to determine if hdfs://node1:8020/user/hive/warehouse),hdfs,hive

总结:

我们改了一个hive端口号,把hive的元数据都给删了,把hdfs的数据也给删除了。算是全部重置了。告别以前的所有的数据,自然而然的就不会在有影响。文章来源地址https://www.toymoban.com/news/detail-808880.html

到了这里,关于改变hive的端口8020到9000。(SemanticException Unable to determine if hdfs://node1:8020/user/hive/warehouse)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包