hive动态分区导致xceivercount超限,hdfs无法创建新连接

news/2024/8/26 10:23:40 标签: hive, hdfs, hadoop

目录

一、事件复盘:

二、解决方案:

三、讨论


一、事件复盘:

hdfs无法创建新的文件,xceivercount超过最大设置,平时每个datanode只有100个左右的连接,突然达到8000以上。

事故原因,跨多天的动态分区导致: sql如下

set hive.exec.reducers.max=1000;
INSERT INTO TABLE table1 PARTITION (dt)  
select
    uid,
    times,
    memo,
    idfa,
    dt
   from table2 where dt>=20230101 and dt<=20231231 
   distribute by rand()

使用动态分区虽然非常方便,但会带来很多小文件,像上面这个sql,动态分区是365天,reduce是1000个,如果计算比较复杂,资源充足,就会同时创建365*1000个文件。 因为是动态分区,每个reduce都要写365个文件到各自的分区中,因为数据by rand()把数据打散了。

二、解决方案:

1、降低同时正在运行的reduce数

配置如下:

mapreduce.job.running.reduce.limit=200;

这样同时运行的reduce只能到200,就是有一年的分区,也最多创建 365*200个文件。

2、如果想限制动态分区的跨天范围,也可以做如下限制

hive.exec.max.dynamic.partitions=100;

也就是动态分区只能一次创建100个,超过会报错。

3、其实动态分区不适合跨天的情况,跨天数据重跑完全可以按天一天一天的补,通过提高重跑天的次数来完成并发。

三、讨论

有人会觉得我可以增大xceivercount的数目,来避免这个问题,但是这个首先要重启datanode,另外,这个方案始终(目前已经达到了8000个连接一台机器)还是会导致大量的连接数存在,对整个集群不是很友好,还是尽量减少小文件的生成为最佳


http://www.niftyadmin.cn/n/5558069.html

相关文章

基于STM32设计的物联网智能鱼缸(微信小程序)(187)

基于STM32设计的物联网智能鱼缸(微信小程序)(187) 文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】设计需求总结【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献1.4 开发工具的…

RDMA 高性能架构基本原理与设计方案

RDMA的主要优点包括低延迟、高吞吐量、减少CPU负担和支持零拷贝网络。它允许数据直接在网络接口卡&#xff08;NIC&#xff09;和内存之间传输&#xff0c;减少了数据传输过程中的中间环节&#xff0c;从而显著降低了延迟。RDMA技术能够实现高速的数据传输&#xff0c;适用于需…

win10解决wps使用开发者工具vb编辑器提示vbe6ext.olb不能被加载

如题,在win10系统中,使用wps开发者工具vb编辑器时 提示vbe6ext.olb不能被加载 很简单 : 右键excel 快捷方式-- 属性-->快捷方式, 打开文件位置, 找到vbe6ext.olb注册表打开&#xff1a;“winR”->“regedit”注册表中找到 计算机\HKEY_CLASSES_ROOT\TypeLib\{0002E157…

计算机网络——网络层(路由选择协议、路由器工作原理、IP多播、虚拟专用网和网络地址转换)

目录 路由选择协议 因特网的路由选择协议特点 路由信息协议RIP RIP衡量目的网络距离 RIP选择路由器的方式 RIP具有以下三个重要特点 RIP的基本工作流程 RIP的距离向量算法 ​编辑 ​编辑 RIP存在的问题——“坏消息传播得慢” RIP的封装 开放最短路径优先协议OSPF…

【webpack开发环境下的配置】

webpack的五大核心 entry入口output输出loader: 处理非js文件&#xff08;相当于翻译webpack本身只能理解js&#xff09;Plugins: 用于其他功能&#xff08;压缩&#xff0c;优化等&#xff09;mode&#xff1a; 模式 主要有开发模式和生产环境 实践 下载包 npm i webpack …

抖音seo短视频矩阵源码系统开发搭建----开源+二次开发

抖音seo短视频矩阵源码系统开发搭建 是一项技术密集型工作&#xff0c;需要对大数据处理、人工智能等领域有深入了解。该系统开发过程中需要用到多种编程语言&#xff0c;如Java、Python等。同时&#xff0c;需要使用一些框架和技术&#xff0c;如Hadoop、Spark、PyTorch等&am…

前端 css3 媒体查询实现 响应式布局

什么是媒体查询&#xff1f; 媒体查询&#xff08;Media Query&#xff09;是CSS3新语法。 使用 media 查询&#xff0c;可以针对不同的媒体类型定义不同的样式media 可以针对不同的屏幕尺寸设置不同的样式当你重置浏览器大小的过程中&#xff0c;页面也会根据浏览器的宽度和高…

Linux C++ 058-设计模式之解释器模式

Linux C 058-设计模式之解释器模式 本节关键字&#xff1a;Linux、C、设计模式、解释器模式 相关库函数&#xff1a; 概念 解释器模式&#xff08;Interpreter Pattern&#xff09;提供了评估语言的语法或表达式的方式&#xff0c;它属于行为型模式。 解释器模式用于构建一…