分布式存储系统

分布式大数据系统概览(HDFS/MapReduce/Spark/Yarn/Zookeeper/Storm/SparkStreaming/Lambda/DataFlow/Flink/Giraph)

痴心易碎 提交于 2020-01-10 17:39:19
分布式大数据处理系统概览(一)   本博文主要对现如今分布式大数据处理系统进行概括整理,相关课程为华东师范大学数据科学与工程学院《大数据处理系统》,参考 大夏学堂 ,下面主要整理 HDFS/MapReduce/Spark/Yarn/Zookeeper/Storm/SparkStreaming/Lambda/DataFlow/Flink/Giraph 有关的内容。 分布式大数据处理系统大纲 分布式大数据处理系统概览(一): HDFS/MapReduce/Spark 分布式大数据处理系统概览(二): Yarn/Zookeeper 分布式大数据处理系统概览(三): Storm/SparkStreaming 分布式大数据处理系统概览(四): Lambda/DataFlow/Flink/Giraph   第一节部分主要总结分布式系统的目标、性质;简要介绍几种分布式计算的编程模型;介绍计算机进程与线程关系及远程调用方式;介绍文件系统DFS、介绍Hadoop的文件系统HDFS;介绍分布式计算批处理系统MapReduce和Spark。 0.绪论 0.1分布式系统的目标 0.2 大数据的五个特性(5V) (1)数量Volume (2)种类Variety (3)价值Value (4)真实性Veracity (5)速度Velocity 0.3 分布式计算生态圈 0.4分布式计算底层系统 (1

大规模分布式存储系统原理解析与架构实战-读书笔记1-概述

 ̄綄美尐妖づ 提交于 2020-01-09 16:19:25
大规模分布式存储系统原理解析与架构实战-读书笔记1-概述 Google、Amazon、Alibaba等互联网公司的成功催生了 云计算 和 大数据 这两个热门领域。而无论是云计算,大数据还是其他互联网应用,其后台基础设施的建设主要目标都是构建 低成本、高性能、可扩展、易用 的分布式系统。 分布式存储的概念 大规模分布式存储系统的概念: “分布式存储系统是大量普通PC服务器通过Internet互联,对外作为一个整体提供服务” 分布式存储系统的主要挑战: 数据,状态信息的持久化。要求在自动迁移,自动容错,并发读写的过程中保持一致性。 分布式存储的两个主要技术: 分布式系统 和 数据库 几个问题: 1 数据分布:如何将数据分布到多个服务器而且要数据分布均匀?如果进行跨服务器操作? 2 一致性:如何将数据的多个副本复制到不同服务器?且在异常情况下也能保持数据一致? 3 容错:如何检测到服务器故障?如何自动将出现错误的服务器的数据迁移到其他服务器? 4 负载均衡:新增服务器和集群正常运行中如何实现自动负载均衡?数据迁移过程中如何保证不影响已有服务? 5 事务与并发控制:如何实现分布式事务?如何实现多版本并发控制? 6 易用性:如何设计对外接口使系统容易使用?如何设计监控系统并将系统内部状态暴露给运维人员? 7 如何根据数据的特点设计合理的压缩/解压缩算法

分布式存储系统HBASE-API操作

时光总嘲笑我的痴心妄想 提交于 2019-12-28 02:27:47
上一篇介绍了HBase的基本概念,以及其在linux环境下的安装和交互,本文将继续介绍如何通过java和python来操作hbase。 在通过api操作hbase之前,首先要保证hadoop和hbase已经都启动了。 Java操作HBase 创建一个maven项目,添加基本的依赖: <properties> <hadoop.version>2.10.0</hadoop.version> <hbase.version>1.3.6</hbase.version> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hbase</groupId>

zookeeper的作用与机制

狂风中的少年 提交于 2019-12-14 13:13:53
参考地址: https://www.cnblogs.com/ultranms/p/9585191.html 在Zookeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. 这大概描述了Zookeeper主要可以干哪些事情:配置管理,名字服务,提供分布式同步以及集群管理。那这些服务又到底是什么呢?我们为什么需要这样的服务?我们又为什么要使用Zookeeper来实现呢,使用Zookeeper有什么优势?接下来我会挨个介绍这些到底是什么,以及有哪些开源系统中使用了。 配置管理 在我们的应用中除了代码外,还有一些就是各种配置。比如数据库连接等。一般我们都是使用配置文件的方式,在代码中引入这些配置文件。但是当我们只有一种配置,只有一台服务器,并且不经常修改的时候,使用配置文件是一个很好的做法,但是如果我们配置非常多,有很多服务器都需要这个配置,而且还可能是动态的话使用配置文件就不是个好主意了。这个时候往往需要寻找一种集中管理配置的方法,我们在这个集中的地方修改了配置,所有对这个配置感兴趣的都可以获得变更

hadoop简介

馋奶兔 提交于 2019-12-08 19:01:47
转: http://baike.baidu.com/link?url=HwhPVuqqWelWIr0TeSBGPZ5SjoaYb5_Givp9-rJN-PYbSTMlwpECSKvjzLBzUE7hn9VvmhDoKb5NNCPw1pCsTa Hadoop 是一个由Apache基金会所开发的 分布式系统 基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 [1] Hadoop实现了一个 分布式文件系统 (Hadoop Distributed File System),简称HDFS。HDFS有高 容错性 的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问 应用程序 的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。 Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。 [2] 中文名 海杜普 外文名 Hadoop 类 别 电脑程序 全 称 Hadoop Distributed File System 目录 1 起源 ▪ 项目起源 ▪

推荐!程序员整理的系统管理员资源大全

倾然丶 夕夏残阳落幕 提交于 2019-12-07 02:14:10
备份 备份软件 Amanda -客户端-服务器模型备份工具 Bacula - 另一个客户端-服务器模型备份工具 Backupninja -轻量级,可扩展的元数据备份系统 Backuppc -客户端-服务器模型备份工具和文件共享方案。 Burp -网络备份和还原程序 Duplicity -使用rsync算法加密的带宽-效率备份 Lsyncd -监控一个本地目录树的变化,然后产生一个进程去同步变化。默认使用rsync。 Rsnapshot -文件系统快照工具 SafeKeep -使用rdiff-backup,集中的,基于pull的备份 TarSnap - 具有一个开源客户端的安全备份服务 UrBackup -另一个客户端-服务器备份系统 DREBS - AWS EBS支持策略的备份脚本 克隆 克隆软件 Clonezilla -分区和磁盘镜像/克隆程序 Fog - 另一个计算机克隆解决方案 Redo Backup -简单的备份,恢复和还原 云计算 AppScale – 兼容Google App引擎的开源云计算软件. Archipel -使用Libvirt管理和监视虚拟机 CloudStack -创建,管理和部署基础云服务的云计算软件 Cobbler -Cobbler是一个Linux安装服务器,允许快速地构建网络安装环境 Eucalyptus -兼容AWS的开源私有云软件 Mesos

推荐!国外程序员整理的系统管理员资源大全 ()

你说的曾经没有我的故事 提交于 2019-12-06 11:54:44
推荐!国外程序员整理的系统管理员资源大全 2015-1-19 12:24 发布者: admin 微博分享 受其他程序员汇编 php 资源,kahun 在 Github 发起系统管理员相关的开源资源整理。 内容分类包括:备份/克隆软件、云计算/云存储、协作软件、配置管理、日志管理、监控、项目管理…… 当然也有系统管理员相关书籍。 备份 备份软件 Amanda -客户端-服务器模型备份工具 Bacula - 另一个客户端-服务器模型备份工具 Backupninja -轻量级,可扩展的元数据备份系统 Backuppc -客户端-服务器模型备份工具和文件共享方案。 Burp -网络备份和还原程序 Duplicity -使用rsync算法加密的带宽-效率备份 Lsyncd -监控一个本地目录树的变化,然后产生一个进程去同步变化。默认使用rsync。 Rsnapshot -文件系统快照工具 SafeKeep -使用rdiff-backup,集中的,基于pull的备份 TarSnap - 具有一个开源客户端的安全备份服务 UrBackup -另一个客户端-服务器备份系统 DREBS - AWS EBS支持策略的备份脚本 克隆 克隆软件 Clonezilla -分区和磁盘镜像/克隆程序 Fog - 另一个计算机克隆解决方案 Redo Backup -简单的备份,恢复和还原 云计算 AppScale

如何在高并发分布式系统中生成全局唯一ID

筅森魡賤 提交于 2019-12-04 05:41:52
最近公司用到,并且在找最合适的方案,希望大家多参与讨论和提出新方案。我和我的小伙伴们也讨论了这个主题,我受益匪浅啊…… 博文示例: GUID生成Int64值后是否还具有唯一性测试 Random生成高唯一性随机码 今天分享的主题是:如何在高并发分布式系统中生成全局唯一Id。 但这篇博文实际上是“半分享半讨论”的博文: 1) 半分享是我将说下我所了解到的关于今天主题所涉及的几种方案。 2) 半讨论是我希望大家对各个方案都说说自己的见解,更加希望大家能提出更好的方案。(我还另外提问在此: http://q.cnblogs.com/q/53552/ ) 我了解的方案如下…………………………………………………………………… 1、 使用数据库自增Id 优势:编码简单,无需考虑记录唯一标识的问题。 缺陷: 1) 在大表做水平分表时,就不能使用自增Id,因为Insert的记录插入到哪个分表依分表规则判定决定,若是自增Id,各个分表中Id各自增长就会重复 2) 在业务上操作父、子表(即关联表)插入时,需要在插入数据库 之前 获取max(id)用于标识父表和子表关系,若存在并发获取max(id)的情况,max(id)会同时被别的线程获取到。 3) DB数据记录都是可以根据ID号进行推测出来,对于一些数据敏感的场景,不建议采用 结论:适合小应用,无需分表,低并发。 2、 单独开一个数据库

Rook-运行于云原生环境的分布式存储系统

心不动则不痛 提交于 2019-12-03 23:18:44
Rook-运行于云原生环境的分布式存储系统 文档: https://rook.io/docs/rook/master/cluster-crd.html#node-updates What is Rook? Rook is an open source orchestrator for distributed storage systems running in cloud native environments. Rook turns distributed storage software into a self-managing, self-scaling, and self-healing storage services. It does this by automating deployment, bootstrapping, configuration, provisioning, scaling, upgrading, migration, disaster recovery, monitoring, and resource management. Rook uses the facilities provided by the underlying cloud-native container management, scheduling and

GlusterFS分布式存储系统

爱⌒轻易说出口 提交于 2019-12-01 21:41:09
分布式文件系统理论基础 分布式文件系统出现 计算机通过文件系统管理,存储数据,而现在数据信息爆炸的时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,已经不能满足目前的需求。 分布式文件系统可以有效解决数据的存储和管理难题,将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上,或者是从哪个节点中获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。 典型代表NFS NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。NFS的优点如下: (1)节约使用的磁盘空间 客户端经常使用的数据可以集中存放在一台机器上,并使用NFS发布,那么网络内部所有计算机可以通过网络访问,不必单独存储。 (2)节约硬件资源 NFS还可以共享软驱,CDROM和ZIP等的存储设备,减少整个网络上的可移动设备的数量。 (3)用户主目录设定 对于特殊用户,如管理员等,为了管理的需要,可能会经常登陆到网络中所有的计算机