目录

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. Cesium小插件改造--clock和timeline

    一.Clock 废话不多说,先上效果图再说.如效果图所示:clock的日期显示为YY/MM/DD这种简洁明了格式,时间则为当前系统时间(也就是北京时间).Clock内部以儒略日(JulianDate) ...

  2. WPS Office 2012专业版与WPS2019政府云办公增强版下载安装与体验

    WPS Office 2012专业版与WPS2019政府云办公增强版下载安装与体验 一.WPS Office 2012专业版. 优点:没有广告,很清爽,界面很人性化.是我于2019年11月找出来安装测 ...

  3. 扛把子组2018092609-2 选题 Scrum立会报告+燃尽图 04

    此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/8682] 一.小组情况组长:迟俊文组员:宋晓丽 梁梦瑶 韩昊 刘信鹏队名 ...

  4. H3C 交换机设置本地用户和telnet远程登录配置 v7 版本

    H3C 交换机设置本地用户和telnet远程登录配置   v7版本 一.配置远程用户密码与本地用户一致 [H3C]telnet server en //开启Telnet 服务 [H3C]local-u ...

  5. 内核升级在线安装报错:Could not retrieve mirrorlist http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7 error was14: curl#6 - "Could not resolve host: mirrors.elrepo.org; 未知的错误"

    修改网卡配置 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32 BOOTPROTO="none" ...

  6. SpringSecurity代码实现JWT接口权限授予与校验

    通过笔者前两篇文章的说明,相信大家已经知道JWT是什么,怎么用,该如何结合Spring Security使用.那么本节就用代码来具体的实现一下JWT登录认证及鉴权的流程. 一.环境准备工作 建立Spr ...

  7. postgresql密码加强-passwordcheck源码修改三种以上字符

    目录 1.使用方式 2.效果 3.源码修改 1.参考pg_cron的源码在配置文件内增加一个参数 2.修改源码配置校验数字 因数据库入网检测须修改密码级别,在源有的passwordcheck插件上进行 ...

  8. Django-分页-form数据校验

    分页 view层 def fenye(request): all_data = models.AuthorDetail.objects.all() current_page = request.GET ...

  9. 【Python】之format奇技淫巧的输出控制

    前置 环境:Python3.6.5 探讨点:输出print,字符串format控制, % 控制 print基础控制 简单示范: a = 1 b = '@Hello yanshanbei!' print ...

  10. 关于jsp中jstl报错Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core

    有的时候在开发jsp时,需要使用jstl时,在jsp上面引用jstl却出现错误:Can not find the tag library descriptor for "http://jav ...