分布式云平台 存储管理 hdfs 一些想法及问题

王宁 2014-12-17 04:54:03
最近在做关于 分布式云平台视频存储 及管理 这块,自己一个人研究的好纠结,在这里想请教大家一些问题,或者看看我这些想法的可行性,给一些建议。

1、先说一下视频存储这一块:
①、用户上传随意视频,我j2ee实现视频的上传,首先用户把视频上传到web服务器上(作为一个缓冲区),然后使用hdfs的api将web服务器上的视频上传到hdfs。(不知道这样做合不合适,为什么不直接使用hdfs api直接上传到hdfs呢,我试过,直接使用hdfs无法获取本地 视频的路径,从而无法直接上传到hdfs,这个地方您有什么好的建议 希望指出 谢谢!)。
②、用户通过监控摄像头获取视频,获取的视频保存到web服务下,然后在上传到hdfs上。思路跟上面差不多。
2、视频管理 (点播 )
①、视频点播,已经存在的视频,这块我想实现 一边缓冲一边播放,我目前做的是,首先我从hdfs上缓冲视频文件到web服务器上,相当于下载视频文件到web服务器,然后前台我用ckplayer视频插件去播放下载到web服务器上的视频。
②、视频在线直播,获取实时视频,我想搭建red5流媒体服务器来进行实现,这块、。
③、既然说到了red5流媒体服务器,然后我就想,为什么不通过red5服务器去获取hdfs上的视频,然后通过ckpalyer 去调用red5流媒体服务器上视频呢??? 这样做 跟去访问web服务器上视频 有什么区别???目前这块没弄明白,请高人指点!
(在补充一下我的意思,就是通过使用hdfs api把视频下载到red5服务器上,然后用ckplayer 去播放或者使用flex去播放,这块还有一个问题 我本打算 从hdfs返回一个inputstream流 给red5服务器,然后返回到前台,但是返回inpustream流没有实现成功,只好选择本方法 去下载)
目前就这些想法 和问题,希望大家 给写建议 谢谢大家了!
...全文
447 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
w123456wa 2015-01-02
  • 打赏
  • 举报
回复
red5播放hdfs上的视频 这块实现了吗?大神,我也有这方面的需求。一直没有搞定 还望提供思路 多谢了!!
mopishv0 2014-12-18
  • 打赏
  • 举报
