杉杉锅锅 2024-09-26 17:51 采纳率: 16.7%
浏览 5

flink写hudi 产生大量日志

怎么解决 flink通过HoodiePipeline 写数据到hudi表 产生大量的日志
是用的flink的yarn-session启的容器 里面只有这一个任务
写入代码

img

日志截图

img

img

看日志感觉是写hudi时间产生的
设置了日志配置

img

img

但是没有生效

img

请求解答

  • 写回答

1条回答 默认 最新

  • 一轮明月照丘壑 2024-09-26 17:55
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    要解决在Flink中通过Hoodie Pipeline写数据到Hoodie表并产生大量日志的问题,可以采用以下策略:

    1. 设置日志级别

    首先确保日志级别设置正确。对于Flink和Hoodie的日志记录,可以通过修改log4j.properties文件中的rootLoggerlogger部分来控制日志输出。

    修改示例:

    log4j.rootLogger=WARN
    log4j.logger.org.apache.hudi=WARN
    

    这将使所有的Flink操作都默认为WARN级别,并且只对Apache Hudi进行警告级别的记录。

    2. 调整日志格式

    确保日志格式与输出的日志文件类型匹配。例如,如果你正在使用HoodieTimelineArchiver来存储活动日志,那么可能需要调整log4j.properties以指定正确的日志文件格式。

    3. 使用合适的日志输出方式

    确保日志被正确地写入到文件系统中。这里主要考虑的是如何有效地管理大文件,特别是当文件大小超过一定阈值时。

    示例代码:

    // 在StreamExecutionEnvironment中添加日志收集器
    env.addSource(new LogCollector());
    

    4. 日志轮换和清理

    为了防止过大的日志文件导致磁盘空间不足,可以考虑日志轮换和定期删除旧日志文件。

    示例代码:

    // 每隔一段时间(如每小时)检查旧的日志文件并移除它们
    ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
    executorService.scheduleAtFixedRate(() -> {
        File oldLogFile = new File("/path/to/logfile.log");
        if (oldLogFile.exists()) {
            // 删除旧的日志文件
            oldLogFile.delete();
        }
    }, 0, 1, TimeUnit.HOURS);
    

    5. 确保有足够的资源

    确保有足够的RAM和CPU资源来处理大文件以及执行所有必要的操作。

    示例代码:

    // 设置适当的内存限制
    env.setMemoryLimit("1G");
    

    6. 避免过度写入

    在写入大量数据之前,应先尝试性写入少量数据来验证数据写入是否正常。

    7. 数据校验和错误处理

    在整个过程中,务必包括数据校验和错误处理机制,以确保数据安全性和完整性。

    示例代码:

    // 加载数据前进行校验
    DataStream<String> dataToLoad = env.fromCollection(Arrays.asList("Hello", "World"));
    // ...
    

    通过以上步骤,应该能够有效解决通过Hoodie Pipeline写数据到Hoodie表并产生大量日志的问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月26日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?