使用Flume服务端从本地采集动态日志保存到HDFS
该任务指导用户使用Flume服务端从本地采集动态日志保存到HDFS上“/flume/test”目录下。
 
 
  本配置默认集群网络环境是安全的,数据传输过程不需要启用SSL认证。如需使用加密方式,请参考配置Flume加密传输数据采集任务。该配置为只用一个Flume场景,例如:Taildir Source+Memory Channel+HDFS Sink。
前提条件
- 已成功安装集群,包含HDFS及Flume服务。
- 确保集群网络环境安全。
- 已创建用户flume_hdfs并授权验证日志时操作的HDFS目录和数据。
操作步骤
- 在FusionInsight Manager管理界面,选择,选择“更多 > 下载认证凭据”下载用户flume_hdfs的kerberos证书文件并保存在本地。
    
    图1 下载认证凭据  
- 配置Flume参数。
    
    使用FusionInsight Manager界面中的Flume配置工具来配置Flume角色服务端参数并生成配置文件。- 登录FusionInsight Manager,选择“集群 > 服务 > Flume > 配置工具”。
       图2 选择配置工具  
- “Agent名”选择“server”,然后选择要使用的source、channel以及sink,将其拖到右侧的操作界面中并将其连接。
       采用Taildir Source、Memory Channel和HDFS Sink,如图3所示。 
- 双击对应的Source、Channel以及Sink,根据实际环境并参考表1设置对应的配置参数。
         - 如果想在之前的“properties.properties”文件上进行修改后继续使用,则登录FusionInsight Manager,选择“集群 > 待操作集群的名称 > 服务 > Flume > 配置工具 > 导入”,将该文件导入后再修改非加密传输的相关配置项即可。
- 导入配置文件时,建议配置Source/Channel/Sink的各自的个数都不要超过40个,否则可能导致界面响应时间过长。
 表1 Flume角色服务端所需修改的参数列表 参数名称 参数值填写规则 参数样例 名称 不能为空,必须唯一。 test filegroups 文件分组列表名,此参数不能为空。该值包含如下两项参数: - 名称:文件分组列表名。
- filegroups:动态日志文件绝对路径。
 - positionFile 保存当前采集文件信息(文件名和已经采集的位置),此参数不能为空。该文件不需要手工创建,但其上层目录需对flume运行用户可写。 /home/omm/flume/positionfile batchSize Flume一次发送数据的最大事件数。 61200 hdfs.path 写入HDFS的目录,此参数不能为空。 hdfs://hacluster/flume/test hdfs.filePrefix 数据写入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 
- 单击“导出”,将配置文件“properties.properties”保存到本地。
 
- 登录FusionInsight Manager,选择“集群 > 服务 > Flume > 配置工具”。
       
- 上传配置文件。
    
    登录FusionInsight Manager,选择“集群 > 服务 > Flume”,在“实例”下单击准备上传配置文件的“Flume”角色,单击“实例配置”页面“flume.config.file”参数后的“上传文件”,选择2.d导出的“properties.properties”文件完成操作。 
- 验证日志是否传输成功。
    
    - 以具有HDFS组件管理权限的用户登录FusionInsight Manager,具体请参见访问集群Manager。在FusionInsight Manager界面选择“集群 > 服务 > HDFS”,单击“NameNode(节点名称,主)”对应的链接,打开HDFS WebUI,然后选择“Utilities > Browse the file system”。
- 观察HDFS上“/flume/test”目录下是否有产生数据。
      图4 查看HDFS目录和文件  
 
 
   
    