博客1_0609

使用flume将event写入hbase:

​ flume中的Hbase Sink将数据写入Hbase中,Hbase配置是从classpath中遇到的第一个hbase-site.xml中获取的。

​ 这里做一个简单的例程

​ 首先在hbase中创建表(下面建表语句从简),

create_namespace 'mydb'
create 'mydb:user','info'

​ 在1.conf中进行简单的设置

agent1.sources=s1
agent1.channels = c2
agent1.sinks = hbaseSink-2
#设置基本参数
agent1.sources.s1.type=netcat
agent1.sources.s1.bind=localhost
agent1.sources.s1.port=5678
agent1.sources.s1.channels=c2
agent1.channels.c2.type=memory
#指定hbase参数
agent1.sinks.hbaseSink-2.type = hbase
agent1.sinks.hbaseSink-2.table =mydb_user
agent1.sinks.hbaseSink-2.columnFamily =info
#以下正则根据自己的需求设置正则表达式 以下正则为[xxx] [xxx] [xxx] [xxx]格式
agent1.sinks.hbaseSink-2.serializer= org.apache.flume.sink.hbase.RegexHbaseEventSerializer
a2.sinks.hbaseSink-2.serializer.regex = \\[(.*?)\\]\\ \\[(.*?)\\]\\ \\[(.*?)\\]\\ \\[(.*?)\\]
#指定列名
a2.sinks.hbaseSink-2.serializer.colNames = user_id,user_name,user_age,col4
a2.sinks.hbaseSink-2.channel = c2

#启动flume
flume-ng agent --name agent1 -f 1.conf

#netcat监听端口,端口为设置端口
nc localhost 5678

在运行中如果遇到如下错误:

错误: 找不到或无法加载主类 org.apache.flume.tools.GetJavaProperty

可以对flume-ng脚本进行修改

在这里插入图片描述

在java.library,path 后加上 2>/dev/null | grep hbase ,如上图所示。

–参考资料

针对上述问题,还有其他方法,可以参考下面的博客,方法比较全:

https://blog.csdn.net/hq86937375/article/details/87787086

有问题欢迎留言,大家共同进步!

.csdn.net/hq86937375/article/details/87787086>

有问题欢迎留言,大家共同进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值