安装第三方插件,可以在不修改Flume源码的情况下,以插件的方式定制您需要的功能。例如,添加数据源和存储组件等。通过添加JindoFS SDK的插件,可以支持通过Flume直接将数据写入OSS。本文为您介绍如何安装第三方插件。

前提条件

  • 已获取第三方插件的JAR包。
  • 已创建集群,并且选择了Flume服务,详情请参见创建集群

操作步骤

支持以下方式:
  • 方式一:修改flume-env.sh文件,添加指定的JAR包。
    说明 本文以EMR集群为例介绍,Flume的配置文件目录在/etc/ecm/flume-conf/下,非EMR集群请修改为您实际的目录。
    1. 通过SSH方式登录集群,详情请参见登录集群
    2. 执行以下命令,进入Flume的配置文件目录。
      cd /etc/ecm/flume-conf/
    3. 编辑flume-env.sh.template文件。
      1. 执行以下命令,打开文件flume-env.sh.template
        vim flume-env.sh.template
      2. 按下i键进入编辑模式。
      3. flume-env.sh.template文件中,指定参数FLUME_CLASSPATH的值为待添加的JAR包。
      4. 按下Esc键退出编辑模式,输入:wq保存并关闭文件。
  • 方式二:上传JAR包至Flume的软件安装目录$FLUME_HOME/lib/
    说明 本文示例中的$FLUME_HOME表示Flume的安装路径,配置第三方插件时,请根据实际情况指定路径。EMR集群中Flume的软件安装目录为/usr/lib/flume-current/lib
  • 方式三:上传JAR包至目录$FLUME_HOME/plugins.d/
    相关的目录:
    • $FLUME_HOME/plugins.d/lib:插件本身的JAR包。
    • $FLUME_HOME/plugins.d/libext:插件依赖的JAR包。
    • $FLUME_HOME/plugins.d/native:依赖的本地库文件。例如,SO文件。
说明 EMR集群中,通常普通的插件都直接放在/usr/lib/flume-current/lib目录中,如果需要上传有复杂依赖的插件,特别是有native依赖的插件,请创建/usr/lib/flume-current/plugins.d目录,并按照方式三部署。