返回介绍

工具

发布于 2025-04-30 21:00:07 字数 1908 浏览 0 评论 0 收藏 0

文件通道完整性工具

文件通道完整性工具可验证文件通道中各个事件的完整性,并删除损坏的事件。

这些工具可以按如下方式运行:

$bin/flume-ng tool --conf ./conf FCINTEGRITYTOOL -l ./datadir

其中 datadir 是要验证的数据目录的逗号分隔列表。

以下是可用选项

选项名称说明
h / help显示帮助
l/dataDirs工具必须验证的以逗号分隔的数据目录列表

事件验证工具

事件验证器工具可用于以特定于应用程序的方式验证文件通道事件。该工具在每个事件上应用用户提供程序验证登录,并删除未向逻辑确认的事件。

这些工具可以按如下方式运行:

$bin/flume-ng tool --conf ./conf FCINTEGRITYTOOL -l ./datadir -e org.apache.flume.MyEventValidator -DmaxSize 2000

其中 datadir 是要验证的数据目录的逗号分隔列表。

以下是可用选项

选项名称说明
h / help显示帮助
l/dataDirs工具必须验证的以逗号分隔的数据目录列表
e / eventValidator事件验证器实现的完全限定名称。 jar 必须在 Flume classpath

Event 验证器实现必须实现 EventValidator 接口。建议不要从实现中抛出任何异常,因为它们被视为无效事件。其他参数可以通过-D 选项传递给 EventValitor 实现。

让我们看一个基于简单大小的事件验证器的示例,它将拒绝大于指定的最大大小的事件。

public static class MyEventValidator implements EventValidator {

  private int value = 0;

  private MyEventValidator(int val) {
    value = val;
  }

  @Override
  public boolean validateEvent(Event event) {
    return event.getBody() <= value;
  }

  public static class Builder implements EventValidator.Builder {

    private int sizeValidator = 0;

    @Override
    public EventValidator build() {
      return new DummyEventVerifier(sizeValidator);
    }

    @Override
    public void configure(Context context) {
      binaryValidator = context.getInteger("maxSize");
    }
  }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。