2-1.HDFS原理(Hadoop系列day02)

思考:自己设计一份分布式文件系统

这里写图片描述

hdfs有两种角色:
namenode,
datanode.

(secondarynamenode先不考虑)

一个namenode,多个datanode。
namenode相当于仓库管理员,维护自己的一个账本

datanode相当于仓库,负责存储数据

client相当于送货员

a.log:100M 货物

客户端向namenode发送一个上传数据的请求
namenode查看每个datanode信息,看哪个仓库可以放东西,
并将保存位置的信息记录下来(保存到账本上,为了以后能找到该数据)
并将这条信息发送给客户端
客户端 知道了要把文件放到哪个仓库,
与那个datanode进行联系,将数据写入到datanode里面
datanode将数据复制到其他datanode上备份
最后将写成功的信息反馈给client

注:副本并不是client写多次,而是datanode的水平复制
注:元数据信息保存在namenode里面

数据上传还会分块
Hadoop1.0 每个块默认64M
Hadoop2.0 每个块默认128M

client每写128M(一个块),就向namenode申请一个存放的datanode地址
写满一个,申请一个。。 写满一个,申请一个。。 写满一个,申请一个。。。

为什么要分块存储?

上传1G的文件,一共分8块。
上传。。
上传。。
上传。。
前7块都上传成功了,第8块出现问题了。
那么怎么办呢? —只要重新写第8块就可以了。

如果不是分块的,那么写到一半失败了,只能从头再写。


读取1G文件。
读取文件读到99%,出错了。 还得从头重新开始读。

如果分块,读到第八快出错了。 直接在另一个datanode上重新读第8块即可。


分布式文件系统介绍

这里写图片描述

常见分布式文件系统

GFS、HDFS、Lustre、Ceph、GridFS、mogileFS、TFS(淘宝的分布式系统)、FastDFS、

结合下面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
最新发布
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值