分布式处理

常见分布式文件系统

蹲街弑〆低调 提交于 2019-11-28 04:26:05
分布式文件系统: 分布式文件系统 (Distributed File System) 是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机 / 服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。例如,用户可以 " 发表 " 一个允许其他客户机访问的目录,一旦被访问,这个目录对客户机来说就像使用本地 驱动器 一样。(服务器间的数据访问从一对多变为多对多) (1)原始的文件管理系统图: 一、MooseFS(MFS)文件系统 MFS 文件系统结构 : (1)包含 4 种角色 : 管理服务器 managing server (master) 元数据日志服务器 Metalogger server ( Metalogger ) 数据存储服务器 data servers (chunkservers) 客户机挂载使用 client computers (2) 4 种角色作用 : 管理服务器 : 负责各个数据存储服务器的管理 , 文件读写调度 , 文件空间回收以及恢复 . 多节点拷贝 元数据日志服务器 : 负责备份 master 服务器的变化日志文件,文件类型为 changelog_ml.*.mfs ,以便于在 master server 出问题的时候接替其进行工作

分布式监控系统

痴心易碎 提交于 2019-11-28 04:23:56
在一个大型分布式系统中(一个完备的云计算系统也是一个巨无霸的分布式系统) 任何一个client的请求调用,会在分布式系统中产生上百次的调用(各种缓存、中间件、数据库、微服务),一旦一个请求异常;那具体到哪个系统服务异常就变得很重要的;【在分布式监控系统比较低级时,比如只能监控某一个微服务的运行情况:这时就需要一些人力来保证整个链路的问题的及时发现,一个人维护100个系统的稳定性,知道哪个系统是否异常,通过这种方式来第一时间知晓哪个系统出现问题】。如果开发一个完善的分布式系统,可以清晰、直观的看到任何一个请求在分布式系统里面任何一个调用的详细情况,就可以在第一时间进行发现问题,这样效率很高! 那怎么样设计和开发一个分布式跟踪监控系统呢?下面我们就慢慢说来: 1 分布式调用跟踪和调用链的介绍 文章基于Goolge 的分布式调用系统Dapper 的理解来讲的,如果有不正确的请指正: 分布式调用跟踪 :就是前端的一次请求产生的分布式调用汇总起来分析;同一次前端请求产生的网络调用就组成了调用链 调用链:调用链一般用树壮结构来展示的,一个调用链的入口开始,根据调用的时间顺序,依次用展示出来,并显示每次调用的状态和耗费的时间latency 调用链的一个重要的信息就是:访问各个节点的先后顺序、节点的状态是否正常、节点的latency 2. 调用链实现原理简介 因为同一时间中间件的调用有很多

网络操作系统和分布式操作系统的区别

北城以北 提交于 2019-11-28 04:23:16
一、网络操作系统 网络操作系统把计算机网络中的各台计算机有机地结合起来,提供一种统一、经济而有效的使用各台计算机的方法,实现各个计算机之间的互相传送数据。网络操作系统最主要的特点是网络中各种资源的共享以及各台计算机之间的通信。 二、分布式操作系统 分布式计算机系统是由多台计算机组成并满足下列条件的系统:系统中任意两台计算机通过通信方式交换信息;系统中的每一台计算机都具有同等的地位,即没有主机也没有从机; 每台计算机上的资源为所有用户共享;系统中的任意若千台计算机都可以构成一个子系统,并且还能重构;任何工作都可以分布在几台计算机上,由它们并行工作、协同完成。用于管理分布式计算机系统的操作系统称为分布式计算机系统。该系统的主要特点是:分布性和并行性。分布式操作系统与网络操作系统本质上的不同之处在于分布式操作系统中,若干台计算机相互协同完成同一任务。 三、分布式有什么好处? (1)分布性。分布式操作系统的处理和控制功能均为分布式的;而网络操作系统虽具分布处理功能,但其控制功能却是集中在某个或某些主机或网络服务器中,即集中式控制方式。 (2)并行性。分布式操作系统具有任务分配功能,可将多个任务分配到多个处理单元上,使这些任务并行执行,从而加速了任务的执行;而网络操作系统通常无任务分配功能,网络中每个用户的一个或多个任务通常都在本地计算机上处理。 (3)透明性

云计算 Cloud Computing 简介

