目录

Hadoop相关问题解决

Hive

1.查询hivemeta信息,查到的numRows为-1

集群厂商 集群版本 是否高可用 是否开启认证
cdh 不限 不限 不限

在hivemeta库中可以通过以下sql查询表的元数据信息

SELECT * FROM TABLE_PARAMS WHERE tbl_id = 45857

其中numRows会被用来统计为表的行数,但是发现有些表查出来行数为-1

可能原因

对于一个新创建的表,默认情况下,如果通过INSERT OVERWRITE的方式插入数据,那么Hive会自动将该表或分区的统计信息更新到元数据。

有一个参数来控制是否自动统计,hive.stats.autogather,默认为true.

可能是因为这个表新建后没有通过这种方式插入过数据,所以表没有进行过统计,默认信息即为numRows=-1

解决方案

使用命令 ANALYZE TABLE tableName COMPUTE STATISTICS; 统计元数据信息

再查询时,numRows变为0

2. bucketId out of range: -1 (state=,code=0)

集群厂商 集群版本 是否高可用 是否开启认证
hdp 3.1.1

执行一个普普通通的 SELECT * FROM student WHERE 1 = 1 LIMIT 5;报错

Error: java.io.IOException: java.lang.IllegalArgumentException: bucketId out of range: -1 (state=,code=0)

可能原因

初步怀疑和hadoop3支持事务有关

hadoop3.1建表默认创建acid表,acid表只支持ORC格式

解决方案

在建表语句最后加上STORED AS textfile;

3.集群客户端使用hive命令连接,报错认证失败

集群厂商 集群版本 是否高可用 是否开启认证
hdp 3.1.1

报错信息忘了拷贝了

可能原因

客户端java 的安全认证文件没有下发,kerberos加密解密有问题

需要jar包:

  • local_policy.jar
  • US_export_policy.jar

解决方案

拷贝安全认证文件到客户端

