Loading

摘要: 如何解决其中的可见性和有序性导致的问题,这也就引出来了今天的主角——Java 内存模型。 一、什么是 Java 内存模型? 导致可见性的原因是缓存,导致有序性的原因是编译优化,那解决可见性、有序性最直接的办法就是禁用缓存和编译优化,但这样虽然解决了问题,但也导致带来的性能优化都没了。 因此,解决方案 阅读全文
posted @ 2022-11-30 23:42 大数据王小皮 阅读(244) 评论(2) 推荐(0) 编辑
摘要: 并发编程Bug的源头:可见性、原子性和有序性问题。 「CPU、内存、磁盘之间的速度差异」 - 为了能同时执行多个任务,CPU 发展出时间片轮转、多核等 - CPU 要从内存中读数据太慢了,所以给自己设置了缓存 - CPU 读磁盘更慢了,所以可以让该线程阻塞 阅读全文
posted @ 2022-11-28 19:01 大数据王小皮 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 一、基本用法 xargs命令的作用,是将标准输入转为命令行参数。 原因:大多数命令都不接受标准输入作为参数,只能直接在命令行输入参数,这导致无法用管道命令传递参数 如下面 echo 不接受标准输出做参数,可用 xargs 做转换: $ echo "hello world" | xargs echo 阅读全文
posted @ 2022-11-25 22:02 大数据王小皮 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 前面几篇文章对 Yarn 基本架构、程序基础库、应用设计方法等进行了介绍。之后几篇将开始对 Yarn 核心组件进行剖析。 ResourceManager(RM)是 Yarn 的核心管理服务,负责集群管理、任务调度、状态机管理等,本篇将对 RM 总体架构进行介绍。 阅读全文
posted @ 2022-11-22 20:16 大数据王小皮 阅读(466) 评论(0) 推荐(1) 编辑
摘要: 本篇文章继续介绍 Yarn Application 中 ApplicationMaster 部分的编写方法。 阅读全文
posted @ 2022-11-18 20:48 大数据王小皮 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 上篇文章介绍了编写 Yarn Application 的整体框架流程,本篇文章将详细介绍其中 Client 部分的编写方式。 阅读全文
posted @ 2022-11-17 20:21 大数据王小皮 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 本篇学习 Yarn Application 编写方法,将带你更清楚的了解一个任务是如何提交到 Yarn ,在运行中的交互和任务停止的过程。通过了解整个任务的运行流程,帮你更好的理解 Yarn 运作方式,出现问题时能更好的定位。 一、简介 本篇将对 Yarn Application 编写流程进行介绍。 阅读全文
posted @ 2022-11-14 18:47 大数据王小皮 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 当一个服务拥有太多处理逻辑时,会导致代码结构异常的混乱,很难分辨一段逻辑是在哪个阶段发挥作用的。 这时就可以引入状态机模型,帮助代码结构变得清晰。 一、状态机库概述 一)简介 状态机由一组状态组成: 【初始状态 -> 中间状态 -> 最终状态】。 在一个状态机中,每个状态会接收一组特定的事件,根据事 阅读全文
posted @ 2022-11-11 20:56 大数据王小皮 阅读(412) 评论(3) 推荐(1) 编辑
摘要: 在别的地方显示正常的 application.properties 文件,放到 idea 中就会有乱码,如下图所示 idea 右下角编码那里还是灰色的,不能更改 解决方法 点开 idea 的 settings,搜索 File Encodings,把下图中 properities 的编码格式改为 UT 阅读全文
posted @ 2022-11-10 19:59 大数据王小皮 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 一个庞大的分布式系统,各个组件间是如何协调工作的?组件是如何解耦的?线程运行如何更高效,减少阻塞带来的低效问题?本节将对 Yarn 的服务库和事件库进行介绍,看看 Yarn 是如何解决这些问题的。 阅读全文
posted @ 2022-11-10 18:08 大数据王小皮 阅读(322) 评论(0) 推荐(1) 编辑
摘要: RPC(Remote Procedure Call) 是 Hadoop 服务通信的关键库,支撑上层分布式环境下复杂的进程间(Inter-Process Communication, IPC)通信逻辑,是分布式系统的基础。允许运行于一台计算机上的程序像调用本地方法一样,调用另一台计算机的子程序。由于 阅读全文
posted @ 2022-11-09 18:04 大数据王小皮 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 了解 Yarn 基础库是后面阅读 Yarn 源码的基础,本节对 Yarn 基础库做总体的介绍。并对其中使用的第三方库 Protocol Buffers 和 Avro 是什么、怎么用做简要的介绍。 一、主要使用的库 Protocol Buffers:是 Google 开源的序列化库,具有平台无关、高性 阅读全文
posted @ 2022-11-08 18:41 大数据王小皮 阅读(411) 评论(0) 推荐(2) 编辑
摘要: 本文将介绍如何使用 idea 搭建 Hadoop 源码阅读环境。(默认已安装好 Java、Maven 环境) 阅读全文
posted @ 2022-11-08 11:37 大数据王小皮 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 一、Yarn 产生的背景 Hadoop2 之前是由 HDFS 和 MR 组成的,HDFS 负责存储,MR 负责计算。 一)MRv1 的问题 耦合度高:MR 中的 jobTracker 同时负责资源管理和作业控制两个功能,互相制约。 可靠性差:管理节点是单机的,有单点故障的问题。 资源利用率低:基于 阅读全文
posted @ 2022-11-03 20:25 大数据王小皮 阅读(202) 评论(0) 推荐(1) 编辑
摘要: 如果换了电脑该如何同步Hexo的源文件?把hexo文件从一个电脑cope到另外一个电脑吗?答案肯定不是这样的,因为这里面有好多依赖包,好几万个文件呢,这样显然不合理。 本文提供一种多台电脑同步源文件的方法。 <! more 0 解决思路 使用GitHub的分支!在博客对应的仓库中新建一个分支。一个分 阅读全文
posted @ 2019-10-25 10:54 大数据王小皮 阅读(768) 评论(0) 推荐(0) 编辑