首页 > 其他分享 >Flume - [05] Hbase sink

Flume - [05] Hbase sink

时间:2024-03-20 20:34:57浏览次数:11  
标签:Flume flume a1 sources sink Hbase hbase

 

 

一、概述

  此接收器将数据写入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

相关文章

  • Flume - [03] HDFS Sink
      一、概述  将事件写入Hadoop分布式文件系统(HDFS)。目前支持创建文本和序列文件。支持两种文件类型的压缩。可以根据经过的时间、数据大小或事件数周期性地滚动文件(关闭当前文件并创建文件)。根据事件起源的时间戳或机器等属性对数据进行存储/分区。HDFS目录路径可能包好......
  • Flume - [04] Hive Sink
      一、概述  HIVESink将包含分割文本或JSON数据的事件直接流到Hive表或分区中。事件是使用Hive事务编写的。一旦一组事件被提交到Hive,它们就会立即对hive查询可见。流到其中的分区可以是预先创建的,也可以是可选的,如果它们丢失了,可以创建它们。传入事件数据中的字段映射到......
  • Flume - [02] Spooling Directory Source
     一、概述  可以通过将文件放入磁盘上的"Spooldir"目录中来获取数据。此源会监视指定目录中的新文件,并在新文件出现时解析新文件中的事件。事件解析逻辑是可插入的。在将指定文件完全读取到通道后,默认情况下通过重命名文件来指示文件来指示完成,或者可以删除它,或者使用trac......
  • Hbase
    第1章HBase简介1.1什么是HBaseHBase的原型是Google的BigTable论文,受到了该论文思想的启发,目前作为Hadoop的子项目来开发维护,用于支持结构化的数据存储。官方网站:http://hbase.apache.org--2006年Google发表BigTable白皮书--2006年开始开发HBase--2008年北京成功开奥运......
  • 七、hive、hdfs、hbase查询总结
    【hive】1.连接hive:hive2.hive中查询:同mysql,如select* fromtablename;  注意:hive中的操作一定要加分号;否则语句一直不结束 【hdfs】1.查询文件或目录hdfsdfs-ls目录名  如:hdfsdfs-ls/winhadoop/org/ipva_third_data/2024/03/07查看根目录hdfsdfs......
  • Hbase常见面试题
    major和minorcompaction区别:1.minor操作:达到TTL(记录保留时间)会被移除,删除和更新的数据仅仅只是做了标记,并没有物理移除,这种合并的触发频率很高。小合并不做数据删除,因为发生频率比较高,消耗性能小。2.major操作:是对region下的hstore下的所有storefile执行合并操作,最终的......
  • Seatunnel系列之:Apache Iceberg sink connector和往Iceberg同步数据任务示例
    Seatunnel系列之:ApacheIcebergsinkconnector和往Iceberg同步数据任务示例一、支持的Iceberg版本二、支持的引擎三、描述四、支持的数据源信息五、数据库依赖六、数据类型映射七、Sink选项八、往Iceberg同步数据任务示例一、支持的Iceberg版本1.4.2二......
  • Hbase的底层操作原理
    1、HBase读流程 1)Client先访问zookeeper,从meta表读取region的位置,然后读取meta表中的数据。meta中又存储了用户表的region信息;2)根据namespace、表名和rowkey在meta表中找到对应的region信息;3)找到这个region对应的regionserver;4)查找对应的region;5)先从MemStore找数据,如果没有,再......
  • Hbase介绍
    什么是HbaseHbase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价的PCServer上搭建大规模结构化存储集群。利用HadoopHDFS作为其文件存储系统,利用HadoopMapReduce来处理Hbase中的海量数据,利用Zookeeper作为其分布式协同服务主要......
  • hbase自动化建表脚本
    脚本内容如下#!/bin/bashv_date=`date-d'+1day'+%Y%m%d`delete_date=`date-d'-8day'+%Y%m%d`end_date=`date-d'+3day'+%Y%m%d`while[$v_date!=$end_date]doecho"正在创建hbase表namespace:table_name_${v_date}...........