Hadoop分布式存储
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop分布式存储相关的知识,希望对你有一定的参考价值。
参考技术A 为了降低整体的带宽消耗和读取延时,HDFS会尽量让读取程序读取离它最近的副本。如果在读取程序的同一个机架上有一个副本,那么就读取该副本。如果一个HDFS集群跨越多个数据中心,那么客户端也将首先读本地数据中心的副本Namenode启动后会进入一个称为安全模式的特殊状态。处于安全模式的Namenode是不会进行数据块的复制的。Namenode从所有的 Datanode接收心跳信号和块状态报告。块状态报告包括了某个Datanode所有的数据块列表。每个数据块都有一个指定的最小副本数。当Namenode检测确认某个数据块的副本数目达到这个最小值,那么该数据块就会被认为是副本安全(safely replicated)的;在一定百分比(这个参数可配置)的数据块被Namenode检测确认是安全之后(加上一个额外的30秒等待时间),Namenode将退出安全模式状态。接下来它会确定还有哪些数据块的副本没有达到指定数目,并将这些数据块复制到其他Datanode上
所有的HDFS通讯协议都是建立在TCP/IP协议之上。客户端通过一个可配置的TCP端口连接到Namenode,通过ClientProtocol协议与Namenode交互。而Datanode使用DatanodeProtocol协议与Namenode交互。一个远程过程调用(RPC)模型被抽象出来封装ClientProtocol和Datanodeprotocol协议。在设计上,Namenode不会主动发起RPC,而是响应来自客户端或 Datanode 的RPC请求
hadoop分布式存储-hadoop基础概念(毕业设计)
hadoop是一种用于海量数据存储、管理、分析的分布式系统。需要hadoop需要储备一定的基础知识:1、掌握一定的linux操作命令 2、会java编程。因此hadoop必须安装在有jdk的linux环境中。
linux环境可以用以下方式获取:1、安装linux操作系统 2、安装linux虚拟机 3、在阿里云、UniteStack上租一个云主机,创建linux环境,然后用putty去链接。
linux下jdk的安装:百度即可。
与hadoop相关联的一些基础知识:
Google大数据技术:
1.MapReduce:概念"Map(映射)"和"Reduce(归约)",它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
2.BigTable:是Google设计的分布式数据存储系统,用来处理海量的数据的一种非关系型的数据库
3.GFS:是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务。
hadoop革命性变
1.成本降低,能用PC机,不用大型机和高端存储
2.软件容错硬件故障视为常态,通过软件保证可靠性
3.简化并行分布式计算,无须控制节点同步和数据交换
Hadoop的功能和优势
1.Hadoop是开源的分布式存储和分布式计算平台
2.Hadoop的组成:HDFS:分步实施文件系统,存储海量数据 MapReduce:并行处理框架,实现任务分解和调度
3.Hadoop的用途:搭建大型数据仓库,PB级数据存储、处理、分析、统计等业务(搜索引擎、日志分析、商业智能、数据挖掘)
4.Hadoop优势:高扩展、低成本(普通PC机)、成熟的生态圈
hadoop生态系统: 1.hdfs 2.mapreduce 3.相关开源工具: (1)hive:将简单的sql语句转化为hadoop任务,降低使用hadoop的门槛 (2)HBASE:区别于传统数据库:存储结构化数据的分布式数据库,放弃事务特性,追求更高的扩展,它提供数据的随机读写和实时访问,实现对表数据的读写功能 (3)zookeeper:监控Hadoop集群里的每个节点的状态,管理整个集群的配置,维护数据节点之间的一致性 Hadoop版本最高2.6,初学者建议1.2(ver1.2-稳定)
以上是关于Hadoop分布式存储的主要内容,如果未能解决你的问题,请参考以下文章