Hadoop HDFS入门:分布式文件系统原理与应用

1 下载量 54 浏览量 更新于2024-08-29 收藏 834KB PDF 举报
"Hadoop学习笔记—2.不怕故障的海量存储:HDFS基础入门" Hadoop分布式文件系统(HDFS)是为了解决大数据存储和管理问题而诞生的。随着数据量的爆炸式增长,单个操作系统的存储能力无法满足需求,分布式文件系统应运而生,DFS允许文件在多台主机间共享,提供了一种透明的、高可用的存储方案。 分布式文件系统DFS的核心特点是“通透性”,用户在使用时感觉不到数据是存储在远程机器上,而是像访问本地磁盘一样便捷。HDFS是Hadoop生态中的重要组成部分,它的设计目标包括处理硬件故障的高容错性、流式数据访问、支持大规模数据集、简单的一致性模型以及移动计算优于移动数据的理念。 HDFS的设计前提与目标: 1. 硬件错误常态:HDFS被设计为能在大量普通硬件上运行,因此,它必须能够检测并迅速从硬件故障中恢复。 2. 流式数据访问:HDFS优化了连续数据读取,适合大规模数据的批处理。 3. 大规模数据集:HDFS处理的文件通常在GB到TB级别。 4. 简单一致性模型:采用“一次写入,多次读取”模式,确保数据一致性。 5. 移动计算:对于大数据处理,将计算任务移动到数据所在位置比移动数据更高效。 HDFS的体系结构由主节点(Master)和从节点(Slave)组成。主节点主要包括NameNode,负责元数据管理,如文件系统的命名空间和文件块信息。从节点,即DataNode,实际存储数据块,并向NameNode报告其状态。用户通过NameNode进行文件操作,而NameNode则指导DataNode完成数据的读写。 在HDFS中,文件被分割成固定大小的块,这些块会复制到集群中的多个DataNode,以提高容错性和可用性。默认情况下,每个文件块有三个副本,这样即使某个DataNode故障,数据仍然可以从其他副本中恢复。 此外,HDFS还支持故障检测和自动恢复机制,当DataNode故障时,NameNode可以重新调度数据块的读写操作到其他健康的节点。这种设计使得HDFS能够面对大规模数据存储时的硬件故障,确保服务的连续性和数据的完整性。 总结来说,HDFS是应对大数据挑战的关键技术,它的设计理念和架构特性使其成为处理海量数据的理想选择。通过理解HDFS的工作原理,开发者和管理员可以更好地利用Hadoop生态系统进行大规模数据处理和分析。

at org.apache.hadoop.ipc.Client.call(Client.java:1476) at org.apache.hadoop.ipc.Client.call(Client.java:1413) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229) at com.sun.proxy.$Proxy29.mkdirs(Unknown Source) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.mkdirs(ClientNamenodeProtocolTranslatorPB.java:563) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:191) at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102) at com.sun.proxy.$Proxy30.mkdirs(Unknown Source) at org.apache.hadoop.hdfs.DFSClient.primitiveMkdir(DFSClient.java:3014) at org.apache.hadoop.hdfs.DFSClient.mkdirs(DFSClient.java:2984) at org.apache.hadoop.hdfs.DistributedFileSystem$21.doCall(DistributedFileSystem.java:1047) at org.apache.hadoop.hdfs.DistributedFileSystem$21.doCall(DistributedFileSystem.java:1043) at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) at org.apache.hadoop.hdfs.DistributedFileSystem.mkdirsInternal(DistributedFileSystem.java:1043) at org.apache.hadoop.hdfs.DistributedFileSystem.mkdirs(DistributedFileSystem.java:1036) at org.apache.hadoop.hive.ql.session.SessionState.createPath(SessionState.java:751) at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:674) at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:586)

197 浏览量

结合下面hive元数据信息,生成hive建表语句,并且加上comment,注意day是分区 dwd_weibo_crawl NULL appmarket_appinfo GN线应用市场 2021-01-07 15:07:29 apk 应用包名 string day string入库日期 org.apache.hadoop.hive.ql.io.orc.OrcSerde serialization.format 1 hdfs://DSbigdata/hiveDW/dwd_exten_crawl/appmarket_appinfo org.apache.hadoop.hive.ql.io.orc.OrcInputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat dwd_weibo_crawl NULL appmarket_appinfo GN线应用市场 2021-01-07 15:07:29 app_name 应用名称 string day string 入库日期 org.apache.hadoop.hive.ql.io.orc.OrcSerde serialization.format 1 hdfs://DSbigdata/hiveDW/dwd_exten_crawl/appmarket_appinfo org.apache.hadoop.hive.ql.io.orc.OrcInputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat dwd_weibo_crawl NULL appmarket_appinfo GN线应用市场 2021-01-07 15:07:29 app_url 平台详情页链接 string day string入库日期 org.apache.hadoop.hive.ql.io.orc.OrcSerde serialization.format 1 hdfs://DSbigdata/hiveDW/dwd_exten_crawl/appmarket_appinfo org.apache.hadoop.hive.ql.io.orc.OrcInputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat dwd_weibo_crawl NULL appmarket_appinfo GN线应用市场 2021-01-07 15:07:29 cate 应用所属分类 string day string入库日期 org.apache.hadoop.hive.ql.io.orc.OrcSerde serialization.format 1 hdfs://DSbigdata/hiveDW/dwd_exten_crawl/appmarket_appinfo org.apache.hadoop.hive.ql.io.orc.OrcInputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat dwd_weibo_crawl NULL appmarket_appinfo GN线应用市场 2021-01-07 15:07:29 other 其他 string day string 入库日期 org.apache.hadoop.hive.ql.io.orc.OrcSerde serialization.format 1 hdfs://DSbigdata/hiveDW/dwd_exten_crawl/appmarket_appinfo org.apache.hadoop.hive.ql.io.orc.OrcInputFormat org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat dwd_weibo_crawl NULL appmarket_appinfo GN线应用市场 2021-01-07 15:07:29 region 平台名称 string day stri

144 浏览量