Flume配置|shell脚本|python|SQL

Flume是一种高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。

 

可以看一下模型:

 

每一个flume代理(agent)可以提供一项flume服务。每一个代理有三个成员:source、channel、sink

 

如上图所示,由source获取数据并发送给channel,channel就好比一个缓冲区,由sink来从channel里读取数据。

---------------------------------------------- 

暂时没有图写个思路先:

模型1:多source---1channel---1sink

模型2:单source---多channel---多sink

-----------------------------------------------

一个JVM环境仅仅只能运行一个agent

but..如果在同一台机器上起多个JVM环境则可以运行多个agent一样的道理。

应用场景的话多数据源接入且要汇入到同一类型sink且地址相同的不同路径下(好吧我语法比较差不知道这句话怎么描述,后续补图)

关于多JVM环境运行的话需要更深入的了解FLUME的配置..后续有时间了解一下。

==========================

关于FLUME的源码,在flume官网上可以下载它的源码包,用哪里读哪里,对配置和使用的帮助很大。

 

=============================================

关于shell脚本:

if[[ $? -ne 0 ]]

$? :指的是上一条脚本执行的返回结果,如上一条脚本是一条基本的ls -l命令,如果成功查询,当然返回就是0了,可如果出错,返回值不为0。

 

如果要修改某一文件中的某一个字段,或者某一行或某几行,sed指令会帮上你大忙。

 

如果要获取路径:那么pwd、dirname这些都是你的好帮手。

 

脚本里可以将你想要的到的结果直接赋值给变量,好像这样:

hadoop_path=`hadoop fs -ls /path1/path2/path3/path4`

注意这里的``可是数字1左边的键呦。

得到这个path了以后我就可以判断这个path是不是存在了呀呀呀。

 

活学活用活记。脚本可以干很多事。

 

====================================

SQL,如果别人写了一条非常长非常长非常绕的SQL命令。

不要觉得看不懂,看不懂放到数据库跑一把,就懂了。不要死死的一行一行盯着看,看半天也不会看出来的。浪费时间。

慢慢写。

 

转载于:https://www.cnblogs.com/wowostudy/p/5679703.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值