安装 flume
说明:后期我们拿到大量的数据,不一定都是csv,数据库,图形文件,二进制文件,序列化文件,txt等等,比较混乱,就要在初期由预谋的把它转换成数据库文件或者其他的统一文件类型。把一个非结构化数据,主键转化成结构化数据的文件,方便我们查,分析统计等等
flume就是帮助我们搜集数据,并且进行简单的数据过滤。然后自由的把数据放到你想要的地方(控制台输出,卡夫卡,jdbc数据库里面也行,自行安排)
建数据仓库(简称:数仓,与前面Hive数据仓库不是一个概念)数仓进行数据分层(4层)方便计算处理等等
上三层比较重要:注意:服务数据层每个十年经验是完全没这个能力的,面试的时候千万不要说上三层的数据是自己做的。我可以查这三层,但是数据不是我弄出来的
第一步:把数据导入/opt目录下面:
第二部:
//进入opt目录下面,使用tar -zxvf 解压文件
[root@bigdata ~]# cd /opt/
[root@bigdata opt]# tar -zxvf flume-ng-1.6.0-cdh5.14.0.tar.gz
//把 apache-flume-1.6.0-cdh5.14.0-bin/数据移动到bigdata/flume160(没有这个文件夹就自动创建)
[root@bigdata opt]# mv apache-flume-1.6.0-cdh5.14.0-bin/ bigdata/flume160
//移到flume160目录下查看数据情况
[root@bigdata opt]# cd bigdata/flume160/
[root@bigdata flume160]# ls
bin CHANGELOG cloudera conf DEVNOTES docs lib LICENSE NOTICE README RELEASE-NOTES tools
//查找conf文件夹下面的文件
[root@bigdata flume160]# cd conf/
[root@bigdata conf]# ls
//查找到flume-env.sh.template(template是模板参数)文件,
flume-conf.properties.template flume-env.ps1.template flume-env.sh.template log4j.properties
//把模板文件从新移动到flume-env.sh防止误删。另存为一个新的文件夹下面。
[root@bigdata conf]# cp flume-env.sh.template flume-env.sh
//查看jdk的全目录
[root@bigdata conf]# echo $JAVA_HOME
/opt/inst/jdk181
//打开刚新建的文件下面的模板,进行修改配置jdk的完全路径
[root@bigdata conf]# vi flume-env.sh
export JAVA_HOME=/opt/inst/jdk181
:wq //保存退出
强调:flume可以写配置文件,但是不能去开发它的API。(就是Java不能连接flume)
又因为这个软件无法直接启动,他需要一些配置环境(因为:它需要进行监控,(1)因为他是搜集数据的,他要知道数据从哪里来的(2)他还要知道搜集来的数据要写到那里去)
解图说思:(这个过程可以由多个并行执行)
源数据---->>[ 正方形表示Agent工作站 ] 【(里面有三部分(1)Source指向你要拿数据的数据源(Source就是监控数据源的位置)(2)Channel是一个管道/通道,可以做到简单的数据格式的清洗(3)Sink是钱买你拿到手的数据指向往哪里写的过程(数据可以存到HDFS,卡夫卡,Mysql等))】
//新建一个文件夹,但是必须是conf结尾的
[root@bigdata conf]# vi control.conf
//输入数据的流向以及处理的方法代码
cm.sources=s1
cm.sinks=k1
cm.channels=c1
cm.sources.s1.type=netcat
cm.sources.s1.port=55555
cm.sources.s1.bind=localhost
cm.sinks.k1.type=logger
cm.channels.c1.type=memory
cm.channels.c1.capacity=1000
cm.channels.c1.transactionCapacity=100
cm.sources.s1.channels=c1
cm.sinks.k1.channel=c1
centos7 安装nc: nc是一款简单的聊天软件
nc在centos7上的安装和简单的使用
下载
http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm
问题:如果你的虚拟机上没有安装wget,则输入[root@bigdata opt]# yun install -y wget 下载的一个软件
//在虚拟机上下载
[root@bigdata opt]# wget http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm
[root@bigdata opt]# rpm -iUv nc-1.84-22.el6.x86_64.rpm
[root@bigdata bin]# ./flume-ng agent -n cm -c /opt/bigdata/flume160/conf/ -f /opt/bigdata/flume160/conf/control.conf -Dflume.root.logger=INFO,console