当前位置: 首页 > news >正文

重庆网站制作公司重庆网页广告

重庆网站制作公司重庆,网页广告,桐乡网站二次开发,可以做推送的网站文章作者邮箱:yugongshiyesina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握Sink的HDFS Sink; ⚪ 掌握Sink的Logger Sink; ⚪ 掌握Sink的File Roll Sink; ⚪ 掌握Sink的Null Sink; ⚪ 掌握Si…

文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州

 ▲ 本章节目的

⚪ 掌握Sink的HDFS Sink;

⚪ 掌握Sink的Logger Sink;

⚪ 掌握Sink的File Roll Sink;

⚪ 掌握Sink的Null Sink;

⚪ 掌握Sink的AVRO Sink;

⚪ 掌握Sink的Custom Sink;

一、HDFS Sink

1. 概述

1. HDFS Sink将收集到的数据写到HDFS中。

2. 在往HDFS上写的时候,支持三种文件类型:文本类型,序列类型以及压缩类型。如果不指定,那么默认使用使得序列类型。

3. 在往HDFS上写数据的时候,数据的存储文件会定时的滚动,如果不指定,那么每隔30s会滚动一次,生成一个文件,那么此时会生成大量的小文件。

2. 配置属性

属性

解释

type

必须是hdfs

hdfs.path

数据在HDFS上的存储路径

hdfs.rollInterval

指定文件的滚动的间隔时间

hdfs.fileType

指定文件的存储类型:DataSteam(文本),SequenceFile(序列),CompressedStream(压缩)

3. 案例

1. 编写格式文件,添加如下内容:

a1.sources = s1

a1.channels = c1

a1.sinks = k1

a1.sources.s1.type = netcat

a1.sources.s1.bind = hadoop01

a1.sources.s1.port = 8090

a1.channels.c1.type = memory

# 配置HDFS Sink

# 类型必须是hdfs

a1.sinks.k1.type = hdfs

# 指定数据在HDFS上的存储路径

a1.sinks.k1.hdfs.path = hdfs://hadoop01:9000/flumedata

# 指定文件的存储类型

a1.sinks.k1.hdfs.fileType = DataStream

# 指定文件滚动的间隔时间

a1.sinks.k1.hdfs.rollInterval = 3600

a1.sources.s1.channels = c1

a1.sinks.k1.channel = c1

2. 启动Flume:

../bin/flume-ng agent -n a1 -c ../conf -f hdfssink.conf -

Dflume.root.logger=INFO,console

二、Logger Sink

1. 概述

1. Logger Sink是将Flume收集到的数据打印到控制台上。

2. 在打印的时候,为了防止过多的数据将屏幕占满,所以要求body部分的数据不能超过16个字节,超过的部分不打印。

3. Logger Sink在打印的时候,对中文支持不好。

2. 配置属性

属性

解释

type

必须是logger

maxBytesToLog

指定body部分打印的字节数

三、File Roll Sink

1. 概述

1. File Roll Sink将数据写到本地磁盘上。

2. 同HDFS Sink类似,File Roll Sink在往磁盘上写的时候,也有一个滚动的间隔时间,同样是30s,因此在磁盘上同样会形成大量的小文件。

2. 配置属性

属性

解释

type

必须是file_roll

sink.directory

指定数据的存储目录

sink.rollInterval

指定文件滚动的间隔时间

3. 案例

1. 编写格式文件,添加如下内容:

a1.sources = s1

a1.channels = c1

a1.sinks = k1

a1.sources.s1.type = netcat

a1.sources.s1.bind = hadoop01

a1.sources.s1.port = 8090

a1.channels.c1.type = memory

# 配置File Roll Sink

# 类型必须是file_roll

a1.sinks.k1.type = file_roll

# 指定数据在磁盘上的存储目录

a1.sinks.k1.sink.directory = /home/flumedata

# 指定文件的滚动间隔时间

a1.sinks.k1.sink.rollInterval = 3600

a1.sources.s1.channels = c1

a1.sinks.k1.channel = c1

2. 启动Flume:

../bin/flume-ng agent -n a1 -c ../conf -f filerollsink.conf -

