利用flume工具将日志导入到hbase

  1. 数据导入:hbase提供importTSV工具导入tsv格式到hbase的表中。
  2. 数据导入导出:hbase提供导入导出功能,供将某个节点的数据导出后再导入到其他节点。
  3. 可以利用flume工具将日志导入到hbase

安装nginx、将logs目录赋权给hadoop用户。

创建hbase表

hbase shell

create 'mikeal-hbase-table','familyclom1','familyclom2'

创建test-flume-into-hbase.conf文件

# 从文件读取实时消息,不做处理直接存储到Hbase

agent.sources = logfile-source

agent.channels = file-channel

agent.sinks = hbase-sink

 

# logfile-source配置

agent.sources.logfile-source.type = exec

agent.sources.logfile-source.command = tail -f /var/log/nginx/access.log

agent.sources.logfile-source.checkperiodic = 50

# 组合source和channel

agent.sources.logfile-source.channels = file-channel

 

# channel配置,使用本地file

agent.channels.file-channel.type = file

agent.channels.file-channel.checkpointDir = /opt/data/flume-hbase-test/checkpoint

agent.channels.file-channel.dataDirs = /opt/data/flume-hbase-test/data

 

# sink 配置为HBaseSink 和 SimpleHbaseEventSerializer

agent.sinks.hbase-sink.type = org.apache.flume.sink.hbase.HBaseSink

#HBase表名

agent.sinks.hbase-sink.table = mikeal-hbase-table

#HBase表的列族名称

agent.sinks.hbase-sink.columnFamily  = familyclom1

agent.sinks.hbase-sink.serializer = org.apache.flume.sink.hbase.SimpleHbaseEventSerializer

#HBase表的列族下的某个列名称

agent.sinks.hbase-sink.serializer.payloadColumn = cloumn-1

# 组合sink和channel

agent.sinks.hbase-sink.channel = file-channel

 启动flume

flume-ng agent --name agent --conf-file test-flume-into-hbase.conf -Dflume.root.logger=DEBUG,console

--后台启动

nohup flume-ng agent --name agent --conf-file test-flume-into-hbase.conf -Dflume.root.logger=DEBUG,console >> flume.log  2>&1 &

验证

curl http://localhost

hbase shell

scan ‘mikeal-hbase-table’

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值