Hadoop-Spark读写ES性能调优

发布于:2024-10-24 编辑:匿名 来源:网络

腾讯云EMR&Elasticsearch使用ES-Hadoop MR&Hive文章 腾讯云EMR&Elasticsearch使用ES-Hadoop Spark文章通过前面几篇文章的介绍,相信大家已经有了基本的了解。数据组件与ES结合使用。

本系列文章发表后,后端收到大量私信询问很多性能调优问题。比如很多开发者测试发现从Hive、Spark等导出的数据写入ES的性能非常慢,导出百万条数据需要好几个小时。

在帮助一些开发人员调优的过程中,我们发现少数情况下的问题是使用的集群规模较小,不能很好地处理大数据场景下的高压高吞吐量写入。但更多的案例问题是由于我们没有对ES-Hadoop的参数进行详细的了解和调优而导致的。

默认参数设置太小,与我们的集群大小和写入吞吐量不匹配,导致写入性能较低。 。

ES-Hadoop的参数很多,包括索引设置、映射、网络、读写等,其中一些Advanced高级参数非常重要,与我们的读写性能密切相关。此类参数的默认值假设用户使用的集群是日常应用中常见的比较小的集群。

然而,在国内的大数据场景中,往往有数以亿计的用户剖析人群数据。如果这些不正确,参数调整将很难达到所需的写入性能。