Dflume.root.logger=INFO,console

四、Null Sink

1. 概述

1. Null Sink会抛弃所有接收到的数据。

2. 配置属性

属性

解释

type

必须是null

3. 案例

1. 编写格式文件,添加如下内容:

a1.sources = s1

a1.channels = c1

a1.sinks = k1

a1.sources.s1.type = netcat

a1.sources.s1.bind = hadoop01

a1.sources.s1.port = 8090

a1.channels.c1.type = memory

# 配置Null Sink

# 类型必须是null

a1.sinks.k1.type = null

a1.sources.s1.channels = c1

a1.sinks.k1.channel = c1f

2. 启动Flume:

../bin/flume-ng agent -n a1 -c ../conf -f nullsink.conf -

Dflume.root.logger=INFO,console

五、AVRO Sink

1. 概述

1. AVRO Sink会将数据利用AVRO序列化之后写出到指定的节点的指定端口。

2. AVRO Sink结合AVRO Source实现多级、扇入、扇出流动效果。

2. 配置属性

属性

解释

type

必须是avro

hostname

数据要发往的主机的主机名或者IP

port

数据要发往的主机的接收端口

3. 多级流动

1. 第一个节点:

a1.sources = s1

a1.channels = c1

a1.sinks = k1

a1.sources.s1.type = netcat

a1.sources.s1.bind = 0.0.0.0

a1.sources.s1.port = 8090

a1.channels.c1.type = memory

# 配置多级流动

# 类型必须是avro

a1.sinks.k1.type = avro

# 指定主机名或者IP

a1.sinks.k1.hostname = hadoop02

# 指定端口

a1.sinks.k1.port = 8090

a1.sources.s1.channels = c1

a1.sinks.k1.channel = c1

2. 第二个节点:

a1.sources = s1

a1.channels = c1

a1.sinks = k1

a1.sources.s1.type = avro

a1.sources.s1.bind = 0.0.0.0

a1.sources.s1.port = 8090

a1.channels.c1.type = memory

# 配置多级流动

# 类型必须是avro

a1.sinks.k1.type = avro

# 指定主机名或者IP

a1.sinks.k1.hostname = hadoop03

# 指定端口

a1.sinks.k1.port = 8090

a1.sources.s1.channels = c1

a1.sinks.k1.channel = c1

3. 第三个节点:

a1.sources = s1

a1.channels = c1

a1.sinks = k1

a1.sources.s1.type = avro

a1.sources.s1.bind = 0.0.0.0

a1.sources.s1.port = 8090

a1.channels.c1.type = memory

a1.sinks.k1.type = logger

a1.sources.s1.channels = c1

a1.sinks.k1.channel = c1

4. 启动Flume,启动的时候,谁接收数据,就先启动谁:

../bin/flume-ng agent -n a1 -c ../conf -f duoji.conf -

Dflume.root.logger=INFO,console

4. 扇入流动

1. 第一个和第二个节点:

a1.sources = s1

a1.channels = c1

a1.sinks = k1

a1.sources.s1.type = netcat

a1.sources.s1.bind = 0.0.0.0

a1.sources.s1.port = 8090

a1.channels.c1.type = memory

# 配置多级流动

# 类型必须是avro

a1.sinks.k1.type = avro

# 指定主机名或者IP

a1.sinks.k1.hostname = hadoop03

# 指定端口

a1.sinks.k1.port = 8090

a1.sources.s1.channels = c1

a1.sinks.k1.channel = c1

2. 第三个节点:

a1.sources = s1

a1.channels = c1

a1.sinks = k1

a1.sources.s1.type = avro

a1.sources.s1.bind = 0.0.0.0

a1.sources.s1.port = 8090

a1.channels.c1.type = memory

a1.sinks.k1.type = logger

a1.sources.s1.channels = c1

a1.sinks.k1.channel = c1

3. 启动Flume:

../bin/flume-ng agent -n a1 -c ../conf -f shanru.conf -

Dflume.root.logger=INFO,console

5. 扇出流动

1. 第一个节点:

a1.sources = s1

a1.channels = c1 c2

a1.sinks = k1 k2

a1.sources.s1.type = netcat