倾然丶 夕夏残阳落幕 提交于 2019-11-28 02:35:14
http://hi.baidu.com/hieda/blog/item/47a772fa4837e79159ee9039.html 云计算 Cloud Computing 简介   最近,很多大公司如MicroSoft、Google、IBM等都在炒作一个概念就是 云计算 ,如IBM跟欧盟合作开展云计算,欧盟拨款1.7亿万欧元;Google与IBM 联合力推云计算模式;Yahoo! 也把宝押在了云计算上;我国也在无锡跟IBM公司联合建立了一个云计算中心;有人说微软收购Yahoo!一个重要的考虑就是在Yahoo在云计算方面的领先地位,多少有点儿道理。那么,什么是云计算哪?我看到有一位推广自由开源的老先生把云计算(Cloud Computing)翻译成“云雾计算”着实是可笑,好多网友也在问什么是云计算,什么是雾计算,说明好多人对于云计算是一头雾水。云计算可不是“云雨”,可不是云山雾罩。   “云计算”(Cloud Computing)是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,或者说是这些计算机科学概念的商业实现。许多跨国信息技术行业的公司如IBM、Yahoo和Google等正在使用云计算的概念兜售自己的产品和服务。   云计算这个名词可能是借用了量子物理中的“电子云”

分布式系统的异常、一致性与衡量指标

∥☆過路亽.° 提交于 2019-11-28 02:35:13
1.1 模型 节点 在具体的工程项目中,一个节点往往是一个操作系统上的进程。在本文的模型中,认为节点是一个完整的、不可分的整体,如果某个程序进程实际上由若干相对独立部分构成,则在模型中可以将一个进程划分为多个节点。 异常 机器宕机 :机器宕机是最常见的异常之一。在大型集群中每日宕机发生的概率为千分之一左右,在实践中,一台宕机的机器恢复的时间通常认为是24 小时,一般需要人工介入重启机器。 网络异常 :消息丢失,两片节点之间彼此完全无法通信,即出现了“网络分化”;消息乱序,有一定的概率不是按照发送时的顺序依次到达目的节点,考虑使用序列号等机制处理网络消息的乱序问题,使得无效的、过期的网络消息不影响系统的正确性;数据错误;不可靠的TCP,TCP 协议为应用层提供了可靠的、面向连接的传输服务,但在分布式系统的协议设计中不能认为所有网络通信都基于TCP 协议则通信就是可靠的。TCP协议只能保证同一个TCP 链接内的网络消息不乱序,TCP 链接之间的网络消息顺序则无法保证。 分布式三态 :如果某个节点向另一个节点发起RPC(Remote procedure call)调用,即某个节点A 向另一个节点B 发送一个消息,节点B 根据收到的消息内容完成某些操作,并将操作的结果通过另一个消息返回给节点A,那么这个RPC 执行的结果有三种状态:“成功”、“失败”、“超时(未知)”

分布式、多线程、高并发都不懂,拿什么去跳槽

余生颓废 提交于 2019-11-28 02:23:14
当提起这三个词的时候,是不是很多人都认为分布式=高并发=多线程? 当面试官问到高并发系统可以采用哪些手段来解决,或者被问到分布式系统如何解决一致性的问题,是不是一脸懵逼? 确实,在一开始接触的时候,不少人都会将三者混淆,误以为所谓的分布式高并发的系统就是 能同时供海量用户访问 ,而采用多线程手段不就是可以 提供系统的并发能力 吗? 实际上,他们三个总是相伴而生,但侧重点又有不同。 什么是分布式? 分布式更多的一个概念, 是为了解决单个物理服务器容量和性能瓶颈问题而采用的优化手段。 该领域需要解决的问题极多,在不同的技术层面上,又包括: 分布式文件系统、分布式缓存、分布式数据库、分布式计算 等,一些名词如Hadoop、zookeeper、MQ等都跟分布式有关。 从理念上讲,分布式的实现有两种形式: 水平扩展: 当一台机器扛不住流量时,就通过添加机器的方式,将流量平分到所有服务器上,所有机器都可以提供相当的服务; 垂直拆分: 前端有多种查询需求时,一台机器扛不住,可以将不同的需求分发到不同的机器上,比如A机器处理余票查询的请求,B机器处理支付的请求。 什么是高并发? 相对于分布式来讲,高并发在解决的问题上会集中一些,其反应的是 同时有多少量 : 比如在线直播服务,同时有上万人观看。 高并发可以通过分布式技术去解决,将并发流量分到不同的物理服务器上。 但除此之外,还可以有很多其他优化手段

zookeeper基础

