`
albert2012
  • 浏览: 14148 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

hive相关报错问题解决办法

 
阅读更多
1.Unable to determine Hadoop version information. 'hadoop version' returned:
解决办法:
修改bin/hive,
#    HADOOP_VERSION=$($HADOOP version | awk '{if (NR == 1) {print $2;}}');
HADOOP_VERSION=$($HADOOP version | awk '{if($0 ~ /[[:alpha:]]+ ([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)?.*$/){print  $2};}')
 
2. 在Hive中使用show tables;等命令报错:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes
解决办法: 
到mysql中的hive数据库里执行 alter database hive character set latin1;
改变hive元数据库的字符集,问题就可以解决! 但是这时你如果建一个表里有中文,就会报错了。
 
3.hive show tables; 报错:
FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
解决办法:
cd $HIVE_HOME/conf,确认hive-site.xml中的javax.jdo.option.ConnectionURL等配置是否正确
 
4.hive自定义函数扩展
在hive安装目录下建auxlib文件夹,与lib目录同级,把自己开发的扩展jar放到该目录下,
在使用之前执行一下类似如下的语句:
CREATE TEMPORARY FUNCTION ailk_udf_row_number AS 'com.ailk.cp.cloud.hiveudf.udf.AilkUdfRowNumber'
 
5.外部表建分区时需要指定location时
应该写成这样:
alter table tc_social_all add partition (yyyy=2016,mm=6,dd=16,hh=0) location '2016/06/16/00';
alter table tc_social_all add partition (yyyy=2016,mm=6,dd=16,hh=1) location '2016/06/16/01';
不能写成这样:
alter table tc_social_all add partition (yyyy=2016,mm=6,dd=16,hh=0) location '2016/06/16/00'
partition (yyyy=2016,mm=6,dd=16,hh=1) location '2016/06/16/01';
否则,所有的分区都指向'2016/06/16/00'。
删除外部表时,数据不会删除
删除普通表时,数据会删除
 
6.显示表分区
show partitions tabName
 
7.hive查询写文件报错Failed with exception Unable to move source hdfs:xx to destination xxx
解决方法:$HADOOP_HOME/share/hadoop/tools/lib/hadoop-distcp-2.6.0.jar放入hive的lib目录
并重启hive shell
 
8.启动hive metastore
nohup hive --service metastore &
 
9.执行hive报错
Diagnostic Messages for this Task:
java.lang.RuntimeException: native-lzo library not available
        at com.hadoop.compression.lzo.LzoCodec.getCompressorType(LzoCodec.java:155)
解决:
cp /export/home/hadoop/hadoop-2.6.0-cdh5.4.1/lib/native/libgplcompression.so /usr/java/jdk1.7.0_55/jre/lib/amd64
另外确认下/usr/java/jdk1.7.0_55/jre/lib/amd64下的libgplcompression.so有没有读取和执行权限。
 
10.Does not contain a valid host:port authority: logicaljt
zookeeper中的MR配置没有更新,需要格式化一下,在MR主节点(jobtracker主节点)执行:./hadoop mrzkfc -formatZK
11.查看table在hdfs上的存储路径
show create table 表名;
 
 12、hive报错java.io.IOException: Could not find status of job:job_1470047186803_131111
jobname过长导致,jobname默认是从hql中的开头和结尾截取一部分,如果sql开头或结尾有中文注释的话,会被截取进来,并进行url编码。导致作业的信息名变的非常长,超过了namenode所允许的最大的文件命名长度。导致任务无法写入historyserver。hive在historyserver无法获得这个job的状态,报开头的错误。
简单的解决办法:
设置jobname的最大长度
set hive.jobname.length=10;
分享到:
评论

相关推荐

    hive的一些报错及解决方法

    - 如果确实存在多版本,则可以通过删除冗余版本或更新版本信息来解决问题。 - 为避免再次出现多版本的问题,可以在`version`表上添加唯一索引: ```sql ALTER TABLE version ADD UNIQUE (schema_version); ``` ...

    hive on tez 常见报错问题收集

    在大数据处理领域,Hive作为一个基于Hadoop的数据仓库工具,被广泛用于结构化数据的查询、分析和...同时,对于复杂的查询场景,理解Hive和Tez的工作原理以及它们之间的交互至关重要,这有助于更好地诊断和解决问题。

    hive建表报错.md

    今天更新hive版本的时候,把关联的数据库删掉了,重新生成,之后出现MetaException(message:An exception was thrown while adding/validating class(es) : Column length too big for column 'PARAM_VALUE' (max = ...

    hive开发中常遇到的坑

    虽然上述SQL语句可以成功执行,但如果尝试将字符串类型的值插入到`name`字段中,虽然Hive不会立即报错,但最终的数据处理结果可能会出现意料之外的情况。 ### 总结 在Hive开发过程中,正确理解和处理这些问题对于...

    hdfs开启高可用+hive报错

    ### HDFS高可用机制与Hive兼容性问题详解 #### 一、背景介绍 Hadoop分布式文件系统(HDFS)是...综上所述,通过合理的配置调整和技术优化,可以有效解决HDFS HA与Hive之间的兼容性问题,保障大数据平台的稳定运行。

    hive2.1.1中orc格式读取报数组越界错误解决方法

    同时,对生产环境中的错误日志进行监控也是很重要的,一旦发现异常,可以立即定位并解决问题。在更新jar包后,进行充分的测试验证是必要的,确保新的版本不会引入其他问题。 总之,当Hive在读取ORC格式数据时出现...

    datax数据从hive导入mysql数据缺失解决

    考虑到修改 DataX 源码的难度和复杂性,本次采取了一种更为简单的解决方案:通过调整 Hive 中的参数配置来间接解决问题。具体来说,减小 `hive.merge.smallfiles.avgsize` 的值,使生成的文件块大小均不超过 256M。 ...

    Spark不能使用hive自定义函数.doc

    为了解决 Spark 无法使用 Hive 自定义函数的问题,可以采取以下步骤: 1. **确保环境一致性**:首先,确认 Spark 和 Hive 的版本是否兼容。通常情况下,Spark 2.x 版本支持 Hive 2.x 或更高版本。可以通过升级或...

    hive相关jar包

    "hive相关jar包"指的是为了与Hive交互、执行Hive查询所必需的Java库文件。这些jar包包含了Hive的执行引擎、元数据存储以及SQL解析等组件。 在描述中提到的"最新3.1.1版本",意味着这些jar包对应的是Hive 3.1.1这个...

    Hue 常见问题解决方案,大数据平台的hue/hive常见问题总结 免费下载

    异常信息和错误代码能提供解决问题的线索。 解决Hue问题的过程通常涉及调试配置、更新组件、优化性能和排查网络问题。熟悉Hadoop和Hue的架构、理解其工作原理,以及定期检查和更新相关组件,是避免和解决这些问题的...

    HIVE相关的jar包

    这个压缩包文件“HIVE相关的jar包”包含了不同版本的Hive库文件,这些文件对于在Java环境下开发和运行Hive应用程序至关重要。下面我们将详细讨论Hive jar包及其在IT领域的应用。 首先,Hive jar包是Hive服务的核心...

    数据库修改为拉丁语的步骤 1、在hive中无法删除非空数据库,无法删除表的解决办法如下;2、在hive中加载数据导表中报错

    数据库修改为拉丁语的步骤。1、在hive中无法删除非空数据库,无法删除表的解决办法如下;2、在hive中加载数据导表中报错。直接下载到本地即可查看步骤

    Hive3.1.2编译源码

    使用hive3.1.2和spark3.0.0配置hive on spark的时候,发现官方下载的hive3.1.2和spark3.0.0不兼容,hive3.1.2对应的版本是spark2.3.0,而spark3.0.0对应的hadoop版本是hadoop2.6或hadoop2.7。 所以,如果想要使用高...

    hive开启权限后不能创建数据库问题

    背景:由于Hive需要开启权限管理,安装网上教程,开启权限配置,重启集群后。 使用root用户登录,进入Hive命令行界面。 执行 create database test; 发现报错: Authorization failed:No privilege 'Create' found ...

    Hive常见错误及解决方案.docx

    因此,本文将总结常见的 Hive 错误及解决方案,帮助开发者快速解决问题,提高工作效率。 错误一:SecureCRT 7.3 出现乱码或者删除不掉数据 SecureCRT 是一个功能强大的 SSH 客户端工具,常用于远程登录服务器。...

    kettle批量插入hive2,解决表输出速度慢问题

    ### Kettle 批量插入Hive2:解决表输出速度慢问题 #### 一、问题背景及原因分析 在使用Kettle进行数据处理时,尤其是将数据从源系统传输到目标系统的过程中,如果目标系统是Hive2,则可能会遇到表输出速度极其缓慢...

    Hive学习资料

    下面将根据这些信息来生成相关的Hive知识点。 ### Hive基础知识 1. **Hive简介**: - Hive是一种数据仓库工具,它被设计用于处理存储在Hadoop文件系统(HDFS)中的大量结构化数据集。 - 通过Hive,用户可以使用...

    hive on spark mr 数据开发常见问题解决

    在Hive on Spark MR(MapReduce)数据开发中,开发者经常遇到各种问题,这些问题往往阻碍了工作效率。以下是一些常见的问题及其解决方案: 1. **Shuffle in Fetcher#6 错误** 当Hive作业处理大数据量时,可能会...

    连接Hive相关Jar包(DBeaver和JDBC均可使用)

    本篇将详细介绍如何在DBeaver和Java应用中使用JDBC连接Hive,以及涉及到的相关Jar包。 DBeaver是一款跨平台的数据库管理工具,支持多种数据库类型,包括Hive。要连接到Hive,我们需要在DBeaver中配置合适的JDBC驱动...

Global site tag (gtag.js) - Google Analytics