如何在Flume配置文件中使用环境变量
本章节描述如何在配置文件“properties.properties”中使用环境变量。
本章节适用于MRS 3.x及之后版本。
- 安装Flume客户端。
- 以root用户登录安装Flume客户端所在节点。
- 切换到以下目录。
cd Flume客户端安装目录/fusioninsight-flume-Flume组件版本号/conf
- 在该目录下的“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.*
- 格式:
- 重启Flume实例进程。
- 登录FusionInsight Manager。
- 选择“集群 > 服务 > Flume > 实例”,勾选Flume实例,选择“更多 > 重启实例”输入密码,单击“确定”等待实例重启成功。
服务端flume-env.sh生效后不能通过Manager界面重启整个Flume服务,否则用户自定义环境变量丢失,仅需在Manager界面重启对应实例即可。
- 在“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界面上传配置文件。若操作顺序不规范,可能造成用户自定义环境变量丢失。
- 登录FusionInsight Manager。
- 选择“集群 > 服务 > Flume > 配置”,勾选Flume实例,在“flume.config.file”后单击“上传文件”,上传“properties.properties”文件。