回复
1 可以用hdfs的api直接生成流,保存到hdfs上,,还可以带lzo压缩,需要注意的是上传失败时,及时删除垃圾文件 2 同1,貌似lz对hdfs api只知道cp相关的? 番外: 短视频(小于一个block大小的),最好多个进行合并。
大数据的存储管理技术 作者:欧艳鹏 来源:《电子技术与软件工程》2017年第21期 摘 要云计算技术、物联网等技术快速发展,多样化已经成为数据信息的一项显著特点,如 图片、音频、视频信息等。为充分发挥信息应用价值,有效存储已经成为人们关注的热 点。为了有效应对现实世界中复杂多样性的大数据处理需求,需要针对不同的大数据应 用特征,从多个角度、多个层次对大数据进行存储和管理。本文主要分析了大数据面临 的存储管理问题以及简述了存储管理关键技术。 【关键词】大数据 分布式文件系统 分布式数据库 NoSQL数据库 云数据库 1 大数据面临的存储管理问题 1.1 存储规模大 大数据的一个显著特征就是数据量大,起始计算量单位至少是PB,甚至会采用 更大的单位EB或ZB,导致存储规模相当大。 1.2 种类和来源多样化,存储管理复杂 随着互联网、物联网、移动互联技术的发展,以电子商务(如京东、天猫、阿 里巴巴等)、社交网络(微信、微博等)为代表的新型web2.0 应用迅速普及,大数据主要来源于搜索引擎服务、电子商务、社交网络、音视频、在线 服务、个人数据业务、地理信息数据、传统企业、公共机构等领域,因此数据呈现方法 众多,可以是结构化、半结构化和非结构化的数据形态,不仅使原有的存储模式无法满 足数据时代的需求,还导致存储管理更加复杂。 1.3 对数据服务的种类和水平要求高 大数据的价值密度相对较低,以及数据增长速度快、处理速度快、时效性要求 也高,在这种情况下如何结合实际的业务,有效地组织管理、存储这些数据以能从浩瀚 的数据中,挖掘其更深层次的数据价值呢,需要亟待解决。 大规模的数据资源蕴含着巨大的社会价值,有效管理数据,对国家治理、社会 管理、企业决策和个人生活、学习将带来巨大的作用和影响,因此在大数据时代,必须 解决海量数据的高效存储问题。 2 大数据存储管理的关键技术分析 2.1 分布式文件系统 分布式文件系统是一种通过计算机网络实现在多台机器上进行分布式存储的文 件系统,它把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集 群,设计一般所采用的是"客户机/服务器"模式。分布式文件系统的设计需要重点考虑可 扩展性、可靠性、性能优化、易用性及高效元数据管理等关键技术。 当前大数据领域中,分布式文件系统的使用主要以Hadoop HDFS为主。HDFS采用了冗余数据存储,增强了数据可靠性,加快了数据传输速度,除此 之外,HDFS还具有兼容的廉价设备、流数据读写、大数据集、简单的数据模型、强大的 跨平台兼容性等特点。但HDFS也存在着自身的不足,比如不适合低延迟数据访问、无法 高效存储大量小文件和不支持多用户写入及任意修改文件等。 2.2 分布式数据库 分布式数据库HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库, 是谷歌BigTable的开源实现,主要用来存储半结构化和非结构化数据。HBase可以支持N ative Java API、HBase Shell等多种访问接口,可以根据具体应用场合选择相应的访问方式,而且相对于传统的 关系数据库来说,HBase采用了更加简单的数据模型,把数据存储为未经解释的字符串, 用户可以把不同格式的结构化数据和非结构化数据都序列化成字符串保存到HBase中,除 此之外在数据操作、存储模式、数据索引、数据维护和可伸缩性等方面都有了更易于实 现的方式。但HBase也存在着不支持事务等限制。 2.3 NoSQL数据库 对于NoSQL,当前比较流行的解释是"Not Only SQL",它所采用的数据模型并非传统关系数据库的关系模型,而是类似键值、列族、文 档等非关系模型。NoSQL数据库没有固定的表结构,一般也不会存在连接操作,也没有严 格遵守事务的原子性、一致性、隔离性和持久性。因此与传统关系数据库相比,NoSQL具 有灵活的可扩展性、灵活的数据模型、与云计算紧密融合和支持海量数据存储等特点。 但NoSQL数据库也存在很难实现数据的完整性、NoSQL的应用还不是很广泛、成熟度不高 、风险较大、缺乏难以体现业务的实际情况、增加了对于数据库设计与维护的难度等问 题。 目前NoSQL数据库数量很多,典型的NoSQL数据库通常包括键值数据库、列族数 据库、文档数据库和图数据库。键值数据库系统的典型代表包括BigTable、 Dynamo、Redis、Cassandra等。列族数据库系统的典型代表包括HadoopDB、GreenPlum等 。文档数据库系统的代表包括MongoDB、Coudibase等。图数据数据库系统的代表是Neo4 J、GraphDB等。 2.4 云数据库 云数据库技术是云计算的一项重要分支,是对云计算的具体运用。云数据库是 部署和虚拟化在云计算环境中的数据库。它极大地增强了数据库
⼤数据开源框架集锦 1 ⼤数据平台 Hadoop 离线数据的分布式存储和计算基础框架 分布式存储HDFS 离线计算引擎MapReduce 资源调度Apache YARN CDH 基于稳定版Hadoop及相关项⽬最成型的发⾏版本, 成为企业部署最⼴泛的⼤数据系统 可视化的UI界⾯中⽅便地管理 配置和监控Hadoop以及其它所有相关组件 简单来说将⼗⼏个hadoop开源项⽬集成在⼀起 HDP 基于hadoop⽣态系统开源组件构建的⼤数据分析平台 2 集群管理与监控 Cloudera Manager ⽤于部署和管理CDH集群的软件 Ambari Hadoop平台的管理软件,具备Hadoop组件的安装、管理、运维 3 ⽂件系统 HDFS 分布式⽂件系统 4 资源调度 YARN hadoop的资源管理和作业调度系统 5 协调框架 Zookeeper 分布式协调服务,解决分布式数据⼀致性⽅案 实现诸如数据发布 订阅、负载均衡、命名、集群管理 master节点管理 分布式锁和分布式队列 6 数据存储 Hbase 分布式⾯向列的NoSQL开源数据库 Cassandra 分布式的混合NoSQL数据库 ,还有C++版本ScyllaDB MongDB ⾯向⽂档的开源分布式数据库 Redis 开源的⽀持⽹络,基于内存可持久化⽇志,key-value数据库,可⽤于 数据库 缓存 消息中间件 Neo4j 开源⾼性能的NoSQL图形数据库 7 数据处理 MapReduce 分布式离线的计算框架 批处理 ⽇渐被spark和flink取代 Spark 通⽤的⼀站式计算框架 SparkCore批处理 SparkSQL交互式处理 SparkStreaming流处理 Spark Graphx图计算 Spark MLlib机器学习 Flink 流处理和批处理分布式数据处理框架 核⼼是⼀个流式的数据流执⾏引擎 类似于Spark 批处理 数据流处理 交互处理 图形处理和机器学习 Storm 分布式实时⼤数据处理系统 毫秒级别的实时数据处理能⼒ 实时分析的领导者 8 数据查询分析 Hive 基于hadoop的数据仓库,结构化 SparkSQL 处理结构化数据的spark组件 分布式的SQL查询引擎 Impala 实时交互SQL⼤数据查询引擎 Druid 实时⼤数据分析引擎 Elastic Search 分布式可扩展的实时搜索和分析引擎,基于Apache Lucene搜索引擎 9 数据收集 Flume 分布式海量⽇志采集、聚合和传输系统 Logstash 具有实时管道功能的开源数据收集引擎 10 数据交换 sqoop 数据迁移⼯具,⽤来在不同数据存储软件之间进⾏数据传输的开源软件 DataX 阿⾥巴巴开源的离线数据同步⼯具,⽤于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定 ⾼效的数据同步 11 消息系统 Pulsar 企业级分布式消息系统,有替代Kafka的趋势 Kafka 发布/订阅的消息系统,由Scala写成 RocketMQ 阿⾥巴巴分布式、队列模型的消息中间件 12 任务调度 Azkaban 批量⼯作流任务调度器,将所有正在运⾏的⼯作流的状态保存在其内存 Oozie 基于Hadoop的企业级⼯作流调度框架 将所有正在运⾏的⼯作流的状态保存SQL数据库 Cloudeara贡献给Apache的顶级项⽬ 13 数据治理 Ranger Hadoop 平台上并提供操作、监控、管理综合数据安全的框架 提供⼀个集中的管理机制,所有数据权限 Sentry Hadoop集群元数据和数据存储提供集中、细粒度的访问控制项⽬ 14 数据可视化 Kibana ⽤于和 Elasticsearch ⼀起使⽤的开源的分析与可视化平台 15 数据挖掘 Mahout 基于hadoop的机器学习和数据挖掘的⼀个分布式框架 Spark MLlib Spark的机器学习库 MADlib 基于SQL的数据库内置的可扩展的机器学习库 16 云平台技术 AWS S3 ⼀种对象存储服务,提供⾏业领先的可扩展性、数据可⽤性、安全性和性能 存储和保护各种⽤例数据 GCP Google提供的⼀套云计算服务 注册⼀个帐号,在分布在全球各地数⼗个google机房使⽤所有的基础架构服务

932

社区成员

发帖
与我相关
我的任务
社区描述
云计算 云存储相关讨论
社区管理员
  • 云存储
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