典型场景:从本地采集静态日志保存到Kafka
操作场景
该任务指导用户使用Flume从本地(业务IP:192.168.108.11)采集静态日志保存到Kafka的Topic列表(test1)。
本章节适用于MRS 3.x及之后版本。
本配置默认集群网络环境是安全的,数据传输过程不需要启用SSL认证。如需使用加密方式,请参考配置加密传输。该配置可以只用一个Flume场景,例如Server:Spooldir Source+File Channel+Kafka Sink.
前提条件
- 已成功安装集群、Kafka及Flume服务。
- 确保集群网络环境安全。
- 系统管理员已明确业务需求,并准备一个Kafka管理员用户flume_kafka。
操作步骤
- 配置Flume的角色客户端参数。
- 使用Manager界面中的Flume配置工具来配置Flume角色客户端参数并生成配置文件。
- 登录FusionInsight Manager,选择“集群 > 服务 > Flume > 配置工具”。
- “Agent名”选择“client”,然后选择要使用的source、channel以及sink,将其拖到右侧的操作界面中并将其连接。
- 双击对应的source、channel以及sink,根据实际环境并参考表1设置对应的配置参数。
- 如果对应的Flume角色之前已经配置过客户端参数,为保证与之前的配置保持一致,可以到“客户端安装目录/fusioninsight-flume-1.9.0/conf/properties.properties”获取已有的客户端参数配置文件。然后登录Manager,选择“集群 > 服务 > Flume > 配置 > 导入”,将该文件导入后再修改非加密传输的相关配置项即可。
- 导入配置文件时,建议配置Source/Channel/Sink的各自的个数都不要超过40个,否则可能导致界面响应时间过长。
- 单击“导出”,将配置文件“properties.properties”保存到本地。
表1 Flume角色客户端所需修改的参数列表 参数名称
参数值填写规则
参数样例
名称
不能为空,必须唯一
test
spoolDir
待采集的文件所在的目录路径,此参数不能为空。该路径需存在,且对flume运行用户有读写执行权限。
/srv/BigData/hadoop/data1/zb
trackerDir
flume采集文件信息元数据保存路径。
/srv/BigData/hadoop/data1/tracker
batchSize
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,此参数不能为空。须配置为与之相连的avro source所在的主机名或IP。
192.168.108.11
port
要发送数据的端口,此参数不能为空。须配置为与之相连的avro source监听的端口。
21154
ssl
是否启用SSL认证(基于安全要求,建议启用此功能)
只有“Avro”类型的Source才有此配置项
- true表示启用
- false表示不启用
false
- 将“properties.properties”文件上传到Flume客户端安装目录下的“flume/conf/”下。
- 使用Manager界面中的Flume配置工具来配置Flume角色客户端参数并生成配置文件。
- 配置Flume角色的服务端参数,并将配置文件上传到集群。
- 使用FusionInsight Manager界面中的Flume配置工具来配置服务端参数并生成配置文件。
- 登录FusionInsight Manager,选择“集群 > 服务 > Flume > 配置工具”。
- “Agent名”选择“server”,然后选择要使用的source、channel以及sink,将其拖到右侧的操作界面中并将其连接。
- 双击对应的source、channel以及sink,根据实际环境并参考表2设置对应的配置参数。
- 如果对应的Flume角色之前已经配置过服务端参数,为保证与之前的配置保持一致,在Manager界面选择“集群 > 服务 > Flume > 实例”,选择相应的Flume角色实例,单击“实例配置 ”页面“flume.config.file”参数后的“下载文件”,可获取已有的服务端参数配置文件。然后选择“集群 > 服务 > Flume >配置 > 导入”,将该文件导入后再修改非加密传输的相关配置项即可。
- 导入配置文件时,建议配置source/channel/sink的各自的个数都不要超过40个,否则可能导致界面响应时间过长。
- 不同的File Channel均需要配置一个不同的checkpoint目录。
- 单击“导出”,将配置文件“properties.properties”保存到本地。
表2 Flume角色服务端所需修改的参数列表 参数名称
参数值填写规则
参数样例
名称
不能为空,必须唯一。
test
bind
avro source绑定的ip地址,此参数不能为空。须配置为服务端配置文件即将要上传的主机IP。
192.168.108.11
port
avro source监听的端口,此参数不能为空。须配置为未被使用的端口。
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
kafka.topics
订阅的Kafka topic列表,用逗号分隔,此参数不能为空。
test1
kafka.bootstrap.servers
Kafka 的bootstrap 地址端口列表,默认值为Kafka集群中所有的Kafka列表。如果集群安装有Kafka并且配置已经同步,可以不配置此项。
192.168.101.10:21007
- 登录FusionInsight Manager,选择“集群 > 服务 > Flume”,在“实例”下单击“Flume”角色。
- 选择准备上传配置文件的节点行的“Flume”角色,单击“实例配置 ”页面“flume.config.file”参数后的“上传文件”,选择“properties.properties”文件完成操作。
- 每个Flume实例均可以上传单独的服务端配置文件。
- 更新配置文件需要按照此步骤操作,后台修改配置文件是不规范操作,同步配置时后台做的修改将会被覆盖。
- 单击“保存”,单击“确定”。
- 单击“完成”完成操作。
- 使用FusionInsight Manager界面中的Flume配置工具来配置服务端参数并生成配置文件。
- 验证日志是否传输成功。
- 登录Kafka客户端:
kinit flume_kafka(输入密码)
- 读取KafkaTopic中的数据(修改命令中的中文为实际参数)。
bin/kafka-console-consumer.sh --topic 主题名称 --bootstrap-server Kafka角色实例所在节点的业务IP地址:21007 --consumer.config config/consumer.properties --from-beginning
系统显示待采集文件目录下的内容:
[root@host1 kafka]# bin/kafka-console-consumer.sh --topic test1 --bootstrap-server 192.168.101.10:21007 --consumer.config config/consumer.properties --from-beginning Welcome to flume
- 登录Kafka客户端: