Flume样例讲解

[复制链接]
发表于 : 2019-2-19 10:21:14 最新回复:2019-08-21 17:27:17
1970 4

Flume是通过配置文件来进行设置的,下面介绍一下常见的场景:

场景1:从本地采集动态日志保存到HDFS

操作场景

场景1:从本地采集动态日志保存到HDFS

操作场景:

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

操作步骤:

1.FusionInsight Manager管理界面,选择“系统设置 > 用户管理”下载用户的kerberos证书文件并保存在本地。
193752rohnxaw3twono3th.png
2.配置Flume角色客户端参数。
  • 登录FusionInsight Manager,单击“服务管理 > Flume > 配置工具”。
193841xs6qsrffkceejeqg.png
  • "Agent名"选择“client”,然后选择要使用的source(采用Taildir Source)、channel(File Channel)、sink(Avro Sink),将其拖到右侧的操作界面中并将其连接。如上图步骤3和步骤4。

双击对应的Source、Channel、以及Sink,根据实际环境并参考下表1设置对应的配置参数。

说明:
1.如果对应的Flume角色之前已经配置过客户端参数,为保证与之前的配置保持一致,可以使用“WinSCP”工具到“客户端安装目录/fusioninsight-flume-1.6.0/conf/properties.properties”获取已有的客户端参数配置文件。然后登录FusionInsight Manager,单击“服务管理 > Flume > 配置工具 > 导入”,将该文件导入后再修改非加密传输的相关配置项即可。
2.导入配置文件时,建议配置Source/Channel/Sink的各自的个数都不要超过40个,否则可能导致界面响应时间过长。
参数名称 参数值填写规则 参数样例
名称 不能为空,必须唯一 test
filegroups 文件分组列表名,此参数不能为空,以空格分隔 epgtest
positionFile 保存当前采集文件信息(文件名和已经采集的位置),此参数不能为空。该文件不需要手工创建,但其上层目录需对flume运行用户可写 /home/omm/flume/positionfile
batch-size Flume一次发送数据的最大事件数 61200
dataDirs 缓冲区数据保存目录,默认为运行目录。配置多个盘上的目录可以提升传输效率,多个目录使用逗号分隔。如果为集群内,则可以指定在如下目录/srv/BigData/hadoop/dataX/flume/data,dataX为data1~dataN。如果为集群外,则需要单独规划。 /srv/BigData/hadoop/data1/flume/data
checkpointDir checkpoint 信息保存目录,默认在运行目录下。如果为集群内,则可以指定在如下目录/srv/BigData/hadoop/dataX/flume/checkpoint,dataX为data1~dataN。如果为集群外,则需要单独规划。 /srv/BigData/hadoop/data1/flume/checkpoint
transactionCapacity 事务大小:即当前channel支持事务处理的事件个数,建议和Source的batchSize设置为同样大小,不能小于batchSize。 61200
hostname 要发送数据的主机名或者IP,此参数不能为空。须配置本节点主机名或IP。 192.168.108.11
port avro source监听的端口,此参数不能为空。为之相连的avro sink监听的端口 21154
ssl 是否启用SSL认证(基于安全要求,建议启用此功能) 只有“Avro”类型的Source才有此配置项 true表示启用 false表示不启用 FALSE
  • 单击“导出”,将配置文件“properties.properties”保存到本地。

  • 使用“WinSCP”工具将“properties.properties”文件上传到Flume客户端安装目录下的“flume/conf/”下。

3.配置Flume角色的服务端参数,并将配置文件上传到集群。
  • 登录FusionInsight Manager,单击“服务管理 > Flume > 配置工具”。
194157hajamx4jsaxj6a9s.png
  • “Agent名”选择“server”,然后选择要使用的Source(采用Avro Source)、Channel(File Channel)以及Sink(HDFS Sink),将其拖到右侧的操作界面中并将其连接,如上图的步骤3和步骤4。

  • 双击对应的Source、Channel以及Sink,根据实际环境并参考下表设置对应的配置参数。

