- 博客(27)
- 收藏
- 关注
原创 AOP与动态代理
什么是AOP?AOP可以增强方法的功能,而不需要修改原业务代码。从编程语言的角度:处理粒度不同从设计模式的角度:AOP进一步降低了模块间的耦合度从解放程序员生产力的角度:更少的代码从代码可读性的角度:业务逻辑更清晰AOP实现原理:动态代理非代理非代理模式,则需要修改原实现类,或者重新定义一个实现类,来添加新的功能要求。代理模式代理模式,也需要定义一个实现代理接口的类,...
2019-12-25 20:14:10
201
原创 spark任务调度和资源框架
standalone模式使用sparksubmit提交任务,Driver运行在Client上使用本地的Client类的main函数创建sparkcontext并初始化它sparkcontext连接到Master,注册并申请资源master根据sc提出的申请,根据worker的心跳报告,来决定在哪个worker上启动executorexecutor向sc注册,sc将应用分配给execut...
2019-11-28 20:49:55
666
原创 spark架构
Spark是一种快速、通用、可扩展的大数据分析引擎Spark是基于内存计算的大数据并行计算框架Spark Core :实现了 Spark 的基本功能,包含任务调度、内存管理、错误恢复、与存储系统 交互等模块Spark SQL:使用 SQL 或者 Apache Hive 版本的 SQL 方言(HQL)来查询数据,Spark SQL 支持多种数据源,比 如 Hive 表、Parquet 以及...
2019-11-28 20:11:50
272
原创 Kafka框架
Kafka : 高吞吐,分布式,基于发布订阅的信息系统点对点模式 : 一对一,消费者主动拉取数据发布订阅模式:一对多,数据生产后,推送给所以订阅者Producer : 消息生产者 ,想kafka broker发消息的客户端Consumer : 消息消费者,向kafk broker取消息的客户端Topic : 可以理解为一个队列Consumer Group:这是用来实现...
2019-11-27 19:39:51
194
原创 flume框架
Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统Flume核心是 Agent,一个Agent就是一个JVM,含有三个组件:source,channel,sinksource负责将数据捕获后进行特殊的格式化,将数据封装在事件(event)中,然后将事件推入channel中channel连接source和sink的组件,可以看成一个数据缓冲区(数据队列),可以...
2019-11-26 21:14:24
157
原创 storm面试题
提高并发度工作进程的数量 topology.workers : 1执行器的数量任务的数量当Nimbus或Supervisor守护进程死亡时会发生什么?Nimbus或supervisor的死亡不会影响worker流程,遇到任何意外情况时进程自毁,所有状态保存在Zookeeper或磁盘上Nimbus是单点故障吗?如果丢失了Nimbus节点,worker仍将继续运行.如果w...
2019-10-23 21:13:11
2526
原创 storm框架
元组 (Tuple)元组是消息传递的基本单元,是一个命名的值列表,元组中的字段可以是任何类型的对象元组支持所有的基本类型,字符串和字节数组作为字段值SpoutSpout是拓扑的数据流的来源,Spout会从外部数据源读取数据,然后转换为拓扑内部的源数据Spout可以使可靠的,也可以是不可靠的Spout 的主要方法是nextTuple()IRichSpout是Spout必须实现的接...
2019-10-23 20:52:29
821
原创 kafka安装环境配置
上传压缩包到3台服务器,解压,我的目录在/usr/local/kafka/里面下载路径:http://kafka.apache.org/downloadsvi /etc/profile添加环境变量export KAFKA_HOME=/opt/programs/kafka_2.11-0.10.1.0export PATH=PATH:PATH:PATH:KAFKA_HOME/bin...
2019-10-23 20:42:03
464
原创 storm环境配置
1 上传压缩包2 配置 /opt/programs/apache-storm-1.1.0/conf 目录下 storm.yaml 文件3 添加环境变量 vi /etc/profile4 主节点启动集群storm nimbus & 启动集群主节点启动UIstorm ui &5. 从节点启动supervisorstorm supervisor &6 启...
2019-10-22 15:57:14
191
原创 Yarn各个组件的功能和mapreduce在yarn的任务调度
Yarn是什么Yarn叫做Yet Another Resource Negotiator,另一种资源协调者,他的产生是为了解决Hadoop 1.0时代所遗留的问题,因为Hadoop1.0时代分布式计算作业分配与资源分配都是由MapReduce中的JobTracker完成,可能会出现内存溢出或资源不足的情况导致作业分配不及时或者资源分配不及时只能支持MapReduce分布式计算框架,不能支持现...
2019-10-17 19:44:46
765
原创 HBase的安装
上传压缩包到3台服务器,解压添加环境变量export HBASE_HOME=/usr/local/hadoop/hbase-2.0.0export PATH=$HBASE_HOME/bin:$PATH配置配置hbase-site.xml 文件<configuration> <property> <name>hbase...
2019-10-17 19:36:22
142
原创 HBase详解
HBase高可用,高性能,面向列,可伸缩的分布式数据库提供海量数据存储功能一个结构化的分布式存储系统,适用于半结构化和非机构化数据HBase表的特点大:行,列数多无模式:同一张表的不同行可以有不同的列面向列:面向列存储和权限控制稀疏:空列并不占用存储空间数据类型单一:字符串HBase架构图HBase的组件Client是HBase的接口,维护...
2019-10-12 16:36:12
197
原创 行存储和列存储的优缺点
按行存储:数据按行存储在底层文件系统中,通常,每一行会被分配固定的空间优点:有利于增加、修改整行记录等操作,有利于整行数据的读取操作缺点:单列查询时,会读取一些不必要的数据按列存储 :数据以列为单位,存储在底层文件系统中优点:有利于面向单列数据的读取/统计等操作缺点:整行读取时,可能需要多次I/O操作...
2019-10-11 17:19:04
4597
原创 hive安装使用
mysql的安装1. 只需要安装在集群里面的一台节点上即可,此处选择hadoop1节点2. 在Hadoop1上安装mariadbyum -y install mariadb-server mariadb3. 开启服务并开机自启systemctl start mariadb.servicesystemctl enable mariadb.service4. 设置密码。第一次登陆时...
2019-09-23 20:24:23
132
原创 Yarn工作流程
hadoop1.x的时候 MapReduce存在的问题job类型只能是MapReduce任务集群资源管理只有一个jobTracker ,单点故障(SPOF)每个Slave机器可运行的最大Map Task和Reduce Task数量固定难以共享集群Spark Storm...
2019-09-23 20:09:24
326
原创 HDFS+MapReduce常见问题
首次启动Namenode时怎么格式化?为什么要格式化?非首次启动时,是否只要成功启动了Namenode 和Datanode ,HDFS就能立刻对外提供服务?1 会生成namenode文件目录结构2 确定了三个ID namespace cluster blockpool3 生成了fsimage_000不会立刻对外提供服务,namenode启动过程 :开启安全模式加载fsi...
2019-09-23 20:08:40
251
原创 MapReduce总结(概括)
MapReduce是一种大规模数据处理的编程模型使用场景PV UV词频统计Top NMapReduce优缺点优点:编程模型简单高伸缩性支持横向扩展 (增加节点)高吞吐离线处理数据并行处理缺点:不支持流式数据不支持实时计算不支持复杂计算不支持迭代计算shuffle Map端Map端会源源不断的把数据输入到一个环形内存缓冲区达到默认80...
2019-09-11 15:27:39
294
原创 HDFS NameNode和Secondary NameNode的工作机制
1 sn请求是否需要checkpoint (更新fsimage)2 滚动日志记录,在新的edits_inprogress记录操作日志3 拷贝相关文件到snedits (除了edits_inprogress)只会拷贝除了sn上面fsimage编号以后的editsfsimage (只会在初始化集群之后的第一次拷贝)4 加载编辑日志和镜像文件到内存,然后合并5 生成新的fsimag...
2019-09-11 11:31:01
211
原创 HDFS上传文件的流程
1 客户端通过Distributed FileSystem模块向NameNode请求上传文件,namenode会进行校验2 namenode返回可以上传3 客户端请求上传第一个block 到哪几个DataNode上4 datanode返回三个节点 分别为d1,d3,d65 客户端请求d1上传数据 ,d1收到请求会调用d3, d3继续调用d6 ,将这个通信管道建立完成6 d1,d3,...
2019-09-10 16:01:06
2017
原创 MapReduce map端shuffle 元数据环形缓冲区+源码流程
private int partitions; 分区数量private JobConf job; 获取/自指配置的配置对象private Class keyClass; key的class类型private Class valClass; value的class类型private RawComparator comparator; 比较器private Se...
2019-09-07 14:47:12
755
原创 MapReduce工作原理(细节整理)
为什么会有跑多个map任务好处:可以同时计算多份数据,总的计算时长会成倍缩短坏处:1 并行计算资源分配过多 2 数据聚合效率变慢任务的数量具体需要多少,由什么决定由输入的数据来决定。数据从hdfs来,map任务会效仿hdfs文件分块的形式 把输入的数据进行分块(filesplit)- 切片:默认情况下,会对每个单独的文件进行切片 默认切片大小和块大小相同,如果mapta...
2019-09-05 19:52:00
304
1
原创 HDFS细节整理
namenode启动过程开启安全模式 不能执行修改数据的操作加载fsimage逐个执行所有的Edits文件中的每一条操作将操作合并到fsimage 完成后生成一个空的edits文件接受datanode发送来的信息和块信息根据以上信息来确定文件系统状态退出安全模式退出安全模式的条件dfs.namenode.safemode.min.datanodes :最小可用的datan...
2019-09-03 20:39:49
160
原创 HDFS细节整理(namenode和secondarynamenode)
1 初始化操作bin/hdfs namenode -format初始化作用:会生成namenode的文件目录结构 in_use.lock是在使用的时候生成 和edits相关的也是在使用之后生成确定了三个id namespace cluster blockpoolnamespaceID:是系统文件的唯一标识符,格式化文件系统之后会生成 clusterID :生成的集群...
2019-09-03 20:01:30
166
原创 hdfs初始化的作用&&secondarynamenode 和 namenode的关系
1 初始化操作bin/hdfs namenode -format初始化作用:1.会生成namenode的文件目录结构in_use.lock是在使用的时候生成和edits相关的也是在使用之后生成2. 确定了三个id namespace cluster blockpoolnamespaceID:是系统文件的唯一标识符,格式化文件系统之后会生成clusterID :生成的集群的IDb...
2019-08-29 20:52:13
1277
1
原创 hadoop分布式部署
hadoop分布式1 . 准备3台 客户机 (配置静态ip,主机名称)2 . 安装JDK3 . 配置环境变量export JAVA_HOME=/opt/programs/jdk1.8.0_11export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jare...
2019-08-27 18:51:24
106
原创 hadoop本地测试和伪分布式
Hadoop:1.安装官网http://hadoop.apache.org/docs/r2.7.7/hadoop-project-dist/hadoop-common/SingleCluster.html1.三种运行模式1.本地模式 standalone不需要启动任何服务,直接使用命令去运行任务2.伪分布式模式运行规则和分布式一样,但是只运行在一个节点上配置文件(1)etc/h...
2019-08-26 19:40:14
134
原创 大数据&&hadoop入门
大数据&hadoop生态圈大数据理解hadoop生态圈大数据理解大批量数据,海量数据解决海量出现产生的一系列问题1 .如何保存分开储存 :保证数据的完整,保证数据的唯一性,只被储存了一次2 .如何分析多个节点一起读部分数据,再一起计算3 .怎么分析的快1.堆硬件纵向堆:增加每个节点的配置横向堆:增加节点的数量,效果会更好2.算法优化,归根结底:资源利用率最大3.优...
2019-08-26 19:36:02
90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人