分布式存储

ceph分布式存储

孤街醉人 提交于 2019-12-04 07:03:29
存储分类: DAS:直连存储 ide线 sata线 usd线 sas线 NAS:网络附加存储 nfs samba ftp SAN:存储区域网络 issci SDS:软件定义存储 ceph ceph组件:OSD存储设备 Monitors集群监控组件 RGW对象存储网关 MDS存放文件系统的元数据 注:montiitors至少需要3台 因为过半原则超过一半几台宕机整个集群都不能用了 例: 有三台机 41(node1) 42 (node2) 43 (node3) 1.部署ceph集群 环境准备 配置yum源 集群几台无密码连接(包括自己免密自己) ssh-keygen for i in 41 42 43 ; do ssh-copy-id 192.168.1.$i ; done /etc/hosts 域名解析 (三台机都做) vim /etc/hosts 192.168.1.41 node1 192.168.1.42 node2 192.168.1.43 node3 for i in 41 42 43 ; do scp /etc/hosts 192.168.1.$i :/etc/hosts ; done 配置NTP服务时间同步 vim /etc/chrony.conf server 192.168.1.254 iburst systemclt restart chronyd for i

分布式文件系统----GridFS

人走茶凉 提交于 2019-12-04 02:26:05
GridFS研究   GridFS是MongoDB提供的用于持久化存储文件的模块,CMS使用MongoDB存储数据,使用GridFS可以快速集成开发。 它的工作原理是:   在GridFS存储文件是将文件分块存储,文件会按照256KB的大小分割成多个块进行存储,GridFS使用两个集合(collection)存储文件,一个集合是chunks,用于存储文件的二进制数据;一个集合是files,用于存储文件的元数据信息(文件名称、块大小、上传时间等信息)。从GridFS中读取文件要对文件的各各块进行组装、合并。 详细参考:https://docs.mongodb.com/manual/core/gridfs/ 来源: https://www.cnblogs.com/yanxiaoge/p/11828457.html

GlusterFS分布式文件系统原理

自闭症网瘾萝莉.ら 提交于 2019-12-04 00:59:46
GlusterFS概述 GlusterFS(Gluster File System)是一个开源的分布式文件系统,主要由Z RESEARCH公司负责开发、是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,在存储方面具有强大的横向扩展能力,通过扩展不同的节点可以支持数PB存储容量和处理数干台客户端。GlusterFS借助TCP/IP或InfiniBand RDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间及无元的设计,可为各种不同的数据负载提供优异的性能。 GlusterFS主要由存储服务器(Block Server)、客户端及NFS/Samba存储网关(可选,根据需要选择使用)组成,GlusteFS架构中最大的设计特点是没有元数据服务器组件,这有助于提升整个系统的性能、可靠性和稳定性。 GlusterFS主要特征如下: 扩展性和高性能 高可用性 全局统一命名空间 弹性哈希算法 弹性卷算法 基于标准协议 GlusterFS的卷类型: GlusterFS支持七种卷,分布式卷、条带卷、复制卷、分布式条带卷、分布式复制卷、条带复制卷和分布式条带复制卷,这七种卷可以满足不同应用对高性能、高可用的需求。 1.分布式卷 分布式卷是GlusterFS的默认卷,在创建卷时,默认选项是创建分布式卷

FastDFS-分布式存储集群部署

家住魔仙堡 提交于 2019-12-03 23:07:15
什么是FastDFS? FastDFS是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件(建议范围:4KB < file_size < 500MB)为载体的在线服务,如相册网站、视频网站等等。 FastDFS架构 FastDFS的工作流程 上传文件 上传的流程: client询问tracker上传到的storage tracker返回一台可用的storage client直接和storage通信,完成文件上传 选择tracker server 集群中tracker之间是对等关系,client在上传文件时可以使用任意一个tracker 选择存储group 当tracker接收到上传文件的请求的时候,会为该文件分配一个可以存储的group。目前支持选择的group的规则有: Round robin,轮询 Sepcified group,上传的时候指定某个group Load balance,生成存储空间较多的group优先 选择storage server 当选定group后,tracker会在group内选择一个storage server给client,目前支持选择server的规则有: Round robin,轮询(默认) 根据IP地址进行排序,选择第一个服务器(IP地址最小者) 根据优先级进行排序,上传优先级由storage

数据库(分库分表)中间件对比

非 Y 不嫁゛ 提交于 2019-12-03 15:22:28
数据库(分库分表)中间件对比 https://www.cnblogs.com/cangqiongbingchen/p/7094822.html 基本概念:分区,分片,分表,分库 分区:对业务透明,分区只不过把存放数据的文件分成了许多小块,例如mysql中的一张表对应三个文件.MYD,MYI,frm。 根据一定的规则把数据文件(MYD)和索引文件(MYI)进行了分割,分区后的表呢,还是一张表。分区可以把表分到不同的硬盘上,但不能分配到不同服务器上。 优点:数据不存在多个副本,不必进行数据复制,性能更高。 缺点:分区策略必须经过充分考虑,避免多个分区之间的数据存在关联关系,每个分区都是单点,如果某个分区宕机,就会影响到系统的使用。 分片:对业务透明,在物理实现上分成多个服务器,不同的分片在不同服务器上 个人感觉跟分库没啥区别,只是叫法不一样而已,值得一提的是关系型数据库和nosql数据库分片的概念以及处理方式是一样的吗? 请各位看官自行查找相关资料予以解答 分表:当数据量大到一定程度的时候,都会导致处理性能的不足,这个时候就没有办法了,只能进行分表处理。也就是把数据库当中数据根据按照分库原则分到多个数据表当中, 这样,就可以把大表变成多个小表,不同的分表中数据不重复,从而提高处理效率。 分表也有两种方案: 1. 同库分表:所有的分表都在一个数据库中,由于数据库中表名不能重复

