`
侯上校
  • 浏览: 225717 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Flume每30秒加载配置文件

 
阅读更多
Flume默认30重新加载配置文件的,如果配置了不加载的话就使用properties.load进来的,定期执行文件检查
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(
            new ThreadFactoryBuilder().setNameFormat("conf-file-poller-%d")
                .build());

    FileWatcherRunnable fileWatcherRunnable =
        new FileWatcherRunnable(file, counterGroup);

    executorService.scheduleWithFixedDelay(fileWatcherRunnable, 0, interval,
        TimeUnit.SECONDS);
定时检查任务
 public class FileWatcherRunnable implements Runnable {

    private final File file;
    private final CounterGroup counterGroup;

    private long lastChange;

    public FileWatcherRunnable(File file, CounterGroup counterGroup) {
      super();
      this.file = file;
      this.counterGroup = counterGroup;
      this.lastChange = 0L;
    }

    @Override
    public void run() {
      LOGGER.debug("Checking file:{} for changes", file);

      counterGroup.incrementAndGet("file.checks");

      long lastModified = file.lastModified();

      if (lastModified > lastChange) {
        LOGGER.info("Reloading configuration file:{}", file);

        counterGroup.incrementAndGet("file.loads");

        lastChange = lastModified;

        try {
          eventBus.post(getConfiguration());
        } catch (Exception e) {
          LOGGER.error("Failed to load configuration data. Exception follows.",
              e);
        } catch (NoClassDefFoundError e) {
          LOGGER.error("Failed to start agent because dependencies were not " +
              "found in classpath. Error follows.", e);
        } catch (Throwable t) {
          // caught because the caller does not handle or log Throwables
          LOGGER.error("Unhandled error", t);
        }
      }
    }
  }

 

分享到:
评论

相关推荐

    flume采集日志存入MySQL,支持分库分表,动态加载配置文件-flume-mysql.zip

    总之,"flume-mysql.zip"项目展示了如何利用 Flume 实现高效日志收集,结合 MySQL 的分库分表策略提升数据处理能力,并通过动态加载配置文件实现灵活的运维管理。对于大型分布式系统来说,这样的解决方案是监控和...

    apache-flume-1.8.0

    在使用前,你需要根据你的需求配置Flume的配置文件,例如`conf/flume.conf`,定义数据流的源(source)、通道(channel)和接收器(sink)。 在部署Flume时,有几点需要注意: 1. **配置**: 配置文件定义了数据流动...

    kafka+flume 实时采集oracle数据到hive中.docx

    然后,需要配置Flume的配置文件flume.conf,指定Kafka Topic和HDFS的路径。 首先,需要创建一个Kafka Topic,使用命令./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions...

    flume1.9, win10, code.zip

    5. 启动 Flume 服务,执行 `flume-ng agent -c conf -f flume.conf -n myAgent`(根据你的配置文件和代理名称调整命令)。 对于 `exec` 源的配置,你可能需要类似以下的设置: ```properties source1.type = exec ...

    flume_jars.zip

    配置文件可以包含多个独立的Flume Agent,每个Agent都有自己的数据流配置。 5. **Flume的可靠性和容错性**:通过检查点和事务机制,Flume确保数据的不丢失。如果在传输过程中发生故障,Flume可以通过回滚未确认的...

    flume-chd版本

    解压后,用户可以找到Flume的可执行文件、配置文件、库文件等,以便在Linux环境中部署和运行Flume服务。 4. **安装与配置** 在Linux环境下,首先解压此文件,然后设置环境变量,执行安装脚本。配置Flume时,需要...

    Flume-HDFS-驱动-jar包

    3. 在Flume的配置文件(通常是`flume.conf`)中,创建一个Source、Channel和Sink的配置。例如,Source可能是用于读取数据的系统,如AvroSource或ExecSource;Channel用于临时存储数据,如MemoryChannel或FileChannel...

    Flume对接Spark Streaming的相关jar包

    配置 Flume 配置文件(通常是 conf/flume.conf),设置 sink 类型为 `org.apache.spark.streaming.flume.sink.SparkStreamingSink`,并指定相应的 Spark 配置,如 Master URL、批次间隔等,完成 Flume 与 Spark ...

    Apache flume1.6_src

    - 配置文件解析:理解如何加载和解析 Flume 配置文件,以构建 Agent 结构。 - 事务管理:深入研究 Channel 如何提供事务支持,确保数据不丢失。 - 错误处理和恢复策略:学习 Flume 如何处理故障和恢复数据流。 - ...

    flume-demo_大数据_flume_DEMO_自定义拦截器_

    - 将编写的 Java 类打包为 JAR 文件后,可以在 Flume 配置文件中通过 `interceptors` 部分引用这个拦截器,同时指定类名和配置参数。 - 使用 `interceptor.class` 属性指定拦截器类,使用 ` interceptor.param....

    flume-es5.X依赖.zip

    2. 配置与加载:在Flume配置文件中,通过`type`属性指定自定义Sink的类全名,同时提供必要的配置参数。 3. 实现数据处理逻辑:在`process()`方法中,根据业务需求对事件数据进行处理,然后写入目标系统,如Elastic...

    flume所需要的hdfs包.zip

    2. **配置文件**:Flume 的配置文件(通常为 `flume.conf`)可能已经预设了与 HDFS 相关的配置,包括 HDFS 地址、文件路径、写入模式等。 3. **依赖库**:Flume 需要与 HDFS 交互时可能需要的 Hadoop 相关库文件,...

    apache-flume-1.7.0-bin.zip

    在使用“apache-flume-1.7.0-bin.zip”之前,需要先解压文件,然后根据提供的文档或在线资源配置Flume的配置文件。配置完成后,可以通过启动Flume服务来开始数据采集。需要注意的是,Flume的版本兼容性,确保其与...

    大数据采集技术-Flume配置.pptx

    使用上述命令启动名为`a1`的Flume Agent,加载配置文件`conf/hdfs.conf`。 ### Flume工作原理 Flume的工作流程通常包括以下步骤: 1. Source监控数据源,如日志文件,当检测到新的数据时,将数据发送到Channel。 2...

    flume log4f示例源码

    `run.sh` 是一个启动 Flume 代理的脚本,它可能包含了启动 Flume 并加载 `flume-conf.properties` 配置的命令。例如: ```bash #!/bin/bash export JAVA_HOME=/path/to/java flume-ng agent --conf conf --conf-...

    flume-ng-1.6.0 cdh5.7.0安装包

    4. 创建Flume配置文件,定义源、通道和接收器的详细设置。 5. 启动Flume服务,可以通过命令行工具进行监控和管理。 在实际应用中,Flume常用于日志收集,例如从多个Web服务器收集访问日志,然后将这些日志数据存储...

    mvn flume ng sdk

    3. **配置Flume Agent**:在Flume配置文件(如`flume.conf`)中指定使用自定义组件。配置文件是Flume运行时的指导文档,它定义了数据流的拓扑结构。 4. **构建与测试**:利用Maven的`mvn package`命令编译代码并...

    基于java的日志服务器 Apache Flume.zip

    - **conf**: 存放Flume的默认配置文件和样例配置文件。 - **lib**: 存放Flume运行所需的库文件,包括Java JAR包。 - **src**: 源代码目录,对于开发者来说,可以查看和修改Flume的源码。 - **docs**: 用户文档和API...

    flume-hadoop-jar.zip

    在Flume的配置文件中,我们需要指定这些jar包的路径,以便Flume在运行时能够正确加载并使用。 配置Flume以将数据输出到HDFS,我们通常需要修改Flume配置文件(如flume.conf),设置Sink为HDFS类型,并提供HDFS相关...

    大数据组件-Flume高可用集群搭建

    - `-c conf`:指定Flume自身的配置文件所在目录。 - `-f conf/netcat-logger.conf`:指定自定义的采集方案配置文件。 - `-n a1`:指定Agent的名字为`a1`。 **步骤4:安装Telnet客户端进行测试** 为了验证数据采集...

Global site tag (gtag.js) - Google Analytics