hive配置优化

2023-11-06

错误描述

执行 hive 任务报错

#==highlighting text==
#版本:
#Hive 2.2.0
#Hadoop 2.7.6


Exit code is 143 Container exited with a non-zero exit code 143
#附加上次执行日志:
22/03/20 04:32:20 INFO mapreduce.Job: Job job_1627608309192_64953 running in uber mode : false
22/03/20 04:32:20 INFO mapreduce.Job:  map 0% reduce 0%
22/03/20 05:02:48 INFO mapreduce.Job: Task Id : attempt_1627608309192_64953_m_000063_0, Status : FAILED
22/03/20 05:02:48 INFO mapreduce.Job: Task Id : attempt_1627608309192_64953_m_000087_0, Status : FAILED
22/03/20 05:02:48 INFO mapreduce.Job: Task Id : attempt_1627608309192_64953_m_000071_0, Status : FAILED

Hive 任务执行时设置的参数
查看关于 container 内存的配置:

hive> SET mapreduce.map.memory.mb;
mapreduce.map.memory.mb=8192
hive> SET mapreduce.reduce.memory.mb;
mapreduce.reduce.memory.mb=16384
hive> SET yarn.nodemanager.vmem-pmem-ratio;
yarn.nodemanager.vmem-pmem-ratio=2.1
hive> set mapred.map.child.java.opts;
mapred.map.child.java.opts=-Xmx8192m

注:

yarn.nodemanager.vmem-pmem-ratio: 虚拟内存率,默认2.1

错误分析

从 hive 报错看是由于物理内存达到限制,导致 container 被 kill 掉报错。
过滤程序日志,看出现报错是属于哪一个阶段,是map task阶段或者reduce task阶段,是哪一阶段的内存不足导致的问题。

结论

