修改NameNode端口后,hive表查询报错

2024-06-23 11:32

本文主要是介绍修改NameNode端口后,hive表查询报错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

https://www.cnblogs.com/zhangXingSheng/p/7073584.html



修改NameNode端口后,hive表查询报错

在进行使用hive查询表数据的时候,抛出异常


hive> select*from blackList;
FAILED: SemanticException Unable to determine if hdfs://node1:8020/opt/hive/warehouse is encrypted: java.lang.IllegalArgumentException: Wrong FS: hdfs://node1:8020/opt/hive/warehouse, expected: hdfs://hadoop-node1.com:8020

这个是因为我改变了hdfs nameNode的端口导致的,是hive元数据的问题,我的hive元数据是保存在mysql上,mysql中保存的还是以前的nameNode的端口。


我hive的在mysql中的数据库是sparkStreaming_db,
use sparkStreaming_db;(进入到数据库)
show tables;     (查看该数据库中所有表)
其中有两张表
DBS : Hive数据仓库的路径
SDS : Hive每张表对应的路径

mysql> select*from DBS;
+-------+-----------------------+-------------------------------------------------+---------+------------+------------+
| DB_ID | DESC | DB_LOCATION_URI | NAME | OWNER_NAME | OWNER_TYPE |
+-------+-----------------------+-------------------------------------------------+---------+------------+------------+
| 1 | Default Hive database | hdfs://hadoop-node1.com:9000/opt/hive/warehouse | default | public | ROLE |
+-------+-----------------------+-------------------------------------------------+---------+------------+------------+
hdfs://hadoop-node1.com:9000 是修改前的端口

mysql> select*from SDS;
+-------+-------+------------------------------------------+---------------+---------------------------+----------------------------------------+------------- 
| SD_ID | CD_ID | INPUT_FORMAT | IS_COMPRESSED | IS_STOREDASSUBDIRECTORIES | LOCATION | NUM_BUCKETS | OUTPUT_FORMAT | SERDE_ID |
+-------+-------+------------------------------------------+---------------+---------------------------+----------------------------------------+------------- +------------------------------------------------------------+----------+
| 3 | 3 | org.apache.hadoop.mapred.TextInputFormat | | | hdfs://node1:8020/opt/hive/hive_tables | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 3 |
| 4 | 4 | org.apache.hadoop.mapred.TextInputFormat | | | hdfs://node1:8020/opt/hive/hive_tables | -1 | org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat | 4 |
+-------+-------+------------------------------------------+---------------+---------------------------+----------------------------------------+-------------

从这里可以发现地址(hdfs://hadoop-node1.com:9000, hdfs://node1:8020)和端口是不对的,即便是hadoop-node.com和node1指向的都是同一个ip也是不行的,名称必须要一样
端口也要一样。后面存储的地址可以不同的

修改命令:

update DBS t set t.DB_LOCATION_URI='hdfs://hadoop-node1.com:8020/opt/hive/warehouse' where t.DB_ID='1'
update SDS t set t.LOCATION='hdfs://hadoop-node1.com:8020/opt/hive/tables' where t.DB_ID='3'

这篇关于修改NameNode端口后,hive表查询报错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087038

相关文章

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

ural 1026. Questions and Answers 查询

1026. Questions and Answers Time limit: 2.0 second Memory limit: 64 MB Background The database of the Pentagon contains a top-secret information. We don’t know what the information is — you

Mybatis中的like查询

<if test="templateName != null and templateName != ''">AND template_name LIKE CONCAT('%',#{templateName,jdbcType=VARCHAR},'%')</if>

如何在运行时修改serialVersionUID

优质博文:IT-BLOG-CN 问题 我正在使用第三方库连接到外部系统,一切运行正常,但突然出现序列化错误 java.io.InvalidClassException: com.essbase.api.base.EssException; local class incompatible: stream classdesc serialVersionUID = 90314637791991

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

android系统源码12 修改默认桌面壁纸--SRO方式

1、aosp12修改默认桌面壁纸 代码路径 :frameworks\base\core\res\res\drawable-nodpi 替换成自己的图片即可,不过需要覆盖所有目录下的图片。 由于是静态修改,则需要make一下,重新编译。 2、方法二Overlay方式 由于上述方法有很大缺点,修改多了之后容易遗忘自己修改哪些文件,为此我们采用另外一种方法,使用Overlay方式。

【Python报错已解决】AttributeError: ‘list‘ object has no attribute ‘text‘

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一:检查属性名2.2 步骤二:访问列表元素的属性 三、其他解决方法四、总结 前言 在Python编程中,属性错误(At