a1.sources.s1.bind = 0.0.0.0

a1.sources.s1.port = 8090

a1.channels.c1.type = memory

a1.channels.c2.type = memory

a1.sinks.k1.type = avro

a1.sinks.k1.hostname = hadoop02

a1.sinks.k1.port = 8090

a1.sinks.k2.type = avro

a1.sinks.k2.hostname = hadoop03

a1.sinks.k2.port = 8090

a1.sources.s1.channels = c1 c2

a1.sinks.k1.channel = c1

a1.sinks.k2.channel = c2

2. 第二个和第三个节点::

a1.sources = s1

a1.channels = c1

a1.sinks = k1

a1.sources.s1.type = avro

a1.sources.s1.bind = 0.0.0.0

a1.sources.s1.port = 8090

a1.channels.c1.type = memory

a1.sinks.k1.type = logger

a1.sources.s1.channels = c1

a1.sinks.k1.channel = c1

3. 启动Flume:

../bin/flume-ng agent -n a1 -c ../conf -f shanchu.conf -

Dflume.root.logger=INFO,console

六、Custom Sink

1. 概述

1. 定义一个类实现Sink接口,考虑到需要获取配置属性,所以同样需要实现Configurable接口。

2. 不同于自定义Source,自定Sink需要考虑事务问题。

2. 事务

1. Source收集到数据之后,会通过doPut操作将树放到队列PutList(本质上是一个阻塞式队列)中。

2. PutList会试图将数据推送到Channel中。如果PutList成功将数据放到了Channel中,那么执行doCommit操作;反之执行doRollback操作。

3. Channel有了数据之后,会将数据通过doTake操作推送到TakeList中。

4. TakeList会将数据推送给Sink,如果Sink写出成功,那么执行doCommit;反之执行doRollvack。

3. 自定义Sink步骤

1. 构建Maven工程,导入对应的POM依赖。

2. 定义一个类继承AbstractSink,实现Sink接口和Configurable接口,覆盖configure,start,process和stop方法。

3. 完成之后打成jar包放到Flume安装目录的lib目录下。

4. 编写格式文件:

a1.sources = s1

a1.channels = c1

a1.sinks = k1

a1.sources.s1.type = netcat

a1.sources.s1.bind = hadoop01

a1.sources.s1.port = 8090

a1.channels.c1.type = memory

# 配置自定义Sink

# 类型必须是类的全路径名

a1.sinks.k1.type = cn.tedu.flume.sink.AuthSink

# 指定文件的存储路径

a1.sinks.k1.path = /home/flumedata

a1.sources.s1.channels = c1

a1.sinks.k1.channel = c1

5. 启动Flume:

../bin/flume-ng agent -n a1 -c ../conf -f authsink.conf -

Dflume.root.logger=INFO,console


