- 博客(82)
- 资源 (10)
- 收藏
- 关注
转载 Hadoop Yarn调度器的选择和使用
一、引言Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负责整个集群中包括内存、CPU等资源的管理;ApplicationMaster负责应用程序在整个生命周期的任务调度;NodeManager负责本节点上资源的供给和隔离;Contain...
2018-10-26 14:50:01 318
转载 Hadoop 2.0中单点故障解决方案总结
Hadoop 1.0内核主要由两个分支组成:MapReduce和HDFS,众所周知,这两个系统的设计缺陷是单点故障,即MR的JobTracker和HDFS的NameNode两个核心服务均存在单点问题,该问题在很长时间内没有解决,这使得Hadoop在相当长时间内仅适合离线存储和离线计算。令人欣慰的是,这些问题在Hadoop 2.0中得到了非常完整的解决。Hadoop 2.0内核由三个分支组成,分...
2018-10-26 14:48:06 1490
原创 Hadoop_YARN资源管理系统源码解析
目录一、YARN产生的背景(MRv1的局限性)二、YARN源代码结构三、YARN基本架构四、YARN各模块详细分析五、MRAppMaster-MapReduce On YARN实现六、YarnChild-MR引擎启动入口七、总结 一、YARN产生的背景(MRv1的局限性)YARN 是在 MRv1 基础上演化而来的,它克服了 MRv1 中的各种局限性。在正式介...
2018-10-24 14:48:00 2406 1
转载 机器学习十大常用算法
过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题。每个算法都看了好几个视频,挑出讲的最清晰明了有趣的,便于科普。以后有时间再对单个算法做深入地解析。今天的算法如下:决策树 随机森林算法 逻辑回归 SVM 朴素贝叶斯 K最近邻算法 K均值算法 Adaboost 算法 神经...
2018-09-24 16:11:44 381
原创 Hadoop YARN配置参数剖析—RM与NM相关参数
注意,配置这些参数前,应充分理解这几个参数的含义,以防止误配给集群带来的隐患。另外,这些参数均需要在yarn-site.xml中配置。 1. ResourceManager相关配置参数 (1) yarn.resourcemanager.address 参数解释:ResourceManager 对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等。 ...
2018-09-04 17:06:44 1069
转载 Kylin高级主题-Query引擎依赖的Calcite框架
Calcite(https://calcite.apache.org/)是Apache的一个孵化器项目,它是一个构建JDBC或者ODBC访问数据库的框架,通过自定义一些adapter通过sql访问任意类型的数据,回想起我们之前使用SQL的场景只有使用访问关系数据库如MYSQL、ORACLE等,通过hive查询HDFS上的数据,但是如果我们希望通过SQL接口访问内存中的某个数据结构(首...
2018-08-17 11:06:57 1540
原创 Kylin高级主题-Count Distinct(近似Count Distinct和精准Count Distinct)
在OLAP多维分析中,Count Distinct(去重计数)是一种非常常用的指标度量,比如一段时间内的UV、活跃用户数等等;从1.5.3开始,Apache Kylin提供了两种Count Distinct计算方式,一种是近似的,一种是精确的,精确的Count Distinct指标在Build时候,会消耗更多的资源(内存和存储),Build的过程也比较慢;近似Count Distinct...
2018-08-17 10:05:26 1496
原创 Kylin高级主题-Cube裁剪优化(聚合组,联合维度,层级维度,强制维度)
随着维度数目的增加,Cuboid 的数量会爆炸式地增长。为了缓解 Cube 的构建压力,Apache Kylin 引入了一系列的高级设置,帮助用户筛选出真正需要的 Cuboid。这些高级设置包括聚合组(Aggregation Group)、联合维度(Joint Dimension)、层级维度(Hierachy Dimension)和强制维度(Mandatory Dimension)等...
2018-08-17 10:04:50 3120
转载 Kylin查询引擎原理及核心源码解析
Kylin基于MOLAP实现,查询的时候利用Calcite框架,从存储在Hbase的segment表(每一个segment对应着一个htable)获取数据,其实理论上就相当于使用Calcite支持SQL解析,数据从Hbase中读取,中间Kylin主要完成如何确定从Hbase中的哪些表读数据,如何读取数据,以及解析数据的格式。场景设置首先设想一种cube的场景:维度:A(cardina...
2018-08-17 09:59:02 1525
转载 Kylin三大引擎和Cube构建源码解析
最近在工作中用到了kylin,相关资料还不是很多,关于源码的更是少之又少,于是结合《kylin权威指南》、《基于Apache Kylin构建大数据分析平台》、相关技术博客和自己对部分源码的理解进行了整理。一、工作原理每一个Cube都可以设定自己的数据源、计算引擎和存储引擎,这些设定信息均保存在Cube的元数据中。在构建Cube时,首先由工厂类创建数据源、计算引擎和存储引擎对象。这三...
2018-08-14 12:41:19 1157
原创 Kylin高级主题-Cube构建算法介绍(逐层算法和快速算法)
Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据。它能在亚秒内查询巨大的Hive表。本文将详细介绍Apache Kylin 1.5中的Fast-Cubing算法。Fast Cubing,也称快速数据立方算法, 是一个新的Cube算法。我们知道,Cube的思想是用空间换时间, 通过预先的计算,把索引及结果存储起来...
2018-08-14 12:37:41 5211
原创 Kylin Cube构建引擎原理及核心源码解析
本文主要介绍了Apache Kylin是如何将Hive表中的数据转化为HBase的KV结构,并简单介绍了Kylin的SQL查询是如何转化为HBase的Scan操作。Apache Kylin 是什么Apache Kylin是一个开源的、基于Hadoop生态系统的OLAP引擎(OLAP查询引擎、OLAP多维分析引擎),能够通过SQL接口对十亿、甚至百亿行的超大数据集实现秒级的多维分析查询。...
2018-08-14 12:07:46 5261
转载 Hadoop生态系统各个时期主要架构图
1 hadoop1.0时期架构2 hadoop2.0时期架构3 hdfs架构【Active Namenode】:主 Master(只有一个),管理 HDFS 的名称空间,管理数据块映射信息;配置副本策略;处理客户端读写请求【Secondary NameNode】:NameNode 的热备;定期合并 fsimage 和 fsedits,推送给 NameNode;当 Act...
2018-07-26 15:14:54 5955
转载 MapReduce Input Split(输入分/切片)详解
看了很多博客,感觉没有一个说的很清楚,所以我来整理一下。先看一下这个图 输入分片(Input Split):在进行map计算之前,mapreduce会根据输入文件计算输入分片(input split),每个输入分片(input split)针对一个map任务,输入分片(input split)存储的并非数据本身,而是一个分片长度和一个记录数据的位置的数组。Hadoop 2...
2018-07-20 14:28:28 2073
原创 Hadoop1.X 与 Hadoop2.X区别及改进
一:Haddop版本介绍0.20.x版本最后演化成了现在的1.0.x版本0.23.x版本最后演化成了现在的2.x版本hadoop 1.0 指的是1.x(0.20.x),0.21,0.22hadoop 2.0 指的是2.x,0.23.xCDH3,CDH4分别对应了hadoop1.0 hadoop2.0二、Hadoop1.X与Hadoop2.X区
2017-06-13 09:59:49 1187 4
转载 大型网站架构演变之路和知识体系[转载]
这篇文章对于想了解大型网站是怎样一步一步架构起来的人说,还是挺好的,特转载,原文:http://www.uml.org.cn/zjjs/201306263.asp之前我简单向大家介绍了各个知名大型网站的架构,亿万用户网站MySpace的成功秘密、Flickr架构、YouTube网站架构、PlentyOfFish 网站架构学习、WikiPedia技术架构学习笔记。这几个都很典型,我们可以
2016-09-19 18:08:46 460
原创 HadoopMapReduce源码解析
Hadoop是一个大数据处理平台,目前在大数据领域应用也非常广泛,刚好最近我们BI组在进行把底层数据仓库迁移到Hadoop平台并且当前BI的数据平台已经深度依赖Hadoop平台,所以在工作之余开始去深入了解下Hadoop内部实现以更好地应用它,在遇到问题的时候有更好的解决思路。本文详细介绍了Hadoop领域中分布式离线计算框架MapReduce的原理及源码分析。
2015-10-11 21:27:28 867
原创 HadoopHDFS源码解析
HDFS即Hadoop Distributed File System分布式文件系统,它的设计目标是把超大数据集存储到分布在网络中的多台普通商用计算机上,并且能够提供高可靠性和高吞吐量的服务。分布式文件系统要比普通磁盘文件系统复杂,因为它要引入网络编程,分布式文件系统要容忍节点故障也是一个很大的挑战。我们BI团队作为数据分析团队,对于数据的存储有着非常高的要求,不仅需要高可靠及高吞吐量,还必须满足通过不断水平扩展来满足日益增长的业务数据,当前HDFS很好的满足了我们对于大规模数据存储的要求。
2015-10-11 21:26:29 997
原创 HadoopRPC源码解析
Hadoop是一个大数据处理平台,目前在大数据领域应用也非常广泛,刚好最近我们BI组在进行把底层数据仓库迁移到Hadoop平台,所以在工作之余开始去深入了解下hadoop内部实现以更好地应用它,在遇到问题的时候有更好的解决思路。本篇分享先介绍Hadoop领域中RPC框架的实现原理,后续会继续分析HDFS及MapReduce及Hive实现原理跟大家分享(hadoop版本1.0,JDK版本1.6)。
2015-10-11 21:20:02 3461
原创 Tomcat7源码解析
Tomcat7 源码阅读学习 背景 Tomcat源码目录结构 Tomcat体系结构 Tomcat源码解析 Tomcat的启动流程 Tomcat一次完整请求的处理流程 Tomcat的关闭流程 Tomcat的Connector组件 Tomcat的运行过程
2015-03-27 15:42:20 8545 7
转载 你应当知道的Java牛人
Java领域有很多著名的人物,他们为Java社区编写框架、产品、工具或撰写书籍改变了Java编程的方式。本文是《最受欢迎的8位Java牛人》的2.0版本。PS:排名不分先后。本文的信息整理自网络博客,信息的真实性未经过严格筛选和确认。1、James Duncan Davidson —— Tomcat 、 Ant他曾是一名软件工程师,现在是一名摄影师。
2015-03-22 20:17:17 764 1
原创 MySQL的JDBC驱动源码解析
一、背景 MySQL是一个中小型关系型数据库管理系统,目前我们淘宝也使用的也非常广泛。为了对开发中间DAO持久层的问题能有更深的理解以及最近在使用的phoenix on Hbase的SQL也是实现的JDBC规范,在遇到问题的时候能够有更多的思路,于是研究了一下MySQL_JDBC驱动的源码,大家都知道JDBC是Java访问数据库的一套规范,具体访问数据库的细节有各个数据库厂
2015-03-21 17:34:37 21448 4
转载 Java多线程设计wait、notify、notifyall、synchronized的使用机制
java多线程设计wait、notify、notifyall、synchronized的使用机制wait、notify、notifyall、synchronized的使用机制: synchronized(obj) {while(!condition) {obj.wait();}obj.doSomething();}当线程A获得了obj锁后,发现条件condi
2013-11-25 11:25:58 741
原创 Java Socket接收和发送(字符串)
1.客户端LoginClient.javapackage pb.socket.LoginStr;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.
2013-09-30 16:44:40 7667
原创 J2EE中的资源文件的加载
5.1. 资源概述5.1.1. 什么是资源?在一个稍具规模的应用程序中,经常要做的一件事,就是查找资源、读取资源的内容。这里所谓的“资源”,是指存放在某一介质中,可以被程序利用的文件、数据。例如,基于Java的WEB应用中,常用到下面的资源:配置文件:*.xml、*.properties等。Java类文件:*.class。JSP页面、Velo
2013-06-06 19:13:24 1029
原创 一台机器(操作系统)能启动多个JVM
悲剧啊,今天才知道一台机器(操作系统)能启动多个JVM进程,各个JVM进程有独自的数据空间和代码空间,互不影响并且每调用java命令之后(执行启动类的main函数),就是启动一个JVM实例怪不得之前发现,一个Tomcat启动之后,其他的Tomcat目录下的的关闭脚本可以关闭之前起的Tomcat,看来要学的还有很多啊
2013-05-28 10:06:11 8686 2
原创 Log4j拿到当前执行语句的实现
LoggingEvent中的 public LocationInfo getLocationInformation() { if(locationInfo == null) { locationInfo = new LocationInfo(new Throwable(), fqnOfCategoryClass); } return locatio
2013-05-20 13:30:55 930
转载 并发场景下HashMap死循环导致CPU100%的问题
问题的症状从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get()这个方法上了,重启程序后问题消失。但是过段时间又会来。而且,这个问题在测试环境里可能很难重现。
2013-05-14 10:53:27 6246 2
原创 Tomcat中关于Servlet映射器Mapper的实现
Tomcat中对于每个请求的所对于的资源(Host,Context,Wrapper)有一个映射器来实现的Mapper中映射当前请求url所对应的Wrapper(Servlet) private final void internalMapWrapper(ContextVersion contextVersion,
2013-05-03 17:50:29 1903
转载 JMS与Java消息中间件
JMS是一种企业消息传送的API,并不是MOM消息中间件系统的全部,JMS也是一种规范,类似于JDBC,我们通JMS API访问 JMS的服务器。目前JMS服务器的主要产品有 IBM WebSphere MQ、SonicMQ、Sun Open MQ、BEA WebLogic JMS、Oracle AQ 以及 我们最常用的JBoss MQ 和 Apache的 ActiveMQ.。而JMS服务器
2013-04-25 19:25:59 1140
转载 使用Java开发需要关注的那些事儿
近期各家IT媒体举办的业内技术大会让很多网站都在披露自己的技术内幕与同行们分享,大到facebook,百度,小到刚起步的网站。facebook,百度之类的大型网站采用的技术和超凡的处理能力的确给人耳目一新的感觉,但并不是每个网站都是像facebook,百度 有上亿的用户访问流量,有海量的数据需要存储,需要使用到mapreduce/并行计算,HBase/列存储这些技术不可。技术手段始终是运营的支撑,
2013-04-25 19:22:32 709
原创 JDK 动态代理对异常的处理及InvocationTargetException异常解析
// 接口IApublic interface IA{ public void run()throws IOException;}// 实现类public class IAImpl implements IA{@Override public void run() throws IOException{ System.out.println("IAIm
2013-04-16 11:37:34 4280
原创 基于J2EE规范的TeaFramework框架(毕业设计用于学习J2EE写的一个框架)
基于J2EE的框架技术的实现与应用【摘要】 J2EE的应用越来越广泛,J2EE应用从设计上可以分为三层:表示层、业务层和数据持久层。在这三层上与之对应的J2EE技术为WEB技术和EJB技术,WEB技术实现表现层,而EJB规范负责业务层和数据层。由于J2EE技术的不断发展,在J2EE设计的各个层次现在都有对应的轻量级框架出现,轻量级框架的发展极大了推动了J2EE技术的发展,轻量级框架技术已经成为了下
2013-04-13 22:04:39 2628
原创 SpringTransaction源码序列图
1.TransactionProxyFactoryBean动态代理对象的生成及创建2.BeanNameAutoProxyCreator动态代理对象的生成及创建3.SpringTransaction动态代理对象的调用
2013-04-11 14:18:11 803 1
原创 Tomcat源码序列图
1.Tomcat的启动流程2.Tomcat一次完整请求的处理3.Tomcat的关闭流程4.Tomcat的Connector组件5.Tomcat运行过程中的线程概况6.Tomcat对异常的处理7.Tomcat对请求的响应处理
2013-04-11 13:34:03 1302
原创 SpringAOP源码序列图
1.ProxyFactoryBean动态代理对象的生成及创建2.BeanNameAutoProxyCreator动态代理对象的生成及创建3.SpringAOP动态代理对象的调用
2013-04-11 13:24:00 1046
原创 SpringIOC源码序列图
1.BeanDefinition的Resource定位2.BeanDefinition的载入与解析3.BeanDefinition在IOC容器中的注册4.bean对象的创建5.bean对象的依赖注入
2013-04-11 13:14:52 838
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人