说明: 
1.如果对应的Flume角色之前已经配置过服务端参数,为保证与之前的配置保持一致,在FusionInsight Manager界面单击“服务管理 > Flume > 实例”,选择相应的Flume角色实例,单击“实例配置 ”页面“flume.config.file”参数后的“下载文件”按钮,可获取已有的服务端参数配置文件。然后单击“服务管理 > Flume > 配置工具 > 导入”,将该文件导入后再修改非加密传输的相关配置项即可。
导入配置文件时,建议配置Source/Channel/Sink的各自的个数都不要超过40个,否则可能导致界面响应时间过长。
2.不同的File Channel均需要配置一个不同的checkpoint目录。
参数名称 参数值填写规则 参数样例
名称 不能为空,必须唯一 test
bind avro source绑定的ip地址,此参数不能为空。为之相连的avro sink所在的主机ip。 192.168.108.11
port avro source监听的端口,此参数不能为空。为之相连的avro sink监听的端口 21154
ssl 是否启用SSL认证(基于安全要求,建议启用此功能) 只有“Avro”类型的Source才有此配置项 true表示启用 false表示不启用 FALSE
dataDirs 缓冲区数据保存目录,默认为运行目录。配置多个盘上的目录可以提升传输效率,多个目录使用逗号分隔。如果为集群内,则可以指定在如下目录/srv/BigData/hadoop/dataX/flume/data,dataX为data1~dataN。如果为集群外,则需要单独规划。 /srv/BigData/hadoop/data1/flumeserver/data
checkpointDir checkpoint 信息保存目录,默认在运行目录下。如果为集群内,则可以指定在如下目录/srv/BigData/hadoop/dataX/flume/checkpoint,dataX为data1~dataN。如果为集群外,则需要单独规划。 /srv/BigData/hadoop/data1/flumeserver/checkpoint
transactionCapacity 事务大小:即当前channel支持事务处理的事件个数。建议和Source的batchSize设置为同样大小,不能小于batchSize 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
  • 单击“导出”,将配置文件“properties.properties”保存到本地。

  • 登录FusionInsight Manager,单击“服务管理”,选择“Flume”服务,在“操作状态和健康状态”下单击“Flume”角色。

194603tsp74oyh4h9xoauw.png
  • 选择准备上传配置文件的节点行的“Flume”角色,单击“服务配置 ”。
194709hfiq0zcczq52djrx.png
  • 跳转后的页面,“flume.config.file”参数后的“上传文件”按钮,选择“properties.properties”文件完成操作。单击“保存配置”,单击“确定”。
195032ldtdvcuvwmgdgv2g.png

  • 单击“完成”完成操作。

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

  • 登录FusionInsight Manager,在FusionInsight Manager界面选择“服务管理 > HDFS”,单击“NameNode(主)”对应的链接,打开HDFS WebUI,然后选择“Utilities > Browse Directory”。

  • 观察HDFS上“/flume/test”目录下是否有产生数据。

195120uumcwfu7wmc72nwf.png











本帖最后由 赵穆紫 于 2019-02-19 10:32 编辑
  • x
  • 常规:

点评 回复

跳转到指定楼层
社区管理员咕噜噜
社区管理员咕噜噜  管理员 发表于 2019-2-19 15:21:53 已赞(0) 赞(0)

详细的讲解呀,欢迎大家学习交流
  • x
  • 常规:

点评 回复

Come on!
user_2921761
user_2921761  新锐 发表于 2019-2-20 08:14:41 已赞(0) 赞(0)

棒棒哒~ Flume样例讲解-2869747-1
  • x
  • 常规:

点评 回复

齐贤
齐贤   发表于 2019-3-7 10:11:59 已赞(0) 赞(0)

很详细。虽然我是小白
  • x
  • 常规:

点评 回复

Yep
Yep   发表于 2019-8-21 17:27:17 已赞(0) 赞(0)

感谢分享,很详细的资料
  • x
  • 常规:

点评 回复

福建龙田网络科技
发表回复
您需要登录后才可以回帖 登录 | 注册

警告 内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“隐私声明
如果附件按钮无法使用,请将Adobe Flash Player 更新到最新版本!
登录参与交流分享

登录参与交流分享

登录