摘要: (一)Kafka Kafka是一个基于zookeeper的高吞吐低延迟的分布式的发布、订阅消息系统【消息队列】。它能实时处理大量的消息数据以满足各种需求。Kafka是中间件的一种。 在java高并发中有 生产者-消费者-仓库模式。为解决生产能力和消费能力不匹配的问题。其中,仓库是为了降低生产者和消费 阅读全文
posted @ 2020-11-09 13:39 IT迷途小书童 阅读(154) 评论(0) 推荐(0) 编辑
摘要: (一)多线程API 1. 进程和线程 进程:操作系统管理的基本运行单位。也是资源分配的最小单位。进程内的线程共享这部分资源。 线程:进程中独立运行的子任务。 2. 常用的方法 (1) CurrentThread() 返回正在调用代码的那个线程。(需要注意:自定义线程中,只有run方法中执行的时候,c 阅读全文
posted @ 2020-11-09 13:30 IT迷途小书童 阅读(65) 评论(0) 推荐(0) 编辑
摘要: (一)内存管理 内存管理指的是executor的内存管理。 1. 内存分类--堆内存和堆外内存 内存分类分为 堆内存和堆外内存。堆内存分为存储storage内存、execution运算内存、other内存。比例是6:2:2 堆内存:Executor内存管理是建立在JVM内存管理之上的。JVM内存就是 阅读全文
posted @ 2020-11-09 13:08 IT迷途小书童 阅读(213) 评论(0) 推荐(0) 编辑
摘要: (一)任务(作业)调度 任务调度相关的3个概念:job、stage、task。 Job:根据用的的spark逻辑任务。以action方法为界,遇到一个action 方法,则触发一个job。 Stage:stage是job的子集。以宽依赖(shuffle)为界。遇到遇到一个shuffle,做一次划分。 阅读全文
posted @ 2020-11-09 13:06 IT迷途小书童 阅读(119) 评论(0) 推荐(0) 编辑
摘要: (一)RDD、DataFream、DataSet 理解 1. RDD理解 (1) RDD定义为弹性分布式数据集合。 MR运算之间数据共享差: MR的计算之间的数据共享只能通过将数据写入外部存储系统。后一步计算需要从外部存储系统中加载进来的方式进行。 Spark 思路相反,设计了一种抽象-RDD(弹性 阅读全文
posted @ 2020-11-09 13:00 IT迷途小书童 阅读(166) 评论(0) 推荐(0) 编辑
摘要: YARN是hadoop的资源调度平台。 1. YARN的基本架构 YARN由以下几个组件组成。Resource Manager、Node Manager、Application Master和Container组成。 Resource Manager :RM是一个全局的资源管理器。负责整个系统的资源 阅读全文
posted @ 2020-11-09 12:52 IT迷途小书童 阅读(103) 评论(0) 推荐(0) 编辑
摘要: MR是HADOOP的核心计算框架。是一个可容错的并行处理集群。 1. 核心思想 MR的核心思想是分而治之(本来是基于整体数据的运算,结果将数据数据分割成很多个小的数据集。然后并行计算这些小数据集,最后将每个小数据集的计算结果进行汇总。得到最终的计算结果)。 整个过程分为Map阶段和Reduce阶段。 阅读全文
posted @ 2020-11-09 12:51 IT迷途小书童 阅读(157) 评论(0) 推荐(0) 编辑
摘要: (一)HDFS 分布式文件系统,用于大数据的存储。具有高容错性、高可靠性、高可扩展型和高吞吐量等特征。 1. HDFS架构 HDFS是master/slave架构设计模式。一个HDFS集群有一个元数据节点(NameNode)和一些数据节点(DataNode)组成。NameNode是主节点,主要用来存 阅读全文
posted @ 2020-11-09 12:50 IT迷途小书童 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 高效并发 TPS:每秒事务处理数。 1. JAVA的内存模型 JAVA内存组织为主内存和工作内存两部分。 (1) 主内存 所有线程所共享的。主要包括本地方法区和堆。 (2) 工作内存 每个线程都有一个工作内存,不是共享的。工作内存包含两部分。 l 该线程私有的栈 l 主内存部分变量拷贝的寄存器(程序 阅读全文
posted @ 2020-11-09 11:52 IT迷途小书童 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 执行子系统 虚拟机和物理机的区别。两种都有代码执行能力。物理机的执行引擎是建立在处理器、硬件、指令集和操作系统上。而虚拟机的执行引擎是有自己实现的。因此可以自行的制定指令集和执行引擎的结构关系。 个人理解:分为三个部分。分别是方法的表示,栈帧结构【程序计数器、java虚拟机栈【局部变量表、操作数栈、 阅读全文
posted @ 2020-11-09 11:50 IT迷途小书童 阅读(239) 评论(0) 推荐(0) 编辑