摘要: 前言 非常重要,单例模式是各个Java项目中必不可少的一种设计模式。本文的关注点将重点放在单例模式的写法以及每种写法的线程安全性上。所谓"线程安全性"的意思就是保证在创建单例对象的时候不存在竞争,只会创建出一个单例对象。 单例模式 作为对象的创建模式,单例模式确保其某一个类只有一个实例,而且自行实例 阅读全文
posted @ 2019-04-08 18:34 yn_huang 阅读(161) 评论(0) 推荐(0)
摘要: 工厂方法模式 工厂方法模式是类的创建模式。工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工厂推迟到子类中。 工厂方法模式 工厂方法模式是对简单工厂模式进一步抽象的结果。 假如是不使用反射的工厂方法模式,那么所有的if... else if...else都放在工厂类中,势必造成工厂类的 阅读全文
posted @ 2019-04-08 18:32 yn_huang 阅读(205) 评论(0) 推荐(0)
摘要: 硬件平台介绍 集群总共包括三台电脑,一台主机两台从机,电脑名称和名称对应关系如下: hadoop-master 大电脑 hadoop-slave1 一体机 hadoop-slave2 台式机 各个主机通过路由器组件局域网,通常路由器会给每个主机分配固定的IP地址,在Ubuntu终端下,可以使用ifc 阅读全文
posted @ 2019-02-16 19:51 yn_huang 阅读(475) 评论(0) 推荐(0)
摘要: 一、前言 在 Spark 事件总线 一篇中有介绍组件内之间的通信,那 Spark 集群内,各组件之间又是怎么通信的? Spark 有内置的 RPC 框架(在 Spark 2.0.0 之前,是借助 Akka 来实现的,虽然没有具体用过,但社区评论都赞 Akka 是非常优秀的开源分布式框架。那 Spar 阅读全文
posted @ 2018-09-30 09:26 yn_huang 阅读(550) 评论(0) 推荐(0)
摘要: 1.Shuffle原理概述 什么样的情况下,会发生shuffle? 在spark中,主要是以下几个算子:groupByKey、reduceByKey、countByKey、join,等等。 什么是shuffle? groupByKey:要把分布在集群各个节点上的数据中的同一个key,对应的value 阅读全文
posted @ 2018-09-12 09:14 yn_huang 阅读(7032) 评论(0) 推荐(1)
摘要: 1、在实际项目中分配更多的资源 分配更多资源:性能调优的王道,就是增加和分配更多的资源,性能和速度上的提升,是显而易见的;基本上,在一定范围之内,增加资源与性能的提升,是成正比的;写完了一个复杂的spark作业之后,进行性能调优的时候,首先第一步,我觉得,就是要来调节最优的资源配置;在这个基础之上, 阅读全文
posted @ 2018-09-09 09:17 yn_huang 阅读(471) 评论(0) 推荐(0)
摘要: 了解HBase的童鞋都知道,HBase是一种LSM(Log-Structured Merge Tree)架构模式,用户数据写入先写WAL,再写缓存,满足一定条件后缓存数据会执行flush操作真正落盘,形成一个数据文件HFile。随着数据写入不断增多,flush次数也会不断增多,进而HFile数据文件 阅读全文
posted @ 2018-06-10 22:58 yn_huang 阅读(440) 评论(0) 推荐(0)
摘要: HBase与传统关系型数据库(如MySQL)的区别 数据类型:没有数据类型,都是字节数组(有一个工具类Bytes,将java对象序列化为字节数组)。数据操作:HBase只有很简单的插入、查询、删除、清空等操作,表和表之间是分离的,没有复杂的表和表之间的关系,而传统数据库通常有各式各样的函数和连接操作 阅读全文
posted @ 2018-06-06 22:44 yn_huang 阅读(1044) 评论(0) 推荐(0)
摘要: 1. YARN产生背景 MapReduce本身存在着一些问题: 1)JobTracker单点故障问题;如果Hadoop集群的JobTracker挂掉,则整个分布式集群都不能使用了。 2)JobTracker承受的访问压力大,影响系统的扩展性。 3)不支持MapReduce之外的计算框架,比如Stor 阅读全文
posted @ 2018-05-24 21:59 yn_huang 阅读(2575) 评论(0) 推荐(0)
摘要: 1 InputFormat数据输入 1.1 切片与MapTask并行度决定机制 1.2 Job提交流程源码和切片源码详解 Job提交流程源码详解 2. MapReduce工作流程 2.1 流程示意图 2.2 流程详解 上面的流程是整个MapReduce最全工作流程,但是Shuffle过程只是从第7步 阅读全文
posted @ 2018-05-20 19:36 yn_huang 阅读(366) 评论(0) 推荐(0)