服务器是5台64G的 ,doris写入300亿数据写不进去,爆内存怎么弄?我的思路如下:
创始人
2024-09-26 17:48:52
0

最近在某聊天群窥屏:又get了一个问题。群友问:服务器是5台64G的 ,doris写入300亿数据写不进去,爆内存怎么弄?

和上个问题类似,  emm, 好久没接触这些了问题,我一时半会没反应过来,于是和昨天一样,查了一晚上资料,连夜肝了一篇。

看到这些问题就像死去的回忆在攻击我。为啥这么说呢,因为我现在转行啦哈哈,我本来是干大数据的,不过现在死磕云计算,还是云计算轻松,爽歪歪。

上个问题链接已附上如下: hh,不过我可不敢让他们知道我在diss某人,我怕他们真实我。为了防止被真实,我直接连夜改昵称。

如何用sql在1分钟从1T数据中精准定位查询?Hive离线数仓 Spark分析-CSDN博客文章浏览阅读819次,点赞27次,收藏5次。在大数据-Hadoop体系中 ,spark批处理和hive离线数仓可以说是对立并行的两个大分支技术栈,,,建议主攻其一,另一个灵活使用就行。他们是2015出现在国内,2017年之后国外各大公司纷纷采用,国内2020采用的,目前属于很前沿,并且很主流,很顶层的技术。(注:19年国内云计算开始起势,大数据的发展与云计算和人工智能等密切相关,更离不开芯片,硬件存储技术等相关支撑,它们之间相辅相成https://blog.csdn.net/qq_61414097/article/details/140999898?spm=1001.2014.3001.5502

在处理大规模数据写入时,遇到内存不足的问题是常见的挑战,怎么说呢,以前天天思考,干的头蒙。

一,以下是一些建议和优化策略,可以帮助你解决Doris写入300亿数据时的内存问题:

 主要是:思路+例子,毕竟每个人的配置和存的数据五花八门,我暂时还没有能力总结所有概况。。。。

  1. 分批次写入

    • 将数据分成较小的批次进行写入,而不是一次性写入所有数据。这样可以减少单次写入的内存占用。
    • 示例
      假设你有300亿条数据,可以将其分成300个批次,每批次写入1亿条数据。

      Copy-- 批次1 INSERT INTO your_table (col1, col2, ...) VALUES (val1_1, val1_2, ...), (val2_1, val2_2, ...), ... (val100000000_1, val100000000_2, ...);  -- 批次2 INSERT INTO your_table (col1, col2, ...) VALUES (val100000001_1, val100000001_2, ...), (val100000002_1, val100000002_2, ...), ... (val200000000_1, val200000000_2, ...);
  2. 调整内存参数

    • 检查并调整Doris的内存配置参数,如be_config文件中的mem_limit参数,确保每台服务器的内存使用在合理范围内。
    • 示例
      be_config文件中,找到mem_limit参数并调整:

      Copymem_limit = 48G 

      确保这个值不会超过物理内存的75%-80%。

  3. 优化表结构

    • 确保表的结构和索引设计是高效的。避免不必要的索引和复杂的表结构。
    • 示例
      如果你的表有很多不必要的索引,可以考虑去掉一些:

      CopyCREATE TABLE your_table (     id INT PRIMARY KEY,     name VARCHAR(255),     age INT,     -- 去掉不必要的索引     -- INDEX (some_column) );
  4. 分区表

    • 使用分区表将数据分散到不同的分区中,可以减少单个分区的内存占用。
    • 示例
      按日期分区:

      CopyCREATE TABLE your_table (     id INT,     name VARCHAR(255),     age INT,     created_date DATE ) PARTITION BY RANGE (created_date) (     PARTITION p0 VALUES LESS THAN ('2022-01-01'),     PARTITION p1 VALUES LESS THAN ('2023-01-01') ); 
  5. 增加节点

    • 如果可能的话,增加更多的Doris节点来分摊负载。更多的节点可以提供更多的内存和计算资源。
    • 示例
      假设你现在有5个节点,可以再添加3个节点:
      # 在新的节点上安装Doris

      # 配置新的节点并加入集群

  6. 监控和调整

    • 使用监控工具监控Doris集群的内存使用情况,实时调整配置参数和写入策略。
    • 示例
      使用Prometheus和Grafana监控Doris:

      Copy# 配置Prometheus监控Doris # 使用Grafana展示内存使用情况
  7. 压缩和编码

    • 使用合适的压缩和编码方式来减少数据存储和传输的内存占用。
    • 示例
      在创建表时指定压缩方式:

      CopyCREATE TABLE your_table (     id INT,     name VARCHAR(255),     age INT ) ENGINE=OLAP DUPLICATE KEY(id) DISTRIBUTED BY HASH(id) BUCKETS 10 PROPERTIES (     "storage_format" = "V2",     "compression" = "LZ4" );
  8. 优化SQL语句

    • 优化写入时使用的SQL语句,确保查询和插入操作是高效的。
    • 示例
      使用批量插入而不是单条记录插入:

      Copy-- 不推荐 INSERT INTO your_table (col1, col2) VALUES (val1, val2); INSERT INTO your_table (col1, col2) VALUES (val3, val4);  -- 推荐 INSERT INTO your_table (col1, col2) VALUES (val1, val2), (val3, val4), (val5, val6);
  9. 批量插入

    • 使用批量插入(Batch Insert)方式,而不是单条记录插入,以提高写入效率和减少内存开销。
    • 示例

      Copy-- 批量插入 INSERT INTO your_table (col1, col2, col3) VALUES (val1_1, val1_2, val1_3), (val2_1, val2_2, val2_3), ... (valN_1, valN_2, valN_3);
  10. 调优操作系统和硬件

    • 确保操作系统和硬件配置是最佳的,如调整虚拟内存设置、使用SSD存储等。
    • 示例

    • 使用SSD替换HDD,提高I/O性能。
    • 调整操作系统的虚拟内存设置:
    • Copy# 调整swappiness sysctl vm.swappiness=10

但是注意:具体的调整和优化需要根据你的实际情况进行测试和验证

未完待续。。。。

相关内容

热门资讯

安卓手机好的系统,安卓手机操作... 你有没有发现,现在手机市场上的安卓手机真是琳琅满目,让人挑花了眼。不过,你知道吗?在这些安卓手机中,...
安卓系统mac电脑配置,打造安... 亲爱的电脑迷们,你是否曾想过,你的苹果笔记本里也能装上安卓系统?是的,你没听错!今天,就让我带你一起...
状元郎平板安卓系统,引领平板教... 你有没有想过,一款平板电脑,竟然能让你在学习之余,还能畅游安卓世界的海洋?没错,今天我要跟你聊聊的就...
安卓系统哪个传奇好玩,畅玩经典... 手机里的游戏可是咱们休闲娱乐的一大法宝,尤其是安卓系统,那丰富的游戏资源简直让人挑花眼。今天,就让我...
联众支持安卓系统吗,“联众PD... 斗地主爱好者们,是不是在为找不到一款好玩的斗地主游戏而烦恼呢?别急,今天我要给大家揭秘一个好消息——...
康佳电视安卓系统太卡,康佳电视... 亲爱的电视迷们,你们有没有遇到过这样的烦恼:家里的康佳电视用着用着就变得像蜗牛一样慢吞吞的,让人抓狂...
ios对比安卓系统流畅,流畅体... 你有没有发现,用手机的时候,有时候iOS系统就像个优雅的舞者,而安卓系统则像个活力四射的少年?没错,...
安卓系统占用内存小,深度解析优... 你有没有发现,手机用久了,就像人一样,会变得“臃肿”起来?尤其是安卓系统,有时候感觉就像一个超级大胃...
安卓系统怎么下载jdk,JDK... 你有没有想过,在安卓手机上也能编写Java程序呢?没错,就是那种在电脑上写代码的感觉,现在也能在手机...
安卓系统调手机亮度,轻松掌握手... 手机屏幕亮度总是让你眼花缭乱?别急,今天就来手把手教你如何轻松调节安卓系统的手机亮度,让你的手机屏幕...
学习机安卓系统双系统,安卓系统... 你有没有想过,学习机也能玩转安卓系统?没错,就是那个我们平时用来刷剧、玩游戏、看新闻的安卓系统!现在...
安卓系统有哪些兼职,盘点热门兼... 你有没有想过,在手机上也能轻松赚钱呢?没错,就是那个我们每天都离不开的安卓系统,它不仅能让你畅游网络...
别致影音下载安卓系统,轻松享受... 你有没有想过,在这个信息爆炸的时代,找到一款既别致又实用的影音下载APP,简直就像在茫茫人海中找到那...
安卓车机系统和手机系统,共筑智... 你有没有发现,现在汽车也越来越智能了?这不,车机系统都开始流行起来,而且很多车企都选择了安卓系统。那...
爱情银行ios系统与安卓系统,... 亲爱的读者们,今天咱们来聊聊一个让无数人心动的话题——爱情银行iOS系统与安卓系统!想象爱情银行就像...
车载wce系统和安卓系统区别,... 亲爱的车友们,你们有没有想过,为什么你的车载导航有时候会像老牛拉车一样慢吞吞,有时候又像兔子一样活泼...
安卓系统常见app取证,深度解... 你有没有想过,手机里的那些小玩意儿,其实可能藏着大大的秘密呢?没错,就是那些我们每天不离手的安卓系统...
苹果云照片安卓系统,苹果云照片... 你有没有想过,那些在苹果手机上美美哒的照片,怎么才能搬到安卓手机上呢?别急,今天就来给你揭秘这个神奇...
ios系统跟安卓系统都是美国,... iOS与安卓:美国科技的双雄争霸在当今这个数字化的世界里,智能手机已经成为了我们生活中不可或缺的一部...
深度系统可以装安卓,系统兼容安... 亲爱的读者们,你是否曾想过,在电脑上也能畅玩安卓游戏,享受安卓应用带来的便捷?现在,这个梦想成真啦!...