scp root@ip:/opt/third/jdk/jre/lib/security/*.jar /opt/third/jdk/jre/lib/security/

4.运行hive任务卡在Tez session hasn't been created yet. Opening session

集群厂商 集群版本 是否高可用 是否开启认证
hdp 3.1.1

可能原因

没有指定tez队列,无法获取到足够的资源启动任务

解决方案

设置tez队列 set tez.queue.name =

问题拓展

hive 设置队列需要根据所使用的引擎进行对应的设置才会有效果,否则无效

# 设置引擎

set hive.execution.engine=mr;
set hive.execution.engine=spark;
set hive.execution.engine=tez; # 如果使用的是mr(原生mapreduce)
SET mapreduce.job.queuename=etl;
# 如果使用的引擎是tez
set tez.queue.name=etl
# 设置队列(etl为队列名称,默认为default)

MapReduce:是一种离线计算框架,用于大规模数据集(大于1TB)的并行运算,将一个算法抽象成Map和Reduce两个阶段进行处理,非常适合数据密集型计算。

Spark:Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。

Storm:MapReduce也不适合进行流式计算、实时分析,比如广告点击计算等。Storm是一个免费开源、分布式、高容错的实时计算系统。Storm令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求。Storm经常用于在实时分析、在线机器学习、持续计算、分布式远程调用和ETL等领域

Tez: 是基于Hadoop Yarn之上的DAG(有向无环图,Directed Acyclic Graph)计算框架。它把Map/Reduce过程拆分成若干个子过程,即Map被拆分成Input、Processor、Sort、Merge和Output, Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等。同时可以把多个Map/Reduce任务组合成一个较大的DAG任务,减少了Map/Reduce之间的文件存储。同时合理组合其子过程,也可以减少任务的运行时间

5.Unable to read HiveServer2 configs from ZooKeeper

集群厂商 集群版本 是否高可用 是否开启认证
fi 5.15.2

没有进行zk认证

HDFS

1.No common protection layer between client and server

集群厂商 集群版本 是否高可用 是否开启认证
cdh 5.15.2
javax.security.sasl.SaslException: No common protection layer between client and server
at com.sun.security.sasl.gsskerb.GssKrb5Client.doFinalHandshake(GssKrb5Client.java:251)
at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:186)
at org.apache.hadoop.security.SaslRpcClient.saslEvaluateToken(SaslRpcClient.java:483)
at org.apache.hadoop.security.SaslRpcClient.saslConnect(SaslRpcClient.java:427)
at org.apache.hadoop.ipc.Client$Connection.setupSaslConnection(Client.java:594)
at org.apache.hadoop.ipc.Client$Connection.access$2000(Client.java:396)
at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:761)
at org.apache.hadoop.ipc.Client$Connection$2.run(Client.java:757)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1920)
at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:756)
at org.apache.hadoop.ipc.Client$Connection.access$3000(Client.java:396)
at org.apache.hadoop.ipc.Client.getConnection(Client.java:1557)
at org.apache.hadoop.ipc.Client.call(Client.java:1480)
at org.apache.hadoop.ipc.Client.call(Client.java:1441)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:230)

可能原因

该异常由服务端与客户端配置项hadoop.rpc.protection不一致导致。

解决方案

修正服务端hadoop.rpc.protection配置,确保两端一致,重启服务。

问题拓展

可选值(需要和集群配置保持同步):authentication,integrity,privacy

在hadoop服务和客户端之间传输的数据可以在线上加密。在core-site.xml中将hadoop.rpc.protection设置为privacy会激活数据加密。以上三项分别为

  • authentication【认证:仅认证(默认)】
  • integrity 【完整性:除了认证之外的完整性检查】
  • Privacy 【隐私:除了完整性检查之外的数据加密】

2.Can't get Master Kerberos principal for use as renewer

集群厂商 集群版本 是否高可用 是否开启认证
cdh 5.15.2

可能原因

获取fileReader的时候没有传入yarn.resourcemanager.principal参数。

解决方案

传入yarn.resourcemanager.principal参数。

3.Does not contain a valid host:port authority: hdp-2.6-node1.dtwave.com

可能原因

解决方案

HBase

1.KeeperErrorCode = NoNode for /hbase/meta-region-server

集群厂商 集群版本 是否高可用 是否开启认证
hdp 3.1.1

可能原因

hbase.znode.parent 没有配置正确,客户端需要与集群使用的一致。

解决方案

修正配置

Ranger

1.User doesn't have necessary permission to grant access

调用rangerApi授权出现以上返回,但是我的用户是admin用户,照理说是有所有权限的。

问题原因

可能是因为没有把用户添加到具体的规则中

Delegate Admin

kerberos

1.Fail to create credential. (63) - No service creds

集群厂商 集群版本 是否高可用 是否开启认证
hdp 2.6

可能原因

该异常由服务端与客户端配置项hadoop.rpc.protection不一致导致。

解决方案

Hadoop相关问题解决的更多相关文章

  1. [Linux] 安装JDK和Maven及hadoop相关环境

    紧接上一篇,继续安装hadoop相关环境 JDK安装:     1. 下载,下面这两个地址在网上找的,可以直接下载:         http://download.oracle.com/otn-pu ...

  2. Hadoop相关项目Hive-Pig-Spark-Storm-HBase-Sqoop

    Hadoop相关项目Hive-Pig-Spark-Storm-HBase-Sqoop的相关介绍. Hive Pig和Hive的对比 摘要: Pig Pig是一种编程语言,它简化了Hadoop常见的工作 ...

  3. 一 hadoop 相关介绍

    hadoop 相关介绍 hadoop的首页有下面这样一段介绍.对hadoop是什么这个问题,做了简要的回答. The Apache™ Hadoop® project develops open-sou ...

  4. Hadoop自学笔记(一)常见Hadoop相关项目一览

    本自学笔记来自于Yutube上的视频Hadoop系列.网址: https://www.youtube.com/watch?v=-TaAVaAwZTs(当中一个) 以后不再赘述 自学笔记,难免有各类错误 ...

  5. 线下AWD平台搭建以及一些相关问题解决

    线下AWD平台搭建以及一些相关问题解决 一.前言 文章首发于tools,因为发现了一些新问题但是没法改,所以在博客进行补充. 因为很多人可能没有机会参加线下的AWD比赛,导致缺乏这方面经验,比如我参加 ...

  6. CTFd平台搭建以及一些相关问题解决

    CTFd平台搭建以及一些相关问题解决 一.序言 因为想给学校工作室提高一下学习氛围,随便带学弟学妹入门,所以做了一个ctf平台,开源的平台有CTFd和FBCTF,因为学生租不起高端云主机所以只能选择占 ...

  7. Ubuntu 17.10安装VirtualBox 5.2.2 及相关问题解决

    link:https://www.linuxidc.com/Linux/2017-11/148870.htm sudo apt update && sudo apt upgrade s ...

  8. Hadoop本地库介绍及相关问题解决方法汇总

    1.hadoop本地库的作用是什么?2.哪两个压缩编码器必须使用hadoop本地库才能运行?3.hadoop的使用方法?4.hadoop本地库与系统版本不一致会引起什么错误?5.$ export HA ...

  9. Hadoop相关日常操作

    1.Hive相关 脚本导数据,并设置运行队列 bin/beeline -u 'url' --outputformat=tsv -e "set mapreduce.job.queuename= ...

随机推荐

  1. Bootstrap——导航条(navbar)

    导航条和导航从外观上差别不是太多,但在实际使用中导航条要比导航复杂得多. 导航条(navbar)中有一个背景色.而且导航条可以是纯链接(类似导航).表单以及表单和导航一起结合等多种形式. 在制作一个基 ...

  2. tomcat-9.0.20部署后输出窗口乱码解决方案

    问题:启动tomcat的时候,窗口乱码,默认都是UTF-8的,但是控制台是GBK的,要保持一致 可以通过控制台查看本机的编码: : 936  代表  GB2312 解决办法:打开tomcat目录下的c ...

  3. MyBatis 数值类型 where 条件配置的坑

    复现异常 我们先通过案例复现该类异常,测试项目地址:https://gitee.com/yin_jw/demo/tree/master/mybatis-demo/springboot-mybatis- ...

  4. 扛把子组20191031-8 alpha week 1/2 Scrum立会报告+燃尽图 06

    此作业的要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9916 一.小组情况 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 ...

  5. <编译原理 - 函数绘图语言解释器(2)语法分析器 - python>

    <编译原理 - 函数绘图语言解释器(2)语法分析器 - python> 背景 编译原理上机实现一个对函数绘图语言的解释器 - 用除C外的不同种语言实现 设计思路: 设计函数绘图语言的文法, ...

  6. Solr搜索引擎【索引提交、事务日志、原子更新】

    一.索引提交 当一个文档被添加到Solr中,但没有提交给索引之前,这个文档是无法被搜索的.换句话说,从查询的角度看,文档直到提交之后才是可见的.Solr有两种类型的提交:软提交和正常提交[也称硬提交] ...

  7. Intellij 生成exe可执行文件

    生成jar包 编写源代码 此处我使用kotlin来编码,主函数实际功能就是输出一行文字. /** * 应用入口 * @author mazaiting */ object TestExe { ​ @J ...

  8. cesium添加多个geojson文件并分别控制显示和隐藏

    /*获取geojson数据*/ function get_geojson(name,h,n){ let x=document.getElementById(n); if(x.className === ...

  9. 前端工具-定制ESLint 插件以及了解ESLint的运行原理

    这篇文章目的是介绍如何创建一个ESLint插件和创建一个ESLint rule,用以帮助我们更深入的理解ESLint的运行原理,并且在有必要时可以根据需求创建出一个完美满足自己需求的Lint规则. 插 ...

  10. ASCII, Unicode, UTF-8

    (本文参考:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html) 1. ASCII码 我们知道,在计算机内部,所有的 ...