更新时间:2024-10-24 GMT+08:00

如何在Flume配置文件中使用环境变量

本章节描述如何在配置文件“properties.properties”中使用环境变量。

本章节适用于MRS 3.x及之后版本。

  1. 安装Flume客户端。
  2. root用户登录安装Flume客户端所在节点。
  3. 切换到以下目录。

    cd Flume客户端安装目录/fusioninsight-flume-Flume组件版本号/conf

  4. 在该目录下的“flume-env.sh”文件中添加环境变量。

    • 格式:
      export 变量名=变量值
    • 示例:
      JAVA_OPTS="-Xms2G -Xmx4G -XX:CMSFullGCsBeforeCompaction=1 -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -DpropertiesImplementation=org.apache.flume.node.EnvVarResolverProperties"
      export TAILDIR_PATH=/tmp/flumetest/201907/20190703/1/.*log.*

  5. 重启Flume实例进程。

    1. 登录FusionInsight Manager。
    2. 选择“集群 > 服务 > Flume > 实例”,勾选Flume实例,选择“更多 > 重启实例”输入密码,单击“确定”等待实例重启成功。

    服务端flume-env.sh生效后不能通过Manager界面重启整个Flume服务,否则用户自定义环境变量丢失,仅需在Manager界面重启对应实例即可。

  6. 在“Flume客户端安装目录/fusioninsight-flume-Flume组件版本号/conf/properties.properties”配置文件中使用“${变量名}”格式引用变量,示例如下:

    client.sources.s1.type = TAILDIR
    client.sources.s1.filegroups = f1
    client.sources.s1.filegroups.f1 = ${TAILDIR_PATH}
    client.sources.s1.positionFile = /tmp/flumetest/201907/20190703/1/taildir_position.json
    client.sources.s1.channels = c1
    • 必须保证“flume-env.sh”生效之后,再执行6配置“properties.properties”文件。
    • 若在本地配置该文件,配置完成后可参考如下步骤在Manager界面上传配置文件。若操作顺序不规范,可能造成用户自定义环境变量丢失。
      1. 登录FusionInsight Manager。
      2. 选择“集群 > 服务 > Flume > 配置”,勾选Flume实例,在“flume.config.file”后单击“上传文件”,上传“properties.properties”文件。