关于flume的配置文件,命令讲解

1.flume是可靠地,稳定的,但是有一定的前提条件:数据的传输数据是70MB/S以下,数据的请求次数是25万到50万QPS以内,是稳定可靠地,超出这两个阈值flume就开始大量丢包

2.怎样把yum下载下来的安装包离线出来:
cat /etc/yum.conf
有两个参数:keepcache=0和cachedir=/var/cache/yum/$basearch/$releasever,意思是当用yum安装完成后,会删除下载的源文件,将默认值0改为1即可,源文件的路径为cachedir

3.flume的配置文件
# Describe the sink
a1.sinks.k1.type = logger 在日志中输出

# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000    大小是1000
a1.channels.c1.transactionCapacity = 100    每次传输的大小是100

# Bind the source and sink to the channel
a1.sources.r1.channels = c1    把sources和channel绑定,注意,一个source可以绑定多个channel
a1.sinks.k1.channel = c1    把sink和channel绑定,注意,此处的channel没有加s,因为一个sink只能绑定一个channel

4.flume的启动命令
$ bin/flume-ng agent    \    ------调用flume-ng脚本的agent命令
 --conf conf/    \    ------指定当前flume的配置文件的目录
 --name a1 \    ------指定此次job的agent的名称
 --conf-file job/job_flume_netcat.conf \    ------指定此次job的配置文件
 -Dflume.root.logger==INFO,console    ------flume日志的输出级别和输出位置
 
5.flume命令讲解
 telnet localhost 44444    -----用telnet连接localhost的44444端口

 6.要学会根据自己的目录和版本查找 jar 包
 查找方式: find ./ -name 'jar包名称' ------  ./ 指定在哪个目录查找

7.启动hive的命令
nohup bin/hiveserver2 1>/dev/null 2>&1 &
bin/beeline -u jdbc:hive2://mini1:10000 -n root 
 
8.实时查看文件:    tail -F (如果连接失败,会再次连接;用-f的话,一次连接失败就不会再次连接)

9.hive.log的位置:/tmp/root/hive.log
HIVE默认log文件保存的地方
/tmp/<user.name>文件夹的hive.log文件中,全路径就是/tmp/当前用户名/hive.log。

每个job执行后都会产生Query ID,在hive.log中搜索关键字。确认时间一致后,之后的log就是当前job的信息。
Query ID = root_20171108160217_d51b321f-1902-4353-ae5b-2ebe5227f82f

如何查看更多的错误信息
在默认的日志级别情况下,是不能将DEBUG信息输出,这样一来出现的各种详细的错误信息都是不能数错的。
但是我们可以通过以下两种方式修改log4j输出的日志级别,从而利用这些调试日志进行错误定位,具体做法如下:
$ hive --hiveconf hive.root.logger=DEBUG,console (hive启动时用该命令替代)
或者在${HIVE_HOME}/conf/hive-log4j.properties文件中找到hive.root.logger属性,并将其修改为下面的设置
hive.root.logger=DEBUG,console

10.查找文件: find / -name hive.log

11.收集日志的时候,尽量在文件大小达到127M左右的时候创建一个新的文件,具体的多少时间单位创建一个新的文件,根据实际的业务来定,看每秒收集多少条日志,每条日志的大小是多少
日志滚动的设置有按照时间,文件大小和日志的个数

12.判断 44444 端口是否被占用
$ netstat -tunlp | grep 44444

13.flume有一个缺陷,不擅长上传大的单个文件,只适合上传小尔多的集中在某一个文件夹中的数据

14.分业务管理flume的job文件
job的配置文件和conf中的配置文件处理的业务是不一样的,所以最好不要讲job文件夹放在conf中,在job中,也要根据业务场景,分类管理配置文件,不要所有的文件都集中在一个文件夹中

15.flume收集数据的顺序问题:
多 Flume 汇总数据到单 Flume,数据的收集是交叉的,
如果多方收集的数据根据业务场景需要严格按照顺序的话,就不适用于这个场景
有的数据字段是自带时间戳的,即使收集的时候是无序的,但是在进行数据分析的时候会进行排序,所以多 Flume 汇总数据到单 Flume,数据的收集是交叉的也不会有影响
另外,也可以用kafka收集数据,它是严格按照时间队列来收集数据的

16.Flume 监控之 Ganglia
Ganglia框架可以监控flume发了多少信息,成功接收了多少数据,丢失了多少数据
Ganglia是分布式部署的,有主节点和从节点,当需要在哪台机器上监控节点信息,就在那台机器上安装部署Ganglia,并启动ganglia-gmond,所有的ganglia-gmond节点都会向ganglia-gmetad汇报信息,ganglia-web是展示ganglia-gmetad收到的信息

猜你喜欢

转载自blog.csdn.net/longwenyanlan/article/details/82590534
今日推荐