3 回答
TA贡献1843条经验 获得超7个赞
HDFS是GFS的一种实现,他的完整名字是分布式文件系统,类似于FAT32,NTFS,是一种文件格式,是底层的,Hadoop HDFS为HBase提供了高可靠性的底层存储支持。
HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统。
向左转|向右转
扩展资料:
Hadoop 中各模块的作用:
1、Hadoop HDFS为HBase提供了高可靠性的底层存储支持。
2、Hadoop MapReduce为HBase提供了高性能的计算能力。
3、Zookeeper为HBase提供了稳定服务和failover机制。
4、Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变得非常简单。
5、Sqoop则为HBase提供了方便的RDBMS(关系型数据库)数据导入功能,使得传统数据库数据向HBase中迁移变得非常方便。
TA贡献1810条经验 获得超4个赞
HDFS是GFS的一种实现,他的完整名字是分布式文件系统,类似于FAT32,NTFS,是一种文件格式,是底层的,Hadoop HDFS为HBase提供了高可靠性的底层存储支持。
HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统。
向左转|向右转
扩展资料:
异常处理
1,可靠性
HDFS的主要目标就是在存在故障的情况下也能可靠地存储数据。三个最常见的故障是名字节点故障,数据节点故障和网络断开。
2,重新复制
一个数据节点周期性发送一个心跳包到名字节点。网络断开会造成一组数据节点子集和名字节点失去联系。名字节点根据缺失的心跳信息判断故障情况。
名字节点将这些数据节点标记为死亡状态,不再将新的IO请求转发到这些数据节点上,这些数据节点上的数据将对HDFS不再可用,可能会导致一些块的复制因子降低到指定的值。
名字节点检查所有的需要复制的块,并开始复制他们到其他的数据节点上。重新复制在有些情况下是不可或缺的,例如:数据节点失效,副本损坏,数据节点磁盘损坏或者文件的复制因子增大。
3,数据正确性
从数据节点上取一个文件块有可能是坏块,坏块的出现可能是存储设备错误,网络错误或者软件的漏洞。HDFS客户端实现了HDFS文件内容的校验。
当一个客户端创建一个HDFS文件时,它会为每一个文件块计算一个校验码并将校验码存储在同一个HDFS命名空间下一个单独的隐藏文件中。
当客户端访问这个文件时,它根据对应的校验文件来验证从数据节点接收到的数据。如果校验失败,客户端可以选择从其他拥有该块副本的数据节点获取这个块。
4,元数据失效
FsImage和Editlog是HDFS的核心数据结构。这些文件的损坏会导致整个集群的失效。因此,名字节点可以配置成支持多个FsImage和EditLog的副本。任何FsImage和EditLog的更新都会同步到每一份副本中。
同步更新多个EditLog副本会降低名字节点的命名空间事务交易速率。但是这种降低是可以接受的,因为HDFS程序中产生大量的数据请求,而不是元数据请求。名字节点重新启动时,选择最新一致的FsImage和EditLog。
名字节点对于一个HDFS集群是单点失效的。假如名字节点失效,就需要人工的干预。还不支持自动重启和到其它名字节点的切换。
TA贡献1858条经验 获得超8个赞
他们的关系是:hbase是一个内存数据库,而hdfs是一个存储空间;是物品和房子的关系。
hdfs只是一个存储空间,他的完整名字是分布式文件系统。从名字可知他的作用了。
hbase是一个内存数据库,简单点说hbase把表啊什么的存在hdfs上。
Hbase与HDFS的性质和属性。
1、Hbase是Hadoop database,即Hadoop数据库。它是一个适合于非结构化数据存储的数据库,HBase基于列的而不是基于行的模式。
HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据。
2、HDFS是GFS的一种实现,他的完整名字是分布式文件系统,类似于FAT32,NTFS,是一种文件格式,是底层的。
Hive与Hbase的数据一般都存储在HDFS上。Hadoop HDFS为他们提供了高可靠性的底层存储支持。
- 3 回答
- 0 关注
- 1214 浏览
添加回答
举报