从上面执行时候配置的参数看,单个map 和 reduce 分配物理内存 8G; 虚拟内存限制 8 * 2.1 = 16.8G 。
所以从上面的报错信息来看,是由于单个 task (map task 或 reduce task) 处理的数据量超过物理内存 8G 限制导致的,所以设置两个选项即可解决该问题。
###
mapreduce.map.memory.mb = 16384
mapred.map.child.java.opts=-Xmx13926m
###

  <property>
    <name>mapreduce.map.memory.mb</name>
    <value>16384</value>
    <description>Comma separated list of variables which are used internally and should not be configurable.</description>
  </property>
  <property>
    <name>mapreduce.map.java.opts</name>
    <value>-Xmx13926m</value>
    <description>Comma separated list of variables which are used internally and should not be configurable.</description>
  </property>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hive配置优化 的相关文章

  • Spark SQL 未正确转换时区[重复]

    这个问题在这里已经有答案了 使用 Scala 2 10 4 和 Spark 1 5 1 和 Spark 1 6 sqlContext sql select id to date from utc timestamp from unixtim
  • Hive 表的默认分隔符是什么?

    如果我们在创建表时不提及任何分隔符 hive 是否有默认分隔符 创建表日志 ts bigint 行字符串 按 dt 字符串 国家 地区字符串 分区 默认分隔符 001 如果创建hive表时没有设置 您可以将其更改为其他分隔符 例如 hive
  • 是否可以直接从文件加载镶木地板表?

    如果我有一个二进制数据文件 可以转换为 csv 格式 有什么方法可以直接从中加载镶木地板表吗 许多教程显示将 csv 文件加载到文本表 然后从文本表加载到镶木地板表 从效率的角度来看 是否可以像我已有的那样直接从二进制文件加载镶木地板表 理
  • Hive 上的自定义 MapReduce 程序,规则是什么?输入和输出怎么样?

    我被困了几天 因为我想根据我在 hive 上的查询创建一个自定义的地图缩减程序 在谷歌搜索后我发现没有太多例子 而且我仍然对规则感到困惑 创建自定义 MapReduce 程序的规则是什么 映射器和减速器类怎么样 任何人都可以提供任何解决方案
  • Hive - 通过聚合跨组的值来创建映射列类型

    我有一个看起来像这样的表 customer category room date 1 A aa d1 1 A bb d2 1 B cc d3 1 C aa d1 1 C bb d2 2 A aa d3 2 A bb d4 2 C bb d4
  • Spark 2.0 弃用了“DirectParquetOutputCommitter”,没有它如何生活?

    最近 我们从 HDFS 上的 EMR gt S3 上的 EMR 启用了一致视图的 EMRFS 迁移 我们意识到 Spark SaveAsTable 镶木地板格式 写入 S3 的速度比 HDFS 慢约 4 倍 但我们发现使用 DirectPa
  • Hive(查找连续 n 列中的最小值)

    我在 Hive 中有一个表 有 5 列 即电子邮件 a first date b first date c first date d first date a b c d 是用户可以执行的 4 个不同操作 上表中的 4 列表示用户执行第一个
  • 将 hadoop fs 路径转换为 ​​EMR 上的 hdfs:// 路径

    我想知道如何将数据从 EMR 集群的 HDFS 文件系统移动到 S3 存储桶 我认识到我可以直接在 Spark 中写入 S3 但原则上 之后执行它也应该很简单 到目前为止 我还没有发现在实践中这是正确的 AWS 文档建议s3 dist cp
  • Spark MLLib 存在问题,导致概率和预测对于所有内容都相同

    我正在学习如何将机器学习与 Spark MLLib 结合使用 目的是对推文进行情感分析 我从这里得到了一个情感分析数据集 http thinknook com wp content uploads 2012 09 Sentiment Ana
  • 连接到 Hive 时使用 Spark 进行 Kinit

    我正在尝试从独立的 Spark 连接到 Hive hadoop 集群具有 kerberos 身份验证 有人可以让我知道如何在 Spark 程序中执行 kinit 我可以连接到配置单元吗 更新 我的 Spark 与 Hadoop 位于不同的集
  • Hive中group by后是否可以连接字符串字段

    我正在评估 Hive 需要在 group by 之后进行一些字符串字段连接 我找到了一个名为 concat ws 的函数 但看起来我必须显式列出所有要连接的值 我想知道是否可以在 Hive 中使用 concat ws 做这样的事情 这是一个
  • AWS Athena 扁平化来自嵌套 JSON 源的数据

    我想从 Athena 中的嵌套 JSON 创建一个表 描述的解决方案here http docs aws amazon com athena latest ug json html使用 hive Openx JsonSerDe 等工具尝试在
  • Hadoop安装问题:

    我跟着this http www bogotobogo com Hadoop BigData hadoop Install on ubuntu single node cluster phpHadoop 安装教程 不幸的是 当我运行全部启动
  • hive查询无法通过jdbc生成结果集

    我是 Hive 和 Hadoop 的新手 在我的教程中 我想将表创建为 import java sql SQLException import java sql Connection import java sql ResultSet im
  • 猪如何过滤不同的对(对)

    我是猪的新手 我有一个 Pig 脚本 它在两个元素之间生成制表符分隔的对 每行一对 例如 John Paul Tom Nik Mark Bill Tom Nik Paul John 我需要过滤掉重复的组合 如果我使用 DISTINCT 我会
  • http://localhost:50070/ 的 hadoop Web UI 不起作用

    命令 jps 显示以下详细信息 第5144章 5464 节点管理器 5307 资源管理器 5800 Jps 显然namenode和datanode丢失了 网络用户界面位于http 本地主机 50070 http localhost 5007
  • 计算行的排名

    我想根据一个字段对用户 ID 进行排名 对于相同的字段值 排名应该相同 该数据位于 Hive 表中 e g user value a 5 b 10 c 5 d 6 Rank a 1 c 1 d 3 b 4 我怎样才能做到这一点 可以使用ra
  • R+Hadoop:如何从HDFS读取CSV文件并执行mapreduce?

    在以下示例中 small ints to dfs 1 1000 mapreduce input small ints map function k v cbind v v 2 MapReduce函数的数据输入是一个名为small ints的
  • Namenode高可用客户端请求

    谁能告诉我 如果我使用java应用程序请求一些文件上传 下载操作到带有Namenode HA设置的HDFS 这个请求首先去哪里 我的意思是客户端如何知道哪个名称节点处于活动状态 如果您提供一些工作流程类型图或详细解释请求步骤 从开始到结束
  • hive创建表的多个转义字符

    我正在尝试将带有管道分隔符的 csv 加载到配置单元外部表 数据值包含单引号 双引号 括号等 使用 Open CSV 版本 2 3 测试文件 csv id name phone 1 Rahul 123 2 Kumar s 456 3 Nee

