一、概述
此接收器将数据写入Hbase。Hbase配置是从类路径中遇到的第一个Hbase-site.xml获取的。由配置指定的实现 HbaseEventSerializer 的类用于将事件转换为 hbase、put和/或增量。然后将这些put和增量写入hbase。此接收器提供与hbase相同的一致性保证,hbase目前是逐行原子性。如果hbase未能写入某些事件,接收器将重播该事务中的所有事件。
Hbase Sink 支持编写数据以保护hbase。若要写入以保护hbase,代理运行的用户必须对接收器配置为写入的表具有写权限。可以在配置中指定用于对KDC进行身份验证的主题和键选项卡。Flume代理类路径中的hbase-site.xml必须将身份验证设置为 kerberos
二、配置
1、依次启动Zookeeper、Hadoop、Hive、Hbase
2、在Hbase中创建一张表:create 'mydata:flume_table', 'cf'
3、查看表:scan 'mydata:flume_table','cf'
4、配置hbase sink的properties
# flume配置的例子
# Name the components on this agent
# source:起一个别名
# properties文件它是java的配置文件,=左边就是键,=右边是值;键的开头都是以a1(就是flume的名字--agent的名字就是a1);a1随便起
a1.sources = r1
# sink:起一个别名
a1.sinks = k1
# channels;:起一个别名
a1.channels = c1
# Describe/configure the source
# spooldir:监控硬盘上指定的某个目录,如果文件发生变化,会被flume捕获;
a1.sources.r1.type = spooldir
# 要监控的目录,此目录必须存在
a1.sources.r1.spoolDir = /root/flume/
# 已经完成的文件,会加上一个后缀
a1.sources.r1.fileSuffix = .ok
# 已经完成的文件,会立即删除,默认值是never;(永不删除)
# a1.sources.r1.deletePolicy =immediate
# 是否添加存储绝对路径文件名的标题
a1.sources.r1.fileHeader = true
# Describe the sink
# sink的类型
a1.sinks.k1.type = hbase2
# hbase的表名
a1.sinks.k1.table = mydata:flume_table
# hbase的列族
a1.sinks.k1.columnFamily = cf
# zookeeper
a1.sinks.k1.zookeeperQuorum = node7-1:2181,node7-2:2181,node7-3:2181
# 序列化
a1.sinks.k1.serializer = org.apache.flume.sink.hbase.RegexHbaseEventSerializer
# Use a channel which buffers events in memory
# 描述一下channel:内存
a1.channels.c1.type = memory
# capacity:容量
a1.channels.c1.capacity = 1000000
# transactionCapacity:事务的容量
a1.channels.c1.transactionCapacity = 1000000
# Bind the source and sink to the channel
# 绑定;source和channel绑定
a1.sources.r1.channels = c1
# sink和channel绑定
a1.sinks.k1.channel = c1
三、测试
1、运行agent
nohup bin/flume-ng agent --conf conf \
--conf-file conf/flume_hbase.properties \
--name a1 -Dflume.root.logger=INFO,console &
2、在/root/flume 下创建 test.txt
路飞
索隆
娜美
3、查看mydata:flume_table
scan 'mydata:flume_table'
4、将text.txt中的中文去掉(默认文件中的一行是一个值)
Monkey,D,Luffy
Roronoa,Zoro
— 要养成终生学习的习惯 —
标签:Flume,flume,a1,sources,sink,Hbase,hbase From: https://www.cnblogs.com/houhuilinblogs/p/18086012