大数据
文章平均质量分 75
奔跑-起点
这个作者很懒,什么都没留下…
展开
-
Launching Applications with spark-submit【使用脚本提交作业到集群5种部署模式--】
Once a user application is bundled, it can be launched using thebin/spark-submit script.This script takes care of setting up the classpath with Spark and itsdependencies, and can support different c原创 2017-03-03 18:28:15 · 619 阅读 · 0 评论 -
基于Solr的HBase多条件查询测试
http://www.cnblogs.com/chenz/articles/3229997.html背景:某电信项目中采用Hbase来存储用户终端明细数据,供前台页面即时查询。HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级的快速检索,对于多字段的组合查询却无能为力。针对HBase的多条件查询也有多种方案,但是这些方案要么太复杂,要么效率太低,本文只对基于Sol转载 2016-11-24 14:27:18 · 514 阅读 · 0 评论 -
Fluentd (td-agent) 日志收集系统
Fluentd是一个日志收集系统,它的特点在于其各部分均是可定制化的,你可以通过简单的配置,将日志收集到不同的地方。目前开源社区已经贡献了下面一些存储插件:MongoDB, Redis, CouchDB,AmazonS3, Amazon SQS, Scribe, 0MQ, AMQP, Delayed, Growl等等。安装可参考http://docs原创 2016-11-24 12:14:17 · 13141 阅读 · 0 评论 -
Linkedin Camus的使用
Preface在实现Lambda架构的时候,我以Kafka作为系统的输入,同时需要将数据批量从Kafka导入到HDFS存储起来,以备Batch layer批处理计算。而从Kafka到HDFS的数据传输,Linkedin已经有一个开源的项目,即Linkedin Camus。Camus是Kafka到HDFS的管道,它实际上是向Hadoop提交一个作业,并从Kafka获取指定topi转载 2016-11-24 11:52:42 · 1244 阅读 · 0 评论 -
Linkedin Camus,从Kafka到HDFS的数据传输管道
Preface本文是对Linkedin-Camus的介绍。内容都是从Camus的github中摘取出来的,详细的内容要看其说明和源码Introduction of CamusCamus是Linkedin开源的一个从Kafka到HDFS的数据管道,实际上它是一个MapReduce作业What is AvroApache Avro是一个 Data转载 2016-11-24 11:52:09 · 1531 阅读 · 0 评论 -
Hadoop Snappy安装终极教程
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://shitouer.cn/2013/01/hadoop-hbase-snappy-setup-final-tutorial/ 因为产品需要,这两天研究了一下Hadoop Snappy。先不说什么各个压缩算法之间的性能对比,单是这个安装过程,就很痛苦。网上有很多博友写H转载 2016-12-12 16:02:13 · 6739 阅读 · 1 评论 -
读懂hadoop、hbase、hive、spark分布式系统架构
机器学习、数据挖掘等各种大数据处理都离不开各种开源分布式系统,hadoop用于分布式存储和map-reduce计算,spark用于分布式机器学习,hive是分布式数据库,hbase是分布式kv系统,看似互不相关的他们却都是基于相同的hdfs存储和yarn资源管理,本文通过全套部署方法来让大家深入系统内部以充分理解分布式系统架构和他们之间的关系本文结构首先,我们来分别部署一套hado原创 2016-12-11 18:16:25 · 4031 阅读 · 1 评论 -
机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)
前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考虑该岗位,毕竟在机器智能没达到人类水平之前,机器学习可以作为一种重要手段,而随着科技的不断发展,相信这方面的人才需求也会越来越大。 纵观IT行业的招聘岗位,机器学习之类的岗位还是挺少的,国原创 2016-11-09 17:32:00 · 1326 阅读 · 0 评论 -
Yarn资源分配示例
Yarn资源分配示例1 简介此手册应用于yarn资源按照队列分配的情景。2 准备2.1 环境说明hadoop版本: hadoop-2.5.0-cdh5.3.33 配置3.1 配置说明1) Yarn-site.xml里配置yanr能用到的资源总数以及公平调度策略所在路径#在虚拟机关机情况下,选中后点击设置,在控制器SATA处点转载 2016-10-09 11:55:52 · 1412 阅读 · 0 评论 -
Yarn的原理与资源调度
本节,主要介绍yarn的基本原理以及资源调度。在hadoop1.0不能满足多系统集成的背景下孕育了yarn的产生。由于多分布式系统可以很好的集成,因此yarn的出现使得整个集群的运维成本大大降低。同时,yarn可以很好的利用集群资源,避免资源的浪费。除此之外,yarn的出现实现了集群的数据共享问题。不同的分布式计算框架可以实现数据的共享,比如hadoop的mapreduce输出可以作为storm的转载 2016-10-09 11:40:45 · 1445 阅读 · 0 评论 -
Spark DataFrames DataSet
Json文件内容:{"name":"Michael"}{"name":"Andy", "age":30}{"name":"Justin", "age":19}-- 加载json文件转换成DataFramesscala> val df = sqlContext.jsonFile("/spark/json")warning: there were 1 deprecation原创 2016-08-26 17:11:47 · 728 阅读 · 0 评论 -
RDD、DataFrame和DataSet的区别
RDD、DataFrame和DataSet是容易产生混淆的概念,必须对其相互之间对比,才可以知道其中异同。RDD和DataFrameRDD-DataFrame上图直观地体现了DataFrame和RDD的区别。左侧的RDD[Person]虽然以Person为类型参数,但Spark框架本身不了解Person类的内部结构。而右侧的DataFrame却提供了详细的结构信息,使得Sp转载 2016-08-26 15:37:30 · 822 阅读 · 0 评论 -
flume学习(一):log4jAppender直接输出日志到flume的avro-source
log4j.properties配置:log4j.rootLogger=INFO,flume,stdoutlog4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout=o原创 2016-12-09 21:27:48 · 1073 阅读 · 0 评论 -
flume学习(二):flume将log4j日志数据写入到hdfs
官网: http://flume.apache.org/在第一篇文章中我们是将log4j的日志输出到了agent的日志文件当中。配置文件如下:[plain] view plain copyprint?tier1.sources=source1 tier1.channels=channel1 tier1.sinks=sink1 tie原创 2016-12-09 21:31:09 · 640 阅读 · 0 评论 -
flume学习(三):Flume Interceptors的使用
官网:http://flume.apache.org/对于flume拦截器,我的理解是:在app(应用程序日志)和 source 之间的,对app日志进行拦截处理的。也即在日志进入到source之前,对日志进行一些包装、清新过滤等等动作。官方上提供的已有的拦截器有:Timestamp InterceptorHost InterceptorStatic原创 2016-12-09 21:40:49 · 739 阅读 · 0 评论 -
Spark之RDD
Spark RDD弹性分布式数据集【三大特点:分布式,高容错,弹性】原创 2017-03-03 15:12:51 · 543 阅读 · 0 评论 -
Hadoop YARN配置参数剖析(5)—Capacity Scheduler相关参数
Capacity Scheduler是YARN中默认的资源调度器。想要了解Capacity Scheduler是什么,可阅读我的这篇文章“Hadoop Capacity Scheduler分析”。在Capacity Scheduler的配置文件中,队列queueX的参数Y的配置名称为yarn.scheduler.capacity.queueX.Y,为了简单起见,我们记为Y,则每个队转载 2016-12-14 15:46:23 · 901 阅读 · 0 评论 -
cloudera search1.0.0环境搭建(2):利用flume-ng的MorphlineSolrSink实现近实时(NRT)搜索
要实现近实时搜索,就必须有一种机制来实时的处理数据然后生成到solr的索引中去,flume-ng刚好提供了这样一种机制,它可以实时收集数据,然后通过MorphlineSolrSink对数据进行ETL,最后写入到solr的索引中,这样就能在solr搜索引擎中近实时的查询到新进来的数据了。搭建步骤:1 我们这里只做演示效果,所以新建了一个文件file01来保存了两条数据,后面将通过fl转载 2016-12-09 22:27:18 · 736 阅读 · 0 评论 -
OLAP引擎——Kylin介绍
Kylin是ebay开发的一套OLAP系统,与Mondrian不同的是,它是一个MOLAP系统,主要用于支持大数据生态圈的数据分析业务,它主要是通过预计算的方式将用户设定的多维立方体缓存到HBase中(目前还仅支持hbase),这段时间对mondrian和kylin都进行了使用,发现这两个系统是时间和空间的一个权衡吧,mondrian是一个ROLAP系统,所有的查询可以通过实时的数据库查询完成,而转载 2016-12-09 22:23:40 · 612 阅读 · 0 评论 -
flume学习(十):如何使用Spooling Directory Source
最近在弄一个银行数据汇聚的事情,主要目的是把FTP上的数据汇聚到HDFS上去存储。 逻辑是这样的:把FTP服务器上的文件下载到一台主机上,然后SCP到另外一台主机上的Spooling Directory Source所监控的目录下面去,sink是hdfs(这里解释一下,由于网络环境的因素,另一台不能访问到内网的FTP服务器,所以只能这样中转一下)。嗯,想法不错,逻辑上看上去也应该没啥问题,原创 2016-12-09 22:19:55 · 1137 阅读 · 1 评论 -
flume学习(九):使用Morphline Interceptor
Morphline是干嘛用的?简单点说就是一个ETL工具,详细介绍:http://kitesdk.org/docs/current/kite-morphlines/morphlinesReferenceGuide.html这里有一个注意点,是和cloudera search版本有关系的,我是用CDH 5.0.0, Parcel搭建的集群环境,对应装的cloudera search是1.0版转载 2016-12-09 22:18:05 · 1106 阅读 · 0 评论 -
flume学习(八):自定义拦截器
还是针对学习七中的那个需求,我们现在换一种实现方式,采用拦截器来实现。先回想一下,spooldir source可以将文件名作为header中的key:basename写入到event的header当中去。试想一下,如果有一个拦截器可以拦截这个event,然后抽取header中这个key的值,将其拆分成3段,每一段都放入到header中,这样就可以实现那个需求了。遗憾的是,flum原创 2016-12-09 22:07:39 · 835 阅读 · 0 评论 -
flume学习(七):自定义source
按照以往的惯例,还是需求驱动学习,需求是:我想实现一个功能,就在读一个文件的时候,将文件的名字和文件生成的日期作为event的header传到hdfs上时,不同的event存到不同的目录下,如一个文件是a.log.2014-07-25在hdfs上是存到/a/2014-07-25目录下,a.log.2014-07-26存到/a/2014-07-26目录下,就是每个文件对应自己的目录,这个要怎么实原创 2016-12-09 22:01:40 · 1923 阅读 · 0 评论 -
flume学习(六):如何使用event header中的key值
前面我们已经说到我们在header中添加了一个key为:flume.client.log4j.logger.source ,然后有两个应用程序,一个设置为app1,一个设置为app2。现在有这么一个需求,要将app1的日志输出到hdfs://master68:8020/flume/events/app1目录下面,app2的日志输出到hdfs://master68:8020/flume/e原创 2016-12-09 21:53:47 · 3869 阅读 · 0 评论 -
flume学习(五):使用hive来分析flume收集的日志数据
前面已经讲过如何将log4j的日志输出到指定的hdfs目录,我们前面的指定目录为/flume/events。如果想用Hive来分析采集来的日志,我们可以将/flume/events下面的日志数据都load到hive中的表当中去。如果了解hive的load data原理的话,还有一种更简便的方式,可以省去load data这一步,就是直接将sink1.hdfs.path指原创 2016-12-09 21:49:24 · 883 阅读 · 0 评论 -
flume学习(四):Flume Channel Selectors使用
前几篇文章只有一个项目的日志,现在我们考虑多个项目的日志的收集,我拷贝了一份flumedemo项目,重命名为flumedemo2,添加了一个WriteLog2.java类,稍微改动了一下JSON字符串的输出,将以前requestUrl中的"reporter-api"改为了"image-api",以便和WriteLog类的输出稍微区分开来,如下:[java] view plain原创 2016-12-09 21:44:48 · 492 阅读 · 0 评论 -
Spark RDD、DataFrame和DataSet的区别
RDD:优点:1. 编译时类型安全 编译时就能检查出类型错误2. 面向对象的编程风格 直接通过类名点的方式来操作数据缺点:1. 序列化和反序列化的性能开销 无论是集群间的通信, 还是IO操作都需要对对象的结构和数据进行序列化和反序列化.2. GC的性能开销 频繁的创建和销毁对象,势必会增加GC importorg.apac原创 2016-08-26 15:09:29 · 1278 阅读 · 0 评论 -
Hadoop 开源调度系统zeus
https://github.com/alibaba/zeus对海量数据进行处理时,目前大部分公司都采用Hadoop来对数据进行离线处理,但是由于业务场景,经常一个MR或者Hive或者其他形式的任务无法直接完成业务需要,需要任务之间按照特定关系来执行(任务流),例如任务1执行完成之后,才能执行任务2、任务2执行完成之后才能执行任务3和4,在这种情况下需要一套调度系统把各个任务之间的依赖原创 2016-08-29 13:32:08 · 4222 阅读 · 0 评论 -
hadoop 集群调度 Azkaban2搭建
注:这里的服务器由于用到SSL,需要https协议,别打成 http安装配置:-----https://github.com/bbaiggey/AzkabanInstall介绍Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web原创 2016-03-01 20:51:22 · 2743 阅读 · 2 评论 -
centos6.5安装docker
由于docker安装需要内核为3.8以上 【uname -a】 一、升级内核1> rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org2>rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm3>yum --enablerepo=e原创 2016-03-01 20:59:17 · 805 阅读 · 0 评论 -
docker的安装--基于docker1.6
以centos7(64位)为例:必须是64位系统,建议使用英文版本,中文版本也会有问题。系统能连接外网1:验证linux内核版本uname -a,官方建议使用3.8版本以上。升级内核参考:http://segmentfault.com/blog/seanlook/1190000000733628(建议使用centos7-x64,如果自己升级内核,可能会有问题。)2:检查Devi原创 2016-03-01 20:57:37 · 1305 阅读 · 0 评论 -
ganglia集群监控搭建步骤
注:使用root用户进行操作 Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点。每台计算机都运行一个收集和发送度量数据(如处理器速度、内存使用量等)的名为 gmond 的守护进程。它将从操作系统和指定主机中收集。接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。正因为有这种层次结构模式,才使得 Ganglia 可原创 2016-03-01 20:55:06 · 704 阅读 · 0 评论 -
HDFS如何检测并删除多余副本块
前言在HDFS中,每时每刻都在进行着大量block块的创建和删除操作,这些庞大的block块构建起了这套复杂的分布式系统.普通block的读写删除操作一般人都或多或少了解过一些,但是过量的副本清理机制是否有人知道呢,就是overReplicatedBlock的处理,针对过量的副本块,HDFS怎么处理,何时处理,处理的策略机制如何,本文就给大家分享HDFS在这方面的知识.过量副本转载 2016-03-01 17:45:46 · 3791 阅读 · 0 评论 -
hadoop1.2.1伪分布式搭建
0.使用host-only方式 将Windows上的虚拟网卡改成跟Linux上的网卡在同一网段 注意:一定要将widonws上的WMnet1的IP设置和你的虚拟机在同一网段,但是IP不能相同1.Linux环境配置(windows下面的防火墙也要关闭) 1.1修改主机名 vim /etc/sysconfig/network 1原创 2016-03-01 17:41:22 · 413 阅读 · 0 评论 -
hadoop1.0集群搭建
1.启动Linux,选择I copy it(选择move是mac地址不变,选择copy,会新产生一mac地址)2.配置Linux环境 2.1执行ifconfig命令发现,可用的网卡是eth1 HWaddr 2.2将eth1的新的mac地址复制下来,替换原来eth0里旧的的mac地址 vim /etc/sysconfig/network-scrip原创 2016-03-01 17:39:53 · 423 阅读 · 0 评论 -
hadoop2.xHA机制的实现原理
在Hadoop2.0.0之前,NameNode(NN)在HDFS集群中存在单点故障(single point of failure),每一个集群中存在一个NameNode,如果NN所在的机器出现了故障,那么将导致整个集群无法利用,直到NN重启或者在另一台主机上启动NN守护线程。 主要在两方面影响了HDFS的可用性: (1)、在不可预测的情况下,如果NN所在的机器崩溃了,整个集群将无原创 2016-03-01 17:34:18 · 777 阅读 · 0 评论 -
CentOS7 网络配置--NAT模式
记得虚拟机的NAT服务要起来1、[hadoop@bg6 ~]$ cd /etc/sysconfig/network-scripts/2、[hadoop@bg6 network-scripts]$ vi ifcfg-eno16777736TYPE=EthernetBOOTPROTO=noneDEFROUTE=yesPEERDNS=yesPEERROUTES=yes原创 2016-03-01 17:02:32 · 1801 阅读 · 0 评论 -
Map端的调优属性
原创 2016-03-01 15:41:45 · 683 阅读 · 0 评论 -
Hadoop2.2伪分布式搭建步骤
1.准备Linux环境 1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 设置网段:192.168.1.0 子网掩码:255.255.255.0 -> apply -> ok 回到windows --> 打开网络和共享中心 -> 更改适配器设置 -> 右键V原创 2016-03-01 15:27:03 · 547 阅读 · 0 评论 -
关于影响NodeManager执行MR任务constainer数量的设置问题
在使用hadoop进行离线大数据处理的时候,集群规模比较下,内存受到限制,由于要跑MR,因此Mapper和Reducer的数量直接决定程序的执行,由于默认情况下 一个bolck块对应一个Mapper,一个Mapper需要向ResourceManager申请执行的资源,ResourceManager进行资源分配而NodeManager负责资源的供给和隔离,由于执行的文件特别大,因此启动了很多的Map原创 2016-03-10 12:50:40 · 4812 阅读 · 0 评论