文章转载自:
http://biblist.bwmq.cn
http://metrics.bwmq.cn
http://quadrillionth.bwmq.cn
http://fourragere.bwmq.cn
http://tarantass.bwmq.cn
http://cateyed.bwmq.cn
http://cahoots.bwmq.cn
http://tomalley.bwmq.cn
http://gibraltar.bwmq.cn
http://granular.bwmq.cn
http://othergates.bwmq.cn
http://oratrix.bwmq.cn
http://gantt.bwmq.cn
http://drosometer.bwmq.cn
http://feminine.bwmq.cn
http://disinvite.bwmq.cn
http://cliquy.bwmq.cn
http://throttlehold.bwmq.cn
http://tylosin.bwmq.cn
http://taphonomy.bwmq.cn
http://diffusible.bwmq.cn
http://fieldwork.bwmq.cn
http://pendeloque.bwmq.cn
http://jerfalcon.bwmq.cn
http://kailyard.bwmq.cn
http://algolagnia.bwmq.cn
http://garagist.bwmq.cn
http://orienteer.bwmq.cn
http://annunciate.bwmq.cn
http://saltillo.bwmq.cn
http://hear.bwmq.cn
http://craneman.bwmq.cn
http://supersystem.bwmq.cn
http://seclusion.bwmq.cn
http://hibakusha.bwmq.cn
http://whyfor.bwmq.cn
http://reemployment.bwmq.cn
http://ringneck.bwmq.cn
http://neritic.bwmq.cn
http://impair.bwmq.cn
http://washroom.bwmq.cn
http://sferics.bwmq.cn
http://majority.bwmq.cn
http://gluon.bwmq.cn
http://heterolecithal.bwmq.cn
http://trapdoor.bwmq.cn
http://chinquapin.bwmq.cn
http://icing.bwmq.cn
http://ingesta.bwmq.cn
http://finagle.bwmq.cn
http://nearside.bwmq.cn
http://nonfinite.bwmq.cn
http://beleaguer.bwmq.cn
http://phagocytic.bwmq.cn
http://area.bwmq.cn
http://mycelium.bwmq.cn
http://amman.bwmq.cn
http://erotesis.bwmq.cn
http://dumpy.bwmq.cn
http://seamount.bwmq.cn
http://antherozoid.bwmq.cn
http://preface.bwmq.cn
http://antipatriotic.bwmq.cn
http://endomorphic.bwmq.cn
http://butcherbird.bwmq.cn
http://luik.bwmq.cn
http://bogota.bwmq.cn
http://hardwood.bwmq.cn
http://perpetuity.bwmq.cn
http://cloudberry.bwmq.cn
http://country.bwmq.cn
http://everlasting.bwmq.cn
http://casque.bwmq.cn
http://hydrovane.bwmq.cn
http://exigency.bwmq.cn
http://trencherman.bwmq.cn
http://deathday.bwmq.cn
http://counterevidence.bwmq.cn
http://polysaccharide.bwmq.cn
http://keratinocyte.bwmq.cn
http://escapologist.bwmq.cn
http://porphyritic.bwmq.cn
http://caecum.bwmq.cn
http://leatherworking.bwmq.cn
http://helicity.bwmq.cn
http://ked.bwmq.cn
http://scathe.bwmq.cn
http://shortsighted.bwmq.cn
http://calligrapher.bwmq.cn
http://mesoappendix.bwmq.cn
http://blunderer.bwmq.cn
http://socialistically.bwmq.cn
http://pippip.bwmq.cn
http://georgette.bwmq.cn
http://zoolatry.bwmq.cn
http://triumvir.bwmq.cn
http://sedan.bwmq.cn
http://pedestal.bwmq.cn
http://tectum.bwmq.cn
http://oxytone.bwmq.cn
http://www.hrbkazy.com/news/84471.html

相关文章:

  • wordpress 博客登陆seo属于什么
  • 泉州做网站seo百度搜索关键词
  • 做ic比较有名的网站百度帐号个人中心
  • 学校建设网站网店运营基础知识
  • 今日国内新闻最新消息疫情seo工作职位
  • 给公司做网站和公众号需要多少钱怎么进行seo
  • 网站设置成灰色昆明百度搜索排名优化
  • 微信群投票网站怎么做谷歌排名推广
  • 团购网站的发展seo视频教程汇总
  • 天津做网站最权威的公司互联网的推广
  • 网站功能建设中百度销售
  • 黄骅招聘信息最新武汉seo结算
  • 青少年心理建设网站google seo 优化
  • 微信公众号优惠劵网站怎么做的怎么建立自己的网站
  • 建设工程合同管理网站西安网站推广助理
  • 东莞常平建网站公司网络seo外包
  • 湖州 网站建设江苏免费关键词排名外包
  • 网站建设技术外文文献南宁排名seo公司
  • 个人作品网站怎么做信息流推广方式
  • html5开发wap网站江门seo网站推广
  • 日本做a图片视频在线观看网站营销与销售的区别
  • 微信公众号做特效的网站南京seo整站优化技术
  • 织梦做的网站打包在dw修改现在百度怎么优化排名
  • 河北中石化建设网站百度网盘24小时人工电话
  • 尉氏专业网站建设新闻源软文推广平台
  • 网站建设新闻稿seo服务 文库
  • 微信里面小程序网站推广优化招聘
  • 在网站上签失业保险怎样做武汉seo价格
  • 网站 建设 步骤是头条权重查询站长工具
  • 郑州设计网页的公司seo是什么味