摘要: 目前 ssg内公司内部 spark streaming 处理数据源是kafka 目前遇到最大的问题是,会延迟,例如我们配置1分钟让窗口计算一次,很有可能随着数据量大,我们计算时间会超过1分钟,这样就会导致卡死在哪里,streaming一直累计算出不了结果,而且从监控还看不出有问题,... 阅读全文
posted @ 2015-06-23 18:04 stark_summer 阅读(882) 评论(0) 推荐(0) 编辑
摘要: SPARK_HOME/conf 下:spark-defaults.conf 增加如下内容spark.eventLog.enabled true spark.eventLog.dir hdfs://master:8020/var/log/spark spark.eventLog.com... 阅读全文
posted @ 2015-06-11 17:05 stark_summer 阅读(1371) 评论(0) 推荐(0) 编辑
摘要: 下载kafka正式版http://kafka.apache.org/downloads.html在Linux下解压tar包tar -xzfkafka_2.9.2-0.8.1.1.tgz修改server.properties进入kafka根目录config/server.properties主要修改的... 阅读全文
posted @ 2015-05-25 16:37 stark_summer 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 1. spark vs hadoopPS:Databricks团队特别说明,为了和Hadoop对比,这次用于排序的Spark集群没有使用它们的内存缓存机制,他们也是用硬盘存储的中间结果! http://tieba.yunxunmi.com/mtieba-hadoop-kz-58b9e... 阅读全文
posted @ 2015-05-22 15:18 stark_summer 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 概述distcp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成。 它把文件和目录的列表作为map任务的输入,每个任务会完成源列表中部分文件的拷贝。 由于使用了Map/Reduce方法,这个工具在语义和执行上都会有特殊的地... 阅读全文
posted @ 2015-05-20 14:22 stark_summer 阅读(481) 评论(0) 推荐(0) 编辑
摘要: Hive Tables将HIVE_HOME/conf/hive-site.xml文件copy到SPARK_HOME/conf/下When not configured by the hive-site.xml, the context automatically createsmetastore_d... 阅读全文
posted @ 2015-05-19 17:33 stark_summer 阅读(174) 评论(0) 推荐(0) 编辑
摘要: Beeline – 一个新的命令行ShellHiveServer2 supports a new command shell Beeline that works with HiveServer2. It's a JDBC client that is based on the SQLLine CL... 阅读全文
posted @ 2015-05-19 15:11 stark_summer 阅读(1331) 评论(0) 推荐(0) 编辑
摘要: sqlContext总的一个过程如下图所示:SQL语句经过SqlParse解析成UnresolvedLogicalPlan;使用analyzer结合数据数据字典(catalog)进行绑定,生成resolvedLogicalPlan;使用optimizer对resolvedLogicalPlan进行优... 阅读全文
posted @ 2015-05-19 13:43 stark_summer 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 问题导读1.hive除了包含用户接口、元数据,还包含哪些内容?2.hive包含哪些操作?3.hive数据能否被修改?4.hive优化有哪些常用方法?摘要: Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和... 阅读全文
posted @ 2015-03-12 15:11 stark_summer 阅读(4594) 评论(2) 推荐(0) 编辑
摘要: 问题导读1.HDFS HA与QJM解决了什么问题?2.HDFS HA与QJM区别是什么?3.在HA(两个namenode)架构下,如何访问hdfs文件?【使用QJM构建HDFS HA架构(2.2+)】 本文主要介绍HDFS HA特性,以及如何使用QJM(Quorum Journal Manager... 阅读全文
posted @ 2015-03-12 11:05 stark_summer 阅读(934) 评论(0) 推荐(0) 编辑
摘要: Akka 快速入门Akka的优点太多,高性能、高可靠、高并发、分布式、可容错、可扩展、事件驱动,不一一叙述。不同版本的API差异很大,本文代码运行在Scala 2.10.3和Akka 2.3.2之上。 com.typesafe.akka akka-actor_2.10 2.3.2 org.s... 阅读全文
posted @ 2015-03-11 16:05 stark_summer 阅读(873) 评论(0) 推荐(0) 编辑
摘要: 个人微信公众号,每天推送一篇高质量文章,喜欢的就订阅吧 版权声明:本文为博主原创文章,未经博主允许不得转载。 阅读全文
posted @ 2015-03-11 12:37 stark_summer 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 最近一个群友的boss让研究hbase,让hbase的入库速度达到5w+/s,这可愁死了,4台个人电脑组成的集群,多线程入库调了好久,速度也才1w左右,都没有达到理想的那种速度,然后就想到了这种方式,但是网上多是用mapreduce来实现入库,而现在的需求是实时入库,不生成文件了,所以就只能自己用代... 阅读全文
posted @ 2015-03-10 13:50 stark_summer 阅读(293) 评论(0) 推荐(0) 编辑
摘要: HBase 系统架构图 组成部件说明 Client: 使用HBase RPC机制与HMaster和HRegionServer进行通信 Client与HMaster进行通信进行管理类操作 Client与HRegionServer进行数据读写类操作 Zookeeper: Zookee... 阅读全文
posted @ 2015-03-10 13:46 stark_summer 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 随着Spark的逐渐成熟完善,越来越多的可配置参数被添加到Spark中来,本文试图通过阐述这其中部分参数的工作原理和配置思路,和大家一起探讨一下如何根据实际场合对Spark进行配置优化。由于篇幅较长,所以在这里分篇组织,如果要看最新完整的网页版内容,可以戳这里:http://spark-config... 阅读全文
posted @ 2015-03-05 18:28 stark_summer 阅读(1035) 评论(0) 推荐(0) 编辑
摘要: 作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整... 阅读全文
posted @ 2015-03-03 14:58 stark_summer 阅读(967) 评论(0) 推荐(0) 编辑
摘要: 首先创建SparkContext上下文:接着引入隐身转换,用于把RDD转成SchemaRDD:接下来定义一个case class 来用于描述和存储SQL表中的每一行数据:接下来要加载数据,这里的测试数据是user.txt文件:我们创建好use.txt增加内容并上传到hdfs中:web控制台查询:hd... 阅读全文
posted @ 2015-03-02 18:24 stark_summer 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 1、下载路径为:http://mirrors.cnnic.cn/apache/zookeeper/stable/2、安装:第一步 解压zookeeper压缩包:进入 zookeeper安装目录第二步 创建一个data目录:第三步 修改 conf/zoo.cfg文件:先将zoo_sample.cfg ... 阅读全文
posted @ 2015-02-13 10:58 stark_summer 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 接下来进行打包,使用Project Structure的Artifacts:使用From modules with dependencies:选择Main Class:点击“OK”:把名称改为SparkDemoJar:因为每台机器上都安装了Scala和Spark,所以可以把Scala和Spark相关... 阅读全文
posted @ 2015-02-12 13:02 stark_summer 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 创建一个Scala IDEA工程:点击“Next”:点击“Finish”完成工程的创建:修改项目的属性:首先修改Modules选项:在src下创建两个文件夹,并把其属性改为source:再修改Libraries:因为要开发Spark程序,所以需要把Spark的开发需要的jar包导进来:导入包完成后,... 阅读全文
posted @ 2015-02-10 13:07 stark_summer 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 1、下载scala2.11.5版本,下载地址为:http://www.scala-lang.org/download/2.11.5.html2、安装和配置scala:第一步:上传scala安装包 并解压第二步 配置SCALA_HOME环境变量到bash_profile第三步 source 使配置环境... 阅读全文
posted @ 2015-02-09 11:13 stark_summer 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 由于个人需要在自己的笔记本上搭建hadoop伪分布环境,为了方便自己使用,如想看机器也看之前的一篇博客:hadoop2.6.0版本集群环境搭建一台虚拟机,配置信息如下:内存:1G,cpu:一个core,硬盘:15G1、修改下主机名为mastersudo vi /etc/sysconfig/netwo... 阅读全文
posted @ 2015-02-06 15:56 stark_summer 阅读(2463) 评论(0) 推荐(0) 编辑
摘要: 我们在hdfs的/data/join创建两个文件:上传第一个文件名称为1.txt内容第一列是日期,第二列uid(普通用户id)上传第二个文件名称为2.txt内容第一列是日期,第二列uid(普通用户id)执行上传到hdfs:hdfs命令行查询:web控制台管理查询:首先在命令行中设置日期格式:然后声明... 阅读全文
posted @ 2015-02-05 14:37 stark_summer 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 1.临时修改主机名显示主机名:spark@master:~$ hostnamemaster修改主机名:spark@master:~$ sudo hostname hadoopspark@master:~$ hostnamehadoopPS:以上的修改只是临时修改,重启后就恢复原样了。2.永久修改主机... 阅读全文
posted @ 2015-02-04 10:36 stark_summer 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1、clover分布式调度介绍clover分布式任务调度是完全使用Java技术自主开发特点如下:1、防单点故障2、job可部署多台,但任务调度时,只有一台参执行。如果一台下线,clover选择其他已在zookeeper注册job来执行。3、可管理监控程序 ,相关负责人的job不可用会发送邮件通知4、... 阅读全文
posted @ 2015-02-03 14:41 stark_summer 阅读(1309) 评论(1) 推荐(0) 编辑
摘要: 本节中所用到的内容是来自搜狗实验室,网址为:http://www.sogou.com/labs/dl/q.html我们使用的是迷你版本的tar.gz格式的文件,其大小为87K,下载后如下所示:上传到服务器后,解压并查看:查看Sogou文件内容:该文件的格式如下所示:访问时间 \t 用户ID \t 查... 阅读全文
posted @ 2015-01-29 13:18 stark_summer 阅读(191) 评论(0) 推荐(0) 编辑
摘要: .tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileN... 阅读全文
posted @ 2015-01-28 17:30 stark_summer 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 这次 我们以指定executor-memory参数的方式来启动spark-shell:启动成功了在命令行中我们指定了spark-shell运行暂用的每个机器上的executor的内存为1g大小,启动成功后参看web页面:从hdfs上读取文件:在命令行中返回的MappedRDD,使用toDebugSt... 阅读全文
posted @ 2015-01-27 15:11 stark_summer 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 下面看下union的使用:使用collect操作查看一下执行结果:再看下groupByKey的使用:执行结果:join操作就是一个笛卡尔积操作的过程,如下示例:对rdd3和rdd4执行join操作:使用collect查看执行结果:可以看出join操作完全就是一个笛卡尔积的操作;reduce本身在RD... 阅读全文
posted @ 2015-01-26 11:31 stark_summer 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 从前一篇文章中的wordcount的输出结果可以看出来结果是未经排序的,如何对spark的输出结果进行排序呢?先对reduceByKey的结果进行key,value位置置换(数字,字符),然后再进行数字排序,再将key,value位置置换后就是排序后的结果了,最终将结果存储到HDFS中可以发现我们成... 阅读全文
posted @ 2015-01-23 16:27 stark_summer 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 操作HDFS:先要保证HDFS启动了:启动spark集群:以spark-shell运行在spark集群上:查看下之前上传到HDFS上的”LICENSE.txt“文件:用spark读取这个文件:使用count统计该文件的行数:我们可以看到count 耗时为0.239708s对该RDD进行cache操作... 阅读全文
posted @ 2015-01-23 10:06 stark_summer 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 首先以spark的本地模式测试spark API,以local的方式运行spark-shell:先从parallelize入手吧:map操作后结果:下面看下 filter操作:filter执行结果:我们用最正宗的scala函数式编程的风格:执行结果:从结果 可以看出来,与之前那种分步奏方式结果是一样... 阅读全文
posted @ 2015-01-22 12:05 stark_summer 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 问题1:reduce task数目不合适解决方案:需要根据实际情况调整默认配置,调整方式是修改参数spark.default.parallelism。通常的,reduce数目设置为core数目的2-3倍。数量太大,造成很多小任务,增加启动任务的开销;数目太小,任务运行缓慢。所以要合理修改reduce... 阅读全文
posted @ 2015-01-22 10:35 stark_summer 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 进入Worker类源码:可以看出Worker本身是Akka中的一个Actor。进入Worker类的LaunchExecutor:从源代码可以看出Worker节点上要分配CPU和Memory给新的Executor,首先需要创建一个ExecutorRunner:ExecutorRunner是用于维护ex... 阅读全文
posted @ 2015-01-21 21:34 stark_summer 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 注册Master有两种,一种是registerWithMaster方法,一种是tryRegisterAllMasters方法,前者是单Master的情况,后者是多Master,一般情况下是满足HA机制,我们看一下registerWithMaster方法:此时会调用tryRegisterAllMast... 阅读全文
posted @ 2015-01-21 20:31 stark_summer 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 首先从SparkContext中TaskScheduler实例的创建开始:进入taskScheduler.start()方法内部:进入其实现者TaskSchedulerImpl内部:可以发现在start具体实现的内部首先是有个backend.start方法:其最终具体的实现类为:从代码中可以看出,我... 阅读全文
posted @ 2015-01-21 18:43 stark_summer 阅读(266) 评论(0) 推荐(0) 编辑
摘要: RDD的核心方法:首先看一下getPartitions方法的源码:getPartitions返回的是一系列partitions的集合,即一个Partition类型的数组我们就想进入HadoopRDD实现:1、getJobConf():用来获取job Configuration,获取配置方式有clon... 阅读全文
posted @ 2015-01-21 15:31 stark_summer 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 接着上一篇文章继续分析代码:3.1.3.3.3.1、进入TaskSet方法:3.1.3.3.3.2、进入taskScheduler.submitTasks(new TaskSet(tasks.toArray, stage.id, stage.newAttemptId(), stage.jobId, ... 阅读全文
posted @ 2015-01-20 17:57 stark_summer 阅读(293) 评论(0) 推荐(0) 编辑
摘要: RDD源码的count方法:从上面代码可以看出来,count方法触发SparkContext的runJob方法的调用:进入runJob(rdd, func, 0 until rdd.partitions.size, false)方法:进一步跟踪runJob(rdd, (context: TaskCo... 阅读全文
posted @ 2015-01-20 16:10 stark_summer 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 在SparkContext中可以看到初始化UI代码:// Initialize the Spark UIprivate[spark] val ui: Option[SparkUI] = if (conf.getBoolean("spark.ui.enabled", true)) { Some... 阅读全文
posted @ 2015-01-20 12:42 stark_summer 阅读(1178) 评论(0) 推荐(0) 编辑