修改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

相关文章

Java实现复杂查询优化的7个技巧小结

《Java实现复杂查询优化的7个技巧小结》在Java项目中,复杂查询是开发者面临的“硬骨头”,本文将通过7个实战技巧,结合代码示例和性能对比,手把手教你如何让复杂查询变得优雅,大家可以根据需求进行选择... 目录一、复杂查询的痛点:为何你的代码“又臭又长”1.1冗余变量与中间状态1.2重复查询与性能陷阱1.

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

Java报错:org.springframework.beans.factory.BeanCreationException的五种解决方法

《Java报错:org.springframework.beans.factory.BeanCreationException的五种解决方法》本文解析Spring框架中BeanCreationExce... 目录引言一、问题描述1.1 报错示例假设我们有一个简单的Java类,代表一个用户信息的实体类:然后,