HDFS

Hadoop服务配置热替换框架的设计实现

心不动则不痛 提交于 2020-10-02 10:28:05
文章目录 前言 服务热替换更新需要解决的问题点 Hadoop服务热替换更新配置框架代码实现 引用 前言 在分布式系统中,根据不同的运行情况进行服务配置项的更新修改,重启是一件司空见惯的事情了。但是如果说需要重启的服务所需要的cost非常高的时候,配置更新可能就不能做出频繁非常高的操作行为了。比如某些分布式存储系统比如HDFS NameNode重启一次,要load元数据这样的过程,要花费小时级别的启动时间,当其内部存储了亿级别量级的文件数的时候。那很显然对于这种高cost重启的服务来说,我们不能每次依赖重启做快速的配置更新,使得系统服务能使用新的配置值进行服务。于是一个新的名词在这里诞生了:服务的配置热替换更新。简单理解即我们可以通过RPC命令来动态地更改服务内部加载的某项配置值,然后让其使用新的配置值生效运行。本文笔者来聊聊Hadoop内部是如何实现了这么一套配置热替换更新的框架实现的。 服务热替换更新需要解决的问题点 要实现服务配置的热替换更新,我们首选需要知道有哪些主要的问题点,需要我们去考虑到。 第一点,如何让服务能够感知到那些“更新”了的配置。 这里一般有下面两种做法: 1)以命令行参数的形式,传入需要动态更新的配置key以及对应的value。 2)修改服务本地配置文件,然后触发一个动态刷config的命令到服务。 上述方案第二种比第一种更好一些,因为第一种命令行执行完后

大数据Spark生态圈,进击Spark生态圈必备,迈向“高薪”的基石

断了今生、忘了曾经 提交于 2020-10-02 08:24:21
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处,Spark以其先进的设计理念,迅速成为社区的热门项目,围绕着Spark推出了Spark SQL、Spark Streaming、MLLib和GraphX等组件,也就是BDAS(伯克利数据分析栈),这些组件逐渐形成大数据处理一站式解决平台。从各方面报道来看Spark抱负并非池鱼,而是希望替代Hadoop在大数据中的地位,成为大数据处理的主流标准,不过Spark还没有太多大项目的检验,离这个目标还有很大路要走。 Spark使用Scala语言进行实现,它是一种面向对象、函数式编程语言,能够像操作本地集合对象一样轻松地操作分布式数据集(Scala 提供一个称为 Actor 的并行模型,其中Actor通过它的收件箱来发送和接收非同步信息而不是共享数据,该方式被称为:Shared Nothing 模型)。在Spark官网上介绍,它具有运行速度快、易用性好、通用性强和随处运行等特点。 l运行速度快 Spark拥有DAG执行引擎,支持在内存中对数据进行迭代计算。官方提供的数据表明,如果数据由磁盘读取

Spark原理详解

£可爱£侵袭症+ 提交于 2020-10-02 07:24:03
Hadoop存在缺陷: 基于磁盘,无论是MapReduce还是YARN都是将数据从磁盘中加载出来,经过DAG,然后重新写回到磁盘中 计算过程的中间数据又需要写入到HDFS的临时文件 这些都使得Hadoop在大数据运算上表现太“慢”,Spark应运而生。 Spark的架构设计: ClusterManager负责分配资源,有点像YARN中ResourceManager那个角色,大管家握有所有的干活的资源,属于乙方的总包。 WorkerNode是可以干活的节点,听大管家ClusterManager差遣,是真正有资源干活的主。 Executor是在WorkerNode上起的一个进程,相当于一个包工头,负责准备Task环境和执行Task,负责内存和磁盘的使用。 Task是施工项目里的每一个具体的任务。 Driver是统管Task的产生与发送给Executor的,是甲方的司令员。 SparkContext是与ClusterManager打交道的,负责给钱申请资源的,是甲方的接口人。 整个互动流程是这样的: 1 甲方来了个项目,创建了SparkContext,SparkContext去找ClusterManager申请资源同时给出报价,需要多少CPU和内存等资源。ClusterManager去找WorkerNode并启动Excutor,并介绍Excutor给Driver认识。 2

实时数据仓及实时平台架构详解

微笑、不失礼 提交于 2020-10-02 06:45:45
随着互联网的发展进入下半场,数据的时效性对企业的精细化运营越来越重要, 商场如战场,在每天产生的海量数据中,如何能实时有效的挖掘出有价值的信息, 对企业的决策运营策略调整有很大帮助。此外,随着 5G 技术的成熟、广泛应用, 对于工业互联网、物联网等数据时效性要求非常高的行业,企业就更需要一套完整成熟的实时数据体系来提高自身的行业竞争力。 本文从上述现状及实时数据需求出发,结合工业界案例、笔者的实时数据开发经验, 梳理总结了实时数据体系建设的总体方案,本文主要分为三个部分: 第一部分主要介绍了当下在工业界比较火热的实时计算引擎 Flink 在实时数据体系建设过程中主要的应用场景及对应解决方案; 第二部分从实时数据体系架构、实时数据模型分层、实时数据体系建设方式、流批一体实时数据架构发展等四个方面思考了实时数据体系的建设方案; 第三部分则以一个具体案例介绍如何使用 Flink SQL 完成实时数据统计类需求。 一、Flink 实时应用场景 目前看来,Flink 在实时计算领域内的主要应用场景主要可分为四类场景, 分别是实时数据同步、流式 ETL、实时数据分析和复杂事件处理,具体的业务场景和对应的解决方案可详细研究下图, 文字层面不再详述。 二、实时数据体系架构 实时数据体系大致分为三类场景:流量类、业务类和特征类,这三种场景各有不同。 在数据模型上,流量类是扁平化的宽表

互联网大数据时代,看HDFS未来会如何?

↘锁芯ラ 提交于 2020-10-02 02:51:14
互联网大数据时代,看HDFS未来会如何? 随着数字经济发展,5G时代下互联网、大数据、人工智能、分布式存储和实体经济深度融合。以及数字产业化、产业数字化的深入发展。 同时,数字化新时代的到来伴随着海量数据产出,数据的管理、存储、成本等问题步步紧逼,传统中心化存储已经触及“天花板”,难以解决海量数据所带来的困扰;分布式存储技术的出现乃社会发展的刚需。 HDFS是一个高速、安全、可拓展的分布式存储项目。面向5G,对分布式存储底层技术深度开发及优化,通过切片技术对节点的P2P传输,实现数百兆文件的秒传;在数据存储方面,通过采用一种高效的数据存储架构来提高数据存储效率。 HDFS分布式 亮点 数据的容错和恢复机制 满足大于N+3保证数据完整性 HDFS设计成能可靠地在集群中大量机器之间存储大量的文件,它以块序列的形式存储文件。文件中除了最后一个块,其他块都有相同的大小。属于文件的块为了故障容错而被复制。当他的节点超过3台以上即便有节点损坏,或者关机都不影响文件的丢失和安全。 通讯协议,安全隐秘。所有的节点都是主动点对点P2P,融合区块链特性和机制。 P2P是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、 打印机等),这些共享资源需要由网络提供服务和内容,能被其它对等节点(peer)直接访问而无需经过中间实体。 在此网络中的参与者既是资源

清华架构师整理分布式系统文档:从实现原理到系统实现,收藏吧

喜欢而已 提交于 2020-10-01 14:29:12
微服务、云原生、Kubernetes、Service Mesh是分布式领域的热点技术,它们并不是凭空出现的,一定继承了某些“前辈”的优点。我们不仅要了解这些技术,还要深入理解其发展脉络、原理等,才能游刃有余地将其用于现有的项目开发或老系统改造中。 而这些技术有一个共同的特点,就是全网都在大谈分布式,其实主要就是因为数据量的爆发增长,我们的网站等应用承担了他本不应该承受的压力,这个时候,中国古人的训诫就起了很大的作用:众人拾柴火焰高,团结就是力量,所以,将压力分散到多个不同的点上就可以解决这个问题,分布式由此产生 我们现在看一下分布式系统到底是怎么回事? 分布式系统 分布式系统是其组件分布在连网的计算机上,组件之间通过传递消息进行通信和动作协调的系统。该定义引出了分布式系统的下列重要特征:组件的并发性、缺乏全局时钟、组件故障的独立性。 我们看一下现代分布式系统的几个例子,包括Web搜索、多人在线游戏和金融交易系统,也考察今天推动分布式系统发展的关键趋势:现代网络的泛在特性,移动和无处不在计算的出现,分布式多媒体系统不断增加的重要性,以及把分布式系统看成一-种实用系统的趋势。接着本章强调资源共享是构造分布式系统的主要动机。资源可以被服务器管理,由客户访问,或者它们被封装成对象,由其他客户对象访问。 构造分布式系统的挑战是处理其组件的异构性、开放性(允许增加或替换组件)、安全性、可伸缩性

Hadoop框架:单服务下伪分布式集群搭建

时光总嘲笑我的痴心妄想 提交于 2020-10-01 13:41:16
本文源码: GitHub·点这里 || GitEE·点这里 一、基础环境 1、环境版本 环境:centos7 hadoop版本:2.7.2 jdk版本:1.8 2、Hadoop目录结构 bin目录:存放对Hadoop的HDFS,YARN服务进行操作的脚本 etc目录:Hadoop的相关配置文件目录 lib目录:存放Hadoop的本地库,提供数据压缩解压缩能力 sbin目录:存放启动或停止Hadoop相关服务的脚本 share目录:存放Hadoop的依赖jar包、文档、和相关案例 3、配置加载 vim /etc/profile # 添加环境 export JAVA_HOME=/opt/jdk1.8 export PATH=$PATH:$JAVA_HOME/bin export HADOOP_HOME=/opt/hadoop2.7 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin # 退出刷新配置 source /etc/profile 二、伪集群配置 以下配置文件所在路径:/opt/hadoop2.7/etc/hadoop,这里是Linux环境,脚本配置sh格式。 1、配置hadoop-env root# vim hadoop-env.sh # 修改前 export JAVA_HOME= # 修改后

Hadoop环境配置与测试

陌路散爱 提交于 2020-10-01 13:17:40
Hadoop环境配置与测试 前面的实验我们做好了Linux环境和Hadoop环境的准备与配置工作,因此这一实验我们在上一实验的基础上进行Hadoop环境的配置和测试。 Hadoop环境搭建前的Linux环境安装与配置 https://blog.csdn.net/weixin_43640161/article/details/108614907 Linux下JDK软件的安装与配置 https://blog.csdn.net/weixin_43640161/article/details/108619802 掌握Linux下Eclipse软件的安装与配置 https://blog.csdn.net/weixin_43640161/article/details/108691921 熟悉Hadoop的下载与解压 https://blog.csdn.net/weixin_43640161/article/details/108697510 Hadoop的安装方式有三种,分别是单机模式,伪分布式模式,分布式模式。 • 单机模式:Hadoop 默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。 • 伪分布式模式:Hadoop可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为NameNode

Spark核心之Spark Streaming

非 Y 不嫁゛ 提交于 2020-10-01 09:08:24
前面说到Spark的核心技术的时候,有和大家说过,有五大核心技术,不知道大家还记不记得; 给大家回忆下,这五大核心技术:分布式计算引擎 Spark Core 、基于Hadoop的SQL解决方案 SparkSQL 、可以实现高吞吐量、具备容错机制的准实时流处理系统 Spark Streaming 、分布式图处理框架 Spark GraphX 和构建在Spark上的分布式机器学习库 Spark MLlib ,现在应该有个印象了吧,其它的我就不多说了,今天主要是对Spark Streaming做个简单介绍,以便理解。 Spark Streaming理解 Spark Streaming 是核心 Spark API 的扩展,支持可伸缩、高吞吐量、容错的实时数据流处理。数据可以从许多来源获取,如 Kafka、Flume、Kinesis 或 TCP sockets,可以使用复杂的算法处理数据,这些算法用高级函数表示,如 map、reduce、join 和 window。 最后,处理后的数据可以推送到文件系统、数据库和活动仪表板。实际上,还可以将 Spark 的 MLlib 机器学习和 GraphX 图形处理算法应用于数据流。Spark Streaming 处理的数据流如下图所示。 流是什么 ? 简单理解,就好比水流,是不是有源头,但不知道终点,有始没有终,你永远不知道水流什么时候结束

CAP BASE 最终一致性

血红的双手。 提交于 2020-10-01 08:45:55
女主宣言 1998年,加州大学的计算机科学家 Eric Brewer 提出分布式系统有三个指标,即CAP,而这三个指标不能同时做到。今天小编就为大家分享分布式相关理论,希望能对大家有所帮助。 PS:丰富的一线技术、多元化的表现形式,尽在“ 360云计算 ”,点关注哦! 1 前言 CAP、BASE、最终一致性是NoSQL数据库的三大理论基石。 2 CAP理论 CAP理论是一个非常知名的理论。在进行分布式系统设计的时候,我们一定会涉及到三个方面的性质。哪三个方面呢? C : 一致性(Consistency)。指任何一个读操作总能读到之前完成的写操作的结果。也就是说在我们分布式环境中,多点的数据必须是一致的。所有节点在同一时间要具有相同的数据。 A : 可用性(Availability)。指快速的获取数据,可以在确定时间内返回操作结果,保证每个请求不管成功还是失败都有响应。 P : 分区容忍性(Partition tolerance)。指当网络出现分区的情况(即系统中的一部分节点无法和其他节点进行通信)分离的系统也能够正常运行。即:系统中任意信息丢失不会影响系统正常运作。 我们理想的目标是:希望设计一个分布式系统能够同时满足CAP。但是理论和实践都证明,这是不可能的,鱼和熊掌不可兼得。只能三者取其二,必须要牺牲一个性质,来成就另外两个性质。 CAP Theorem