问题: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
分析
本人的情况是把Hadoop的hdfs的端口号改为9000,后原本的能用的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
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,重启hive。
删除元数据:进入myslq,删除hive元数据的那个数据库。
mysql -uroot -p
****
show databases;
drop database hive3;// hive3 是自己的,每个人不一样。我下面的drop hive3;是错的少database.
删除后格式化hive,也就是在创建一个hive3来存储元数据。
schematool -dbType mysql -initSchema //我用的是mysql存储元数据,你们用的啥写啥
成功的标记:
3、格式化hadoop
注意:hive的数据存在hdfs上记得在新建一个目录
本人应改新建的目录是:
hdfs dfs -mkdir -p /user/hive/warehouse //自己的目录
关闭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
文章来源:https://www.toymoban.com/news/detail-808880.html
总结:
我们改了一个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模板网!