Session机制详解及分布式中Session共享解决方案

旧巷老猫 提交于 2019-12-03 08:54:49
一、为什么要产生Session   http协议本身是无状态的,客户端只需要向服务器请求下载内容,客户端和服务器都不记录彼此的历史信息,每一次请求都是独立的。   为什么是无状态的呢?因为浏览器与服务器是使用socke套接字进行通信,服务器将请求结果返回给浏览器之后,会关闭当前的socket链接,而且服务器也会在处理页面完毕之后销毁页面对象。   然而在Web应用的很多场景下需要维护用户状态才能正常工作(是否登录等),或者说提供便捷(记住密码,浏览历史等),状态的保持就是一个很重要的功能。因此在web应用开发里就出现了保持http链接状态的技术:一个是cookie技术,另一种是session技术。 二、Session有什么作用,如何产生并发挥作用   要明白Session就必须要弄明白什么是Cookie,以及Cookie和Session的关系。   1、什么是Cookie   Cookie技术是http状态保持在客户端的解决方案,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。   2、Cookie的产生   当用户首次使用浏览器访问一个支持Cookie的网站的时候,用户会提供包括用户名在内的个人信息并且提交至服务器;接着,服务器在向客户端回传相应的超文本的同时也会发回这些个人信息

分布式cookie-session的实现(spring-session)

房东的猫 提交于 2019-12-03 07:05:29
1 session存储策略 存储,即在后台使用session的setAttribute,getAttribute等方法时,这些内部存放的数据最终存储至什么位置。比如在默认的tomcat实现中,相应的数据即存储在内存中,并在停止之后会序列化至磁盘中。 可以使用内存存储和第三方存储,如redis。对于集群式的session存储,那么肯定会使用第三方存储的实现。 在spring-session中,对session存储单独作了一个定义,但定义上基本保证与http session一致,主要的目的在于它可以支持在非http的环境中模拟使用。因此不直接使用http session接口。 先看定义: public interface Session { /** 获取惟一的id,可以理解为即将每个session当作一个实体对象 */ String getId(); <T> T getAttribute(String attributeName); Set<String> getAttributeNames(); void setAttribute(String attributeName, Object attributeValue); void removeAttribute(String attributeName); } 从这个定义来看,如果要使用httpSession

Ceph分布式存储(一)

匿名 (未验证) 提交于 2019-12-03 00:43:02
Ceph分布式存储(一) 一、概述 Ceph是可靠的、可扩展的、统一的、分布式的存储系统。可以同时提供对象存储RADOSGW(Reliable、Autonomic、Distributed、Object Storage Gateway)、块存储RBD(Rados Block Device)、文件系统存储Ceph FS(Ceph Filesystem)3种功能。 2、Ceph应用场景 Ceph可以提供对象存储、块设备存储和文件系统服务,其对象存储可以对接网盘(owncloud)应用业务等;其块设备存储可以对接(IaaS),当前主流的IaaS运平台软件,如:OpenStack、CloudStack、Zstack、Eucalyptus等以及kvm等。 3、ceph功能组件 4、Ceph核心组件 OSD(Object Storage Device): 主要功能包括存储数据、处理数据的复制、恢复、回补、平衡数据分布,并将一些相关数据提供给ceph monitor。例如ceph OSD心跳等。一个ceph存储集群,至少需要两个Ceph OSD来实现active+clean健康状态和有效的保存数据的双副本(默认情况下是双副本,可以调整)。注意:每一个disk、分区都可以成为一个OSD。 Monitor: Ceph的监控器,主要功能是维护整个集群健康状态,提供一致性的决策。 MDS(Metadata

分布式并行计算MapReduce

匿名 (未验证) 提交于 2019-12-02 23:40:02
分布式并行计算MapReduce 一、用自己的话阐明Hadoop平台上HDFS和MapReduce的功能、工作原理和工作过程。 1.HDFS: Hadoop Distributed File System Hadoop分布式文件系统 1.1功能: 1.兼容廉价的硬件设备。2.流数据的读写。3.大数据集。4.简单的文件模型。5.强大的夸平台兼容性。 1.2工作原理:客户端要向HDFS写数据,首先要跟namenode通信以确认可以写文件并获得接收文件block的datanode,然后客户端按顺序将文件逐个block传递给相应datanode,并由接收到block的datanode负责向其他datanode复制block的副本。 1.3工作过程: 2.MapReduce 2.1功能:MapReduce是一种并行可扩展计算模型,并且有较好的容错性,主要解决海量离线数据的批处理。实现下面目标 易于编程、良好的扩展性、高容错性 2.2工作原理:MapReduce是一种可用于数据处理的编程框架。MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是"任务的分解与结果的汇总"。 在分布式计算中,MapReduce框架负责处理了并行编程中分布式存储、工作调度、负载均衡

海量图片的分布式存储及负载均衡研究(浅析)

半世苍凉 提交于 2019-12-02 19:11:04
摘 要:针对海量图片给网站带来的访问速度下降、性能压力增大和I/O瓶颈等问题,提出一种海量图片的分布式存储及负载均衡技术。通过把图片数据和 网站内容分开部署、在数据库中记录和维护图片服务器状态信息等方法实现图片和页面数据的分离。实验结果表明,该技术能提高网站的访问速度和运行效率,并可 动态增加图片服务器的数量满足日益增加的性能需求。   关键词:海量图片;分布式存储;负载均衡   【Abstract】Aiming at the problems of the mass images can cause to Web site such as lower access speed, more performance pressure, I/Operformance bottle-neck, etc., a technology of distributed store and load balance for mass images is proposed. By the means of deploying Website pages and images separately and recording status of image servers in database, solves the problem of separation for image data and