更新时间:2022-12-14 GMT+08:00

典型场景:从本地采集静态日志保存到HDFS

操作场景

该任务指导用户使用Flume客户端从本地采集静态日志保存到HDFS上“/flume/test”目录下。

本配置默认集群网络环境是安全的,数据传输过程不需要启用SSL认证。如需使用加密方式,请参考配置加密传输。该配置为只用一个Flume场景,例如:Spooldir Source+Memory Channel+HDFS Sink。

前提条件

  • 已成功安装集群,包含HDFS及Flume服务。
  • 已安装flume客户端,客户端安装请参见安装Flume客户端
  • 确保集群网络环境安全。
  • 已创建用户flume_hdfs并授权验证日志时操作的HDFS目录和数据。

操作步骤

  1. 在FusionInsight Manager管理界面,选择系统 > 权限 > 用户,选择用户flume_hdfs,选择“更多 > 下载认证凭据”下载Kerberos证书文件并保存在本地。
  2. 配置Flume参数。

    使用FusionInsight Manager界面中的Flume来配置Flume角色客户端参数并生成配置文件。
    1. 登录FusionInsight Manager,选择“集群 > 服务 > Flume > 配置工具”。
    2. “Agent名”选择“client”,然后选择要使用的source、channel以及sink,将其拖到右侧的操作界面中并将其连接。

      采用SpoolDir Source、Memory Channel和HDFS Sink,如图1所示。

      图1 Flume配置工具示例
    3. 双击对应的source、channel以及sink,根据实际环境并参考表1设置对应的配置参数。
      • 如果想在之前的“properties.propretites”文件上进行修改后继续使用,则登录FusionInsight Manager,选择“集群 > 待操作集群的名称 > 服务 > Flume > 配置工具 > 导入”,将该文件导入后再修改非加密传输的相关配置项即可。
      • 导入配置文件时,建议配置source/channel/sink的各自的个数都不要超过40个,否则可能导致界面响应时间过长。
    4. 单击“导出”,将配置文件“properties.properties”保存到本地。
      表1 Flume角色客户端所需修改的参数列表

      参数名称

      参数值填写规则

      参数样例

      名称

      不能为空,必须唯一。

      test

      spoolDir

      待采集的文件所在的目录路径,此参数不能为空。该路径需存在,且对flume运行用户有读写执行权限。

      /srv/BigData/hadoop/data1/zb

      trackerDir

      flume采集文件信息元数据保存路径。

      /srv/BigData/hadoop/data1/tracker

      batch-size

      Flume一次发送数据的最大事件数。

      61200

      hdfs.path

      写入HDFS的目录,此参数不能为空。

      hdfs://hacluster/flume/test

      hdfs.inUsePrefix

      正在写入HDFS的文件的前缀。

      TMP_

      hdfs.batchSize

      一次写入HDFS的最大事件数目。

      61200

      hdfs.kerberosPrincipal

      kerberos认证时用户,在安全版本下必须填写。安全集群需要配置此项,普通模式集群无需配置。

      flume_hdfs

      hdfs.kerberosKeytab

      kerberos认证时keytab文件路径,在安全版本下必须填写。安全集群需要配置此项,普通模式集群无需配置。

      /opt/test/conf/user.keytab

      说明:

      user.keytab文件从下载用户flume_hdfs的kerberos证书文件中获取,另外,确保用于安装和运行Flume客户端的用户对user.keytab文件有读写权限。

      hdfs.useLocalTimeStamp

      是否使用本地时间,取值为"true"或者"false"。

      true

  3. 上传配置文件。

    2.d导出的文件上传至集群的“Flume客户端安装目录/fusioninsight-flume-Flume组件版本号/conf”目录下。

  1. 验证日志是否传输成功。

    1. 以具有HDFS组件管理权限的用户登录FusionInsight Manager,具体请参见访问FusionInsight Manager。在FusionInsight Manager界面选择“集群 > 服务 > HDFS”,单击“NameNode(主)”对应的链接,打开HDFS WebUI,然后选择“Utilities > Browse the file system”。
    2. 观察HDFS上“/flume/test”目录下是否有产生数据。
      图2 查看HDFS目录和文件