我们以Spark RDD写入ES为: 代码语言:txt复制 import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.JavaSparkContext;导入 org.spark_project.guava.collect.ImmutableList;导入 org.spark_project.guava.collect.ImmutableMap;导入 org.elasticsearch.spark.rdd.api.java.JavaEsSpark;导入 java.util.Map;导入 java.util.List ;public class WriteToESUseRDD { public static void main(String[] args) { SparkConf conf = new SparkConf().setAppName("my-app").clone() .set("es.nodes", "10.0.4.17" ) .set("es.port", "") .set("es.nodes.wan.only", "true") .set("es.batch.size.bytes", "30MB") .set( "es.batch.size.entries", "0") .set("es.batch.write.refresh", "false") .set("es.batch.write.retry.count", "50") .set("es.batch.write.retry.wait", "s") .set("es.http.timeout", "5m") .set("es.http .retries", "50") set("es.action.heart.beat.lead", "50s"); JavaSparkContext sc = new JavaSparkContext(conf); Map messages = ImmutableMap.of("clientip ", "...", "请求", "POST /write/using_spark_rdd HTTP/1.1", "状态", ,"大小", , "@timestamp", 0); List>列表 = ImmutableList.of(logs); JavaRDD> javaRDD = sc.parallelize(list); JavaEsSpark.saveToEs(javaRDD, "logs-98/type");可以看到,我们使用set方法设置了很多参数,我们一一介绍一下: es.nodes/es.prot:这里比较简单,就是es节点列表和端口号es.nod。es.wan.only:表示使用的es节点IP是否为云环境IP。

节点嗅探不允许检测真实节点IP。适用于类似于腾讯云或AWS的ES云服务。

es.batch.size.bytes/es.batch.size.entries:这两个参数可以控制单批次写入数据的大小和数量。数据累计量先达到哪个参数设置就会触发批量写入。

。我们知道,增加单批次写入的数据可以提高写入ES的整体吞吐量。

因为ES写入一般都是顺序写入,在批量写入中,可以合并很多数据的写入处理逻辑,也可以合并大量的IO操作。默认值设置得比较小。

您可以根据集群的规模适当调整这两个值。建议20MB、2w。

当然,批量大小不能无限增加,这会导致写入任务积压。 es.batch.write.refresh:ES是准实时搜索引擎,也就是说写入数据后,只有触发刷新操作后才能搜索到写入的数据。

这里的参数是控制每次批量操作后是否刷新。每次刷新后,ES都会根据当前内存中的数据生成一个新的段。

如果刷新速度太快,就会产生大量的小段。当大量Segment合并时,会消耗磁盘IO。

默认值是开启的,我们建议在这里将其设置为 false。通过索引设置中的refresh_interval配置项控制,根据业务需要可以设置为30s或者更长。

es.batch.write.retry.count/es.batch.write.retry.wait:这两个参数将控制单个批量写入请求的重试次数和重试间隔。当超过重试次数时,Yarn任务管理会将任务标记为失败,导致整个数据写入任务失败。

默认值为3。为了防止集群因偶尔网络抖动或压力过大而暂时关闭,建议增大该值,设置为50。

es.http.timeout/es.http.retries :这两个参数控制http接口层面的超时和重试,涵盖读请求和写请求。和上面一样,默认值比较小。

默认超时时间为1分钟,重试次数为3次。建议将超时时间调整为5分钟,重试次数调整为50次。

es.action.heart.beat.lead:该参数控制任务超时后,需要多长时间通知Yarn调度模块重试整个任务。在大多数写作场景中,我们不会设置写作任务的重试次数。

Hadoop-Spark读写ES性能调优

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 内向基金完成首轮募资

    内向基金完成首轮募资

    据投资界8月27日消息,内向基金(洞察基金)正式完成首期基金首轮超亿元募资,目标规模2亿元,将重点关注消费升级领域的股权投资。 据了解,引进基金是与新经济精品投行“穆棉资本”联合设立的私募股权投资基金。 它是由孙婷婷和Stefanie应金峰共同创立的。 两人在风险投资行

    06-17

  • 东方航天完成近6亿元B轮融资,重力2号中大型可回收液体火箭加速! -元景家族

    东方航天完成近6亿元B轮融资,重力2号中大型可回收液体火箭加速! -元景家族

    东方航天完成近6亿元B轮融资,重力2号中大型可回收液体火箭加速! |远景家族 远景资本 远景资本 远景资本 微信 IDvisionpluscapital 关于专题 远景资本公众平台汇聚创新趋势,以分享启发 01-25 17:12发布于浙江 近日,东方空间完成近6亿元B轮融资,本轮投资被梁溪科技创新产业

    06-18

  • 晶合集成电路股份有限公司今日在科创板挂牌,总市值近400亿元

    晶合集成电路股份有限公司今日在科创板挂牌,总市值近400亿元

    合肥市人民政府 据合肥市人民政府消息,5月5日,合肥市晶和集成电路股份有限公司在上海证券交易所上市。 成功登陆科创板,成为安徽省首家成功登陆资本市场的纯晶圆代工企业。 本次发行价格为19.86元。 超额配售选择权全额行使后,募集资金5500万元,在科创板上市公司融资规模

    06-06

  • 专注绿色制氢技术,“动量守恒”完成数千万元天使轮融资

    专注绿色制氢技术,“动量守恒”完成数千万元天使轮融资

    投资界(ID:pedaily)5月29日消息,国内质子交换膜电解槽核心材料及器件提供商合肥动量守恒绿色动力节能股份有限公司(以下简称“动力节能”)近日正式完成领投方数千万元天使轮融资。 本次完成交割的天使轮领投方为当看同创资本,元和资本担任天使轮融资独家投资方。 本轮融

    06-18

  • 工业互联网公司德云科技完成5亿元B轮融资,中金传化基金等联合领投

    工业互联网公司德云科技完成5亿元B轮融资,中金传化基金等联合领投

    投资界4月26日消息,近日,“新基建”全栈工业互联网产品提供商“退风科技完成5亿元B轮融资。 本轮融资由中金传输基金、深创投、交银国际、越秀金控联合领投,招商致远、青控招商、云启资本、亿唐宏图集成电路及互联网投资基金跟投老股东继续投资。 据悉,德丰科技在10个月内

    06-18

  • 2021年以来新设立基金规模已达5332.79亿元

    2021年以来新设立基金规模已达5332.79亿元

    Wind数据显示,截至2月3日,年初以来累计设立基金,发行规模7900万元。 其中,仅1月份就成立了一只基金,发行规模达4000万元,是继今年7月之后历史上第二高的单月发行规模。

    06-18

  • 登特菲完成数千万Pre-A轮融资,持续加大研发投入和生态拓展

    登特菲完成数千万Pre-A轮融资,持续加大研发投入和生态拓展

    投资界(ID:pedaily)4月24日消息,合肥登特菲医疗器械有限公司近日公告完成数千万元Pre-A轮融资。 本轮融资由海恒资本、宏博资本、创谷资本、合肥天使投资基金共同投资。 本轮融资完成后,登特菲将继续加大智能高端口腔医疗设备的创新研发,加大量产线建设,加速产品迭代和

    06-17

  • 安好时代:APP上线100天内用户数达数十万

    安好时代:APP上线100天内用户数达数十万

    2019年6月6日,北京安好时代科技发展有限公司发布了公司首款移动产品——安好APP,目前活跃用户量已达45万。 据悉,安好时代整合了大量医疗资源,打造了一支由数十名专职医生组成的团队。 不少医生入驻安好医生平台,开设个人诊所。 2019年6月28日,安好联合中国老年保健协会

    06-17

  • AI工具库详细介绍——Midjourney

    AI工具库详细介绍——Midjourney

    Midjourney是一款基于AI的图像生成工具,专注于通过文字描述创建高质量的视觉内容。 主要功能: 1.图像生成:Midjourney接受用户通过文字输入的描述,并将这些描述转换为详细的图片。 用户可以指定样式、主题、颜色和其他元素。 2.风格模仿:该工具能够模仿艺术家已知作品的各

    06-17

  • 长期投资是一个可持续的问题,宜信财富宣布《资产配置策略指引》2018年将重点关注这些行业……

    长期投资是一个可持续的问题,宜信财富宣布《资产配置策略指引》2018年将重点关注这些行业……

    2018年,全球宏观经济和各类资产的表现大幅超出市场年初的悲观预期。 它已经悄然到来。 新的一年,投资者可能面临全球经济、政策和政治环境的哪些变化?如何调整投资策略应对风险并实现资产增值?    据投资界1月10日消息,宜信财富正式发布《年资产配置策略指引》(以下简

    06-18

  • 罗永浩评论坚果手机被废弃,王思聪被迫再次执行

    罗永浩评论坚果手机被废弃,王思聪被迫再次执行

    “罗哥,坚果没了”。 “嗯,是好事。 ”近日,字节跳动宣布暂停手机业务,原锤子科技团队成立的新石实验室,并入教育硬件团队。 业务方面,合并后的硬件团队将专注于教育领域,不再开发坚果手机、TNT显示器等其他无关产品。 坚果手机补充称,售后和系统维护将继续进行,手机

    06-17

  • 东车日报|理想失败后车主被要求签署保密协议-特斯拉扩大Model S召回范围-丰田计划在日本停售凯美瑞

    东车日报|理想失败后车主被要求签署保密协议-特斯拉扩大Model S召回范围-丰田计划在日本停售凯美瑞

    阿维塔11单电机版纯电动SUV介绍华为官宣M5高端智能手机驱动版氪倡议:联合抵制网络水军。 比亚迪即将推出“云柴系统”,疑似与底盘有关。 比亚迪新专利:可通过静脉识别解锁车辆理想ONE突然断电,售后服务需要保密协议。 阿维塔11单电机纯电动SUV今日发布。 在晚间的新品发布

    06-21