flume采集数据直接存到hive中

记录一下自己前段时间解决的问题!

首先启动hadoop:

start-all.sh

然后就将hive中的这四个架包拷贝到flume的lib目录下:
请添加图片描述
拷贝过去:

cp /opt/hive/hcatalog/share/* /opt/flume/lib/

启动hive元数据服务,窗口不要关:
在这里插入图片描述
在hive中建表,根据你要采集的数据字段进行建表,并开启orc支持:
在这里插入图片描述

Hive命令行查询orc表时,需要激活以下配置,在hive中输入:

set hive.support.concurrency = true;
set hive.exec.dynamic.partition.mode = nonstrict;
set hive.txn.manager = org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;

接着就是开始配置你的flume文件,在添加输入文件的编码格式为GBK(主要还是取决于你文件的编码),不然会报错。配置如下:
在这里插入图片描述

开启flume:
./flume-ng agent -n a1 -c conf -f /opt/flume/conf/one.conf -Dflume.root.lodder=INFO,console
其中-Dflume.root.lodder=INFO,console可不要,是日志打印:
在这里插入图片描述

将待采集的数据发给到监控文件目录下:
在这里插入图片描述

Flume开始工作:
在这里插入图片描述
最后去hive表中查看结果:
在这里插入图片描述

OK,搞定!

下面是我在过程中遇到的一些问题:
在这里插入图片描述

ip地址为master(xx.xx.xx.xx)而不是127.0.0.1
在这里插入图片描述

这里将通道从源获取或提供给接收器的最大事件数值设置大一些,来满足你自己的需求。如果是100则会报错。
在这里插入图片描述

每天扣扣脑袋,敲敲代码,还是挺有意思的呢!
请添加图片描述

参与评论 您还未登录,请先 登录 后发表或查看评论
相关推荐

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页

打赏作者

W~J~L

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值