随机推荐

  • http各个版本的区别

    http进化史 http0 9 只有GET请求 也不支持请求头信息 请求信息只有下面一行 GET www baidu com http1 0 在请求中指定版本号 支持GET POST HEAD http1 1 http1 1新增了 OPTI
  • 进制压缩加密_token参数

    进制压缩加密 token参数 网址 https sh meituan com meishi c17 进入抓包 查看要获取的数据 可以在请求地址 找到 getPoiList 的请求链接 请求参数有多个 但是多次请求对比发现只有 token 参
  • LeetCode:118(Python)—— 杨辉三角(简单)

    杨辉三角 概述 给定一个非负整数 numRows 生成 杨辉三角 的前 numRows 行 在 杨辉三角 中 每个数是它左上方和右上方的数的和 输入 numRows 5 输出 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 输入
  • 超经典!分割任务数据集介绍。

    文章目录 前言 一 IRSTD 1k 二 Pascal VOC2012 1 数据简介 2 分割任务数据集介绍 三 iSAID 总结 前言 在探索网络的过程中 比较基础和重要的工作是了解数据 今天来总结下我目前使用过的分割任务数据集 本博文将
  • Linux进阶_DNS服务和BIND之实战案例篇

    成功不易 加倍努力 1 实战案例 实现DNS正向主服务器 2 实战案例 实现DNS从服务器 3 实战案例 实现DNS forward 缓存 服务器 4 实战案例 利用view实现智能DNS 5 实战案例 综合案例 实现Internet 的D
  • 【linux多线程(四)】——线程池的详细解析(含代码)

    目录 什么是线程池 线程池的应用场景 线程池的实现 线程池的代码 C linux线程 壹 初识线程 区分线程和进程 线程创建的基本操作 线程 二 互斥量的详细解析 线程 三 条件变量的详细解析 什么是线程池 线程池是一种线程使用模式 它是将
  • java 栅栏_Java并发基础-栅栏(CountDownLatch)与闭锁(CyclicBarrier)

    1 闭锁CountDownLatch 闭锁CountDownLatch用于线程间的同步 它可以使得一个或者多个线程等待其它线程中的某些操作完成 它有一个int类型的属性count 当某个线程调用CountDownLatch对象的await方
  • android获取各种系统路径的方法

    android获取各种系统路径的方法 整理了一些安卓开发中可能会用到的各种路径的获取方法 欢迎评论 通过Environment获取的Environment getDataDirectory getPath 获得根目录 data 内部存储路径
  • Spring Boot + 阿里OSS实现图片上传,返回预览的地址,实现图片预览

    阿里OSS实现图片上传 返回预览地址 注册阿里OSS 首先进入阿里云的官网 https www aliyun com 紧接着点击首页上的立即开通 点击这个创建一个bucket 其余的默认就可以 可以根据自己的实际需求去写 使用代码操作阿里O
  • Redis AOF和RDB

    Redis AOF和RDB Redis是内存型数据库 为了保证数据在断电后不会丢失 需要将内存中的数据持久化到硬盘上 RDB持久化 将某个时间点的所有数据都存放到硬盘上 可以将快照复制到其他服务器从而创建具有相同数据的服务器副本 如果系统发
  • vue不是内部或外部命令,也不是可运行的程序

    使用vue脚手架初始化vue项目时 总是报 vue不是内部或外部命令 也不是可运行的程序 这样的错误 检查基础环境是否具备 1 node v查看版本 已经安装 2 npm v查看版本 已经安装 3 node 系统环境变量已经设置 于是乎 查
  • Error: Cannot fit requested classes in a single dex file (# methods: 65948 > 65536) 解决方法

    Error Cannot fit requested classes in a single dex file methods 65948 gt 65536 解决方法 最近写项目 写着写着运行时突然就报错了 运行不起来了 报错如下 Erro
  • 【django】admin后台管理的坑

    自定义的主键 必须要在fields或者fieldsets里 但是默认添加的或者自主添加的autofield字段可以不在admin页面里添加 保存时会自动添加
  • A股投资日历

    A股投资日历 12月2日 国11月非农就业报告 21 30 中证AAA综合债指数系列 8条 发布 2022中国 博鳌 国际黄金市场年度大会举办 影响 宏观 债券 黄金 12月2 3日 第四届大宗商品金融服务创新锋会 影响 大宗商品 12月2
  • Linux下嵌入式程序仿真调试(GDB)(二)

    目录 目录 前言 Ubuntu下Qt的GDB环境搭建未成功 Qt5的设置 命令行调试问题记录 总结 链接地址 前言 Linux下嵌入式程序仿真调试 GDB 一 主要介绍了GDB交叉调试环境的搭建过程 本想把交叉编译好的gdb程序放置到Qt中
  • SpringBean的自动装配运行原理

    SpringBean的自动装配运行原理 引言 在现代的软件开发领域中 快速且灵活地处理依赖关系是至关重要的 Spring框架以其强大的依赖注入功能 使得开发者能够轻松管理各种对象之间的依赖关系 其中 自动装配是Spring框架中一项重要的功
  • (Oracle功能篇) Oracle 数据库连接池

    使用 proxool 0 9 1 zip http ncu dl sourceforge net project proxool proxool 0 9 1 proxool 0 9 1 zip 相关代码 package yerasel im
  • SpringBoot+Mybatis 整合 xml配置使用+免xml使用

    SpringBoot作为现在非常流行的微服务框架 Mybatis作为现在非常流行的ORM框架 他们整合在一起是不是会产生火花呢 今天就搭建一个SpringBoot Mybatis的微服务开发环境 IEDA JDK1 8首先我们先创建个mav
  • h3c 生成树协议及stp配置命令

    STP 作用 1 通过阻断冗余链路来消除桥接网络中可能存在的路径回环 2 当前路径发生故障时 激活冗余备份链路 恢复网络连通性 STP Spanning Tree Protocol 生成树协议 是用于在局域网中消除数据链路层物理环路的协议
  • hive配置优化

    错误描述 执行 hive 任务报错 highlighting text 版本 Hive 2 2 0 Hadoop 2 7 6 Exit code is 143 Container exited with a non zero exit co