Flume的三种基本采集方式(三)

一、Syslog方式

Flume提供了Syslog的方式,通过TCP/UDP通信协议直接对某台主机上的某个端口进行监听,实现了采集端主动采集端口日志的功能,提高了可靠性。
Syslog可以通过Syslog协议读取系统日志,协议分为TCP和UDP两种,使用时需指定IP地址和端口。这里以监听本机的5140端口为例。
进入 Flume的conf目录,创建名称为 syslogtcp.conf的配置文件,

在这里插入图片描述
配置信息如下

# 组件命名
agent1.sources = r1
agent1.channels = c1                            
agent1.sinks = k1
# Source信息
agent1.sources.r1.type = syslogtcp
agent1.sources.r1.channels = c1
agent1.sources.r1.port = 5140
agent1.sources.r1.host = localhost
# Sink信息
agent1.sinks.k1.type = logger
# channel信息
agent1.channels.c1.type = memory
agent1.channels.c1.capacity = 10000
agent1.channels.c1.transactionCapacity = 100
# 将Source Sink 绑定到channel
agent1.sinks.k1.channel = c1
agent1.sources.r1.channel = c1

通过执行命令

/home/software/flume/apache-flume-1.9.0-bin/bin/flume-ng agent --conf-file 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
⼤数据中数据采集的⼏种⽅式 ⼀、采集⼤数据的⽅法 1.1通过系统⽇志采集⼤数据 ⽤于系统⽇志采集的⼯具,⽬前使⽤最⼴泛的有:Hadoop 的Chukwa、ApacheFlumeAFacebook的Scribe和LinkedIn的Kafka等。这 ⾥主要学习FlumeFlume是⼀个⾼可靠的分布式采集、聚合和传输系统,Flume⽀持在⽇志系统中定制各类数据发送⽅,⽤于收集数据,同时对数据进⾏简单 处理,并写到诸如⽂本、HDFS这些接受⽅中。 Flume的核⼼其实就是把数据从数据源收集过来,再将收集到的数据送到指定的⽬的地…… 1.2通过⽹络采集⼤数据 ⽹络采集是指通过⽹络爬⾍或⽹站公开API等⽅式,从⽹站上获取⼤数据信息,该⽅法可以将⾮结构化数据从⽹页中抽取出来,将其存储为 统⼀的本地数据⽂件,并以结构化的⽅式存储。它⽀持图⽚、⾳频、视频等⽂件或附件的采集。 ⼀般来说,⽹络爬⾍⼯具基本可以分类3类:分布式⽹络爬⾍⼯具(Nutch)、Java⽹络爬⾍⼯具(Crawler4j、WebMagic、 WebCollector)、⾮Java⽹络爬⾍⼯具( Scrapy)。 1.2.1⽹络爬⾍原理 所谓的⽹络爬⾍,其实是⼀种按照⼀定规则,⾃动地抓取web信息的程序或脚本。 ⽹络爬⾍可以⾃动采集所有其能够访问到的页⾯内容,为搜索引擎和⼤数据分析提供数据来源,⼀般有数据采集、数据处理和数据存储部 分功能。 ⽹络爬⾍是如何爬数据的? 这是因为⽹页中除了供⽤户浏览的⽂字信息外,还包含⼀些超链接信息,通过获取这些超链接URL,再辅以⼀ 定的算法,爬⾍就能得到数据了。 1.2.2爬⾍⼯作流程 基本情况下,爬⾍会⾸先获取⼀部分种⼦URL,将这些URL放⼊待抓取URL队列,从队列中取出待抓取URL,解析DNS得到主机IP,并将 URL对应⽹页下载储存。最后将这些URL放⼊已抓取队列中,如此循环。 1.2.3爬⾍抓取策略 互联⽹上的⽹页数量以亿级为单位,该以什么样的策略爬这些⽹页的数据成为了⼀个问题,⼤致分为⼏个类型。 通⽤⽹络爬⾍,⼜称为全⽹爬⾍,主要为门户站点搜索引擎和⼤型web服务提供商采集数据,⼜分为深度优先策略和⼴度优先策略。 聚焦⽹络爬⾍,⼜称为主题⽹络爬⾍,是指选择性地爬⾏那些与预先定义好的主题相关的页⾯的⽹络爬⾍。也就是有⼀个明显的主题, ⽐如⽂本、⽐如图⽚……聚焦⽹络爬⾍⼜分为⼏种:1.基于内容、2.基于链接结构、3.基于增强学习(?)、4.基于语境(?) 增量式⽹络爬⾍,是指获取的⽬标⽹页尽量为新⽹页。 深层⽹络爬⾍,如果将那些传统搜索引擎可以索引的页⾯归属于表层⽹页,那么深层⽹络爬⾍获取的页⾯就是之外的"深层⽹页"。 1.3具体的爬⾍⼯具 1.3.1Scrapy Scrapy 是⼀个为了爬取⽹站数据、提取结构性数据⽽编写的应⽤框架,可以应⽤在包括数据挖掘、信息处理或存储历史数据等⼀系列的程 序中。 虽然Scrpay⾮常强⼤,不过它是适⽤于Python的,⽽本⼈正好⼜没有接触过Python,所以这⼀部分暂且只做了解…… 1.3.2Crawler4j、WebMagic、WebCollector 这者都是JAVA的单机爬⾍开源框架,区别可能是在于算法和调度之类的地⽅?这点搜索了⼀下,都没有能查到,就姑且这样认为吧。 这⾥我就⽤WebMagic做⼀个Demo试⼀试吧! 1.4跑⼀下WebMagic 百度后我找到了WebMagic的 照着⾥⾯的例⼦测试⼀下: ⾸先新建⼀个maven项⽬,是不是web项⽬都可以,只要是maven就⾏了。嗯,当然不要maven也可以⼿动导⼊jar包,不过为了⽅便 还是使⽤maven吧。 官⽹有⼀个官⽅的简单例⼦ public class GithubRepoPageProcessor implements PageProcessor { // 部分⼀:抓取⽹站的相关配置,包括编码、抓取间隔、重试次数等 private Site site = Site.me().setRetryTimes(3).setSleepTime(1000); @Override // process是定制爬⾍逻辑的核⼼接⼝,在这⾥编写抽取逻辑 public void process(Page page) { // 部分⼆:定义如何抽取页⾯信息,并保存下来 page.putField("author", page.getUrl().regex("https://github\\.com/(\\w+)/.*").toString()); page.putField("name", page.getHtml().xpath("//h1[@class='entry-title public']/strong/a/text()").toStri

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值