flume.conf
a1.sinks.hbase-sink1.channel = ch1 a1.sinks.hbase-sink1.type = hbase a1.sinks.hbase-sink1.table = users a1.sinks.hbase-sink1.columnFamily= info a1.sinks.hbase-sink1.serializer=org.apache.flume.sink.hbase.RegexHbaseEventSerializer a1.sinks.hbase-sink1.serializer.regex=^(.+)\t(.+)\t(.+)$ a1.sinks.hbase-sink1.serializer.colNames=ROW_KEY,name,email a1.sinks.hbase-sink1.serializer.rowKeyIndex=0 a1.sinks.hbase-sink1.serializer.depositHeaders=true
Note
A:In order to using rowKey, you should configure rowKeyIndex=0 and colNames=ROW_KEY..... where in you post Josn data, rowkey must be the first filed.
B: If you want to put the headers info of your json post, you must set depositHeaders=true
a1.sources.http-source1.channels = ch1 a1.sources.http-source1.type = http a1.sources.http-source1.bind = 0.0.0.0 a1.sources.http-source1.port = 5140 a1.sources.http-source1.handler = org.apache.flume.source.http.JSONHandler
a1.channels = ch1 a1.sources = http-source1 a1.sinks = hbase-sink1
Hbase
#hbase shell
>create 'users' 'info'
Curl post json
curl -i -H 'content-type: application/json' -X POST -d '[{"headers":{"userId":"9","name":"ZhangZiYi","phoneNumber":"1522323222"}, "body":"9\tZhangZiYi\tzy@163.com"}]' http://192.168.10.204:5140
Hbase result
>scan 'users'
Note: the name column, which content comes from headers and boy of JSON, will just overwrite the same content. Acutally, you can specify different column names to save the same content in different cells.
References
http://flume.apache.org/FlumeUserGuide.html#hbasesinks
http://thunderheadxpler.blogspot.jp/2013/09/bigdata-apache-flume-hdfs-and-hbase.html
相关推荐
Flume和Hbase集成的sink包,修改这个包里的源码可以成功客制化Flume往Hbase中写数据的格式。
最后,配置Sink指向HBase,需要提供HBase的连接信息,包括Zookeeper地址、表名以及如何将Flume事件映射到HBase的行键和列。 2. **创建HBase表**: 在HBase中,需要预先创建一个表,定义列族和列,以便存储日志数据。...
在大数据处理领域,Flume、Kafka和HBase是三个重要的组件,它们分别扮演着数据收集、消息中间件和分布式存储的角色。本章节我们将深入探讨这三个工具如何集成以实现高效的数据流动与处理。 Flume是Apache的一个开源...
Log4j直接发送数据到Flume + Kafka (方式一) 通过flume收集系统日记, 收集的方式通常采用以下. 系统logs直接发送给flume系统, 本文主要记录种方式进行说明. 文章链接,请看:...
在大数据处理领域,Flume、Kafka和HBase是三个重要的组件,它们分别扮演着数据收集、消息中间件和分布式存储的角色。在这个“Flume+Kafka+HBase实例”中,我们将深入探讨如何在电信客服项目中整合这三个工具,以实现...
influxdb-flume-sink 可配置的 Flume Sink 处理 Flume JSON 格式的事件,并使用 InfluxDB HTTP API 将它们发送到 InfluxDB 系列。 依赖关系 最小 json(com.eclipsesource.json 在 ) flume-ng-{configuration,...
综上所述,“flume-customize”项目是一个针对Flume的扩展,它增强了Flume对接高版本Elasticsearch和HBase的能力,并允许用户通过自定义过滤器和Sink进行更灵活的数据处理。对于需要处理大规模日志数据并要求高效...
2. **定制 Flume 插件**: 如果官方版本不支持,可能需要修改或创建自定义的 Flume sink 或 source,使其能够兼容 HBase 2.0。这通常涉及到修改源代码,重新编译并打包 Flume。 3. **添加第三方库**: 这里提到的 ...
总结来说,"flume解析日志所需jar"涉及到的技术点包括:Flume的基本架构、Kafka Source、日志解析、Channel、HBase和Elasticsearch的Sink配置,以及Flume类路径的管理。理解并掌握这些知识点对于构建高效的数据流...
- **Sink**:Sink 负责将 Flume 事件存储到目标位置,如 HDFS、HBase 或其他存储系统。 - **Channel**:Channel 作为 Source 和 Sink 之间的桥梁,用于临时存储事件,保证数据传输的可靠性。 - **Event**:Event 是 ...
producer.sinks.k.type=org.apache.flume.plugins.KafkaSink producer.sinks.k.metadata.broker.list=127.0.0.1:9092 producer.sinks.k.partition.key=0 producer.sinks.k.partitioner.class=org.apache.flume....
Sink则负责将数据从Channel移出并发送到目标位置,如HDFS、HBase或Kafka等。 2. **Flume 的高可用性**:通过设置多个Source副本和Sink副本,Flume 可以实现故障切换和负载均衡。如果一个节点失败,流量可以自动...
HBaseSink的参数配置如表3-10所示,需要指定Channel的名称、Sink的名称、Sink的类型、HBase的表名、HBase中的columnFamily、serializer等。serializer的配置示例如表3-11所示,需要指定serializer的处理类、HBase的...
Sink是数据流出Flume的地方,它可以将数据写入各种存储系统,如HDFS、HBase、Kafka或是本地文件系统。 构建高可用性Flume系统的关键在于使用复制通道。复制通道会将事件复制到多个副本,这样即使某个通道故障,其他...
通过Flume,可以轻松配置多个数据源和数据 sink,确保日志数据的实时采集。 3. **Kafka**: Kafka是LinkedIn开源的分布式消息中间件,后来成为Apache项目的一部分。在此系统中,Kafka充当数据管道,存储由Flume...
第1章 认识Apache Hadoop 和Apache HBase 第2章 用Apache Flume 处理流数据 第3章 源(Source) 第4章 Channel 第5章 Sink 第6章 拦截器、Channel 选择器、Sink 组和 第7章 发送数据到Flume* . 第8章 规划、部署和...
可以通过配置Flume源、通道和sink,将关系型数据库的变更实时同步至Hbase。 - Apache Kafka:Kafka作为一个高吞吐量的分布式消息中间件,可以用于数据流的发布订阅。结合Kafka Connect,可以实现实时将RDBMS变化...
2. Flume-Ng 组件:包括 Agent、Channel、Sink 等组件,每个组件都有其特定的功能和配置项。 六、应用场景 1. 日志收集:使用 Flume 收集各种日志数据,例如应用程序日志、系统日志等。 2. 数据集成:使用 Flume ...