谁说我不能喝 提交于 2019-11-28 01:36:31
1. zookeeper的由来   Zookeeper 最早起源于雅虎研究院的一个研究小组。在当时,研究人员发现,在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系统往往都存在分布式单点问题。   所以,雅虎的开发人员就试图开发一个通用的无单点问题的分布式协调框架,以便让开发人员将精力集中在处理业务逻辑上。   关于“ZooKeeper”这个项目的名字,其实也有一段趣闻。在立项初期,考虑到之前内部很多项目都是使用动物的名字来命名的(例如著名的Pig项目),雅虎的工程师希望给这个项目也取一个动物的名字。时任研究院的首席科学家 Raghu Ramakrishnan 开玩笑地说:“在这样下去,我们这儿就变成动物园了!”此话一出,大家纷纷表示就叫动物园管理员吧,因为各个以动物命名的分布式组件放在一起,雅虎的整个分布式系统看上去就像一个大型的动物园了。   而 Zookeeper 正好要用来进行分布式环境的协调,于是,Zookeeper 的名字也就由此诞生了。 2. zookeeper概览   ZooKeeper 是一个开源的分布式协调服务。ZooKeeper 框架最初是在“Yahoo!"上构建的,用于以简单而稳健的方式访问他们的应用程序。   后来,Apache ZooKeeper 成为 Hadoop,HBase 和其他分布式框架使用的有组织服务的标准。  

分布式锁

孤者浪人 提交于 2019-11-28 01:29:36
单点故障问题 一个服务阻塞或者挂机导致其余服务都不可用的情况就是单点故障。 分布式系统中的单点故障,分布式系统通常采用主从模式,一个主控机连接多个处理节点,当主节点出现问题导致整个系统出现瘫痪。 解决单点故障需要用到分布式锁来解决,zookeeper是一种分布式锁的解决方案 Zookeper 既是一个服务注册于发现框架也是分布式协调技术; 为啥需要分布式锁 防止分布式系统中多个进程相互干扰;需要通过分布式协调技术进行调度,其核心就是实现一个分布式锁; Master 选举 这些主节点首先向zookeeper注册,首先进行编号,编号最小的成为主节点;主节点挂了,所注册的节点自动从zookeeper中删除,剩下编号最小的自动成为主节点;“多主问题” “ 什么是zookeeper” zookeeper是服务注册与发现中心,主要用来解决分布式锁的问题,解释一下单点故障问题,分布式系统中本来有一个主服务器下面有若干个从服务器,主服务器出现问题,从服务器因为主服务器无法工作;分布式锁就是用来解决单点故障问题;传统解决方案是一个主节点一个备用节点,备用节点定时会ping主节点,ping不通取代主节点,但网络震荡容易造成丢包,出现双主问题;为了解决这个问题我们引入了分布式锁技术而zookeeper就是为了解决分布式锁问题; 即所有的服务启动的时候都要向zookeeper注册

HDFS详解

ε祈祈猫儿з 提交于 2019-11-28 01:21:19
【一】HDFS简介 HDFS的基本概念 1.1、数据块(block) HDFS(Hadoop Distributed File System)默认的最基本的存储单位是64M的数据块。 和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。 不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。 ------------------------------------------------------------------------------------------- 内容比较多,所以本区整理如下,欢迎下载学习: 附件 : HDFS简介.pdf (2010-12-1 22:58:56, 516.37 K) 该附件被下载次数 5 ------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- 【二】HDFS和KFS 比较 两者都是GFS的开源实现,而HDFS 是Hadoop 的子项目,用Java实现

Hadoop大数据平台基础

本秂侑毒 提交于 2019-11-28 00:49:44
官网:http://hadoop.apache.org/ 文章目录 Hadoop简介 核心架构 HDFS NameNode DataNode 文件操作 Linux 集群 Hadoop和高效能计算、网格计算的区别 发展现状 MapReduce与Hadoop之比较 Hadoop生态圈 概况 HDFS(Hadoop分布式文件系统) Mapreduce(分布式计算框架) HBASE(分布式列存数据库) Zookeeper(分布式协作服务) HIVE(数据仓库) Pig(ad-hoc脚本) Sqoop(数据ETL/同步工具) Flume(日志收集工具) Mahout(数据挖掘算法库) Oozie(工作流调度器) Yarn(分布式资源管理器) Mesos(分布式资源管理器) Tachyon(分布式内存文件系统) Tez(DAG计算模型) Spark(内存DAG计算模型) Giraph(图计算模型) GraphX(图计算模型) MLib(机器学习库) Streaming(流计算模型) Kafka(分布式消息队列) Phoenix(hbase sql接口) ranger(安全管理工具) knox(hadoop安全网关) falcon(数据生命周期管理工具) Ambari(安装部署配置管理工具) Hadoop简介 Hadoop实现了一个 分布式文件系统(Hadoop Distributed File