【13_hadoop】

13_hadoop

hdfs参数设置的优先级:
1.默认配置文件
core-default.xml
hdfs-default.xml
mapred-default.xml
yarn-default.xml
2.生产配置文件
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
3.代码里面设置的参数
Configuration
优先级:3>2>1

1.使用java api 操作 hdfs 在创建文件夹
            /data/dt=20221114
            /data/dt=20221115
            /data/dt=20221116
    
2.使用java api 上传本地 wc.data 到上面三个目录下
3.使用java api 将
/data/dt=20221114/wc.data
/data/dt=20221115/wc.data
/data/dt=20221116/wc.data
目录下的文件移动到 指定目录 并进行改名字
/data/hive/20221114-01.data
/data/hive/20221115-01.data
/data/hive/20221116-01.data

创建文件夹 上传 改名
            path:
            hdfspath  上传的path
            localpath  本地path
            filename   文件名字
            renamepath  修改文件的路径的path
            renamesufname 修改后文件的结尾
            dt         

hadoop jar /home/hadoop/project/DL2262-hdfsapi-1.0.jar
com.bigdata.HomeWork01
“/data/dt=” “file:home/hadoop” “1.log” “/data/flink” “-01.data” “20221117”

start.sh
if [ $# -lt 6 ];then
echo “Usage:put file to hdfs”
echo “Usage:$0


echo “Usage: is hdfs path”
echo “eg:$0 ‘/data/dt=’ ‘file:home/hadoop’ ‘1.log’ ‘/data/flink’ ‘-01.data’ ‘20221117’”
exit;
fi

hadoop jar /home/hadoop/project/DL2262-hdfsapi-1.0.jar
com.bigdata.HomeWork01
1 " " {1}" " 1""{2}” “ 3 " " {3}" " 3""{4}” “ 5 " " {5}" " 5""{6}”

HDFS:负责存储数据
1.文件进行拆分 文件块
2.存储 拆分 文件夹

补充:
            hdfs主要存储文件 大文件 但是可以存储小文件,会影响hdfs性能

block 块:
1.怎么来的?
按照块带下进行拆分 而来的
2.属性:
1.块大小 128M blocksize
2.块的副本数:
1.伪分布式 副本数 1
2.完全分布式 副本数 3
例:
本地文件大小:260M
块大小 :128m

      块实际存储      规格【块大小】 128M

第一块 128M 128M
第二块 128M 128M
第三块 4M 128M

    练习:
hdfs api 完成wordcount 统计

大数据处理:
1.input
2.处理
3.output

hdfs 存储一堆文件 让你统计每个单词出现的次数?
1.input
    hdfs 一些文件
    fs.open
2.处理
    词频统计
    1.读取进来的内容 一行一行的 ,按照某个规则指定分隔符 进行拆分 =》一个一个单词
    2.给每个单词 赋值为1
        a,a,a,b,b
     =>
         (a,1)
        (a,1)
        (a,1)
        (b,1)
        (b,1)
    3.将相同的单词 存起来 一个集合里面
        进行聚合统计 每个单词出现的次数
        <a,1,1,1>
        <b,1,1>
        =>
        <a,3>
        <b,2>
3.output
    1.打印到控制台
    2.输出到hdfs上

HDFS架构设计:
namenode 名称结点 nn 老大
  1.文件名称
  2.文件的目录架构
  3.文件的属性、权限、城建时间、副本数据
    这些都是 metadata 块映射
    
    4.blockmap 块映射 
                            不会永久存储
                                是在集群启动和运行时 dn定期发送 blockreport 给nn 来进行
                                动态的维护这种映射关系 到内存 mem
                            
                        一个文件 被切分 多个数据块 副本数 =》数据结点

作用:
管路文件系统的命名空间 其实就是维护文件系统树的文件和文件夹
是以两种文件 永久的保存在本地磁盘

镜像文件 fsimage
编辑日志文件 editlogs
    
secondery namenode  第二名称节点 snn:

1.fsimage+编辑日志文件 定期拿过来 进行合并 备份 推送给 老大
拉取过来+合并
edits_inprogress_0000000000000000217 +fsimage_0000000000000000216 =》fsimage_0000000000000000217
推送给
fsimage_0000000000000000217 nn

datanode 数据结点 dn
1.存储数据块和完成数据块的校验

作用:面试可能会问

1.每隔3秒发送一次心跳 给nn 告诉老大我还活着
dfs.heartbeat.interval 3s
2.每隔一定的时间发送一次 blockreport
dfs.blockreport.intervalMsec 21600000ms 6h
dfs.datanode.directoryscan.interval 21600s 6h
这样做的目的: 生产上 可能发生 文件块 丢失或损坏

hdfs架构设计:面试会问【+自己理解】
            1.hdfs :
                    HDFS has a master/slave architecture.【主从架构】
                    master: a single NameNode
                    slave:DataNodes 
                    补充:
                                    生产上 两个NameNode =》 hdfs ha =》 high avaliable
            2.NameNode:
                                    1.manages the file system namespace [管理 hdfs 文件系统的命名空间]
                                                hdfs 文件的元数据:
                                            1.文件的名称、权限、副本
                                            2.文件路径、文件的块信息
                            2.regulates access to files by clients    【对外提供服务】
                            3.the mapping of blocks to DataNodes【负责 映射块文件】
                        
            3.DateNode:
                              1.one per node in the cluster【每个节点有这个进程】
                              2.these blocks are stored in a set of DataNodes【负责存储数据块】
                              3.The DataNodes are responsible for serving read and write requests from the file                         system’s clients.【负责文件的读写】
            
                a file is split into one or more blocks
        指标:hdfs重要:
                    1.block
                    2.hdfs架构设计
                    3.hdfs 命令 api了解
  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:创作都市 设计师:CSDN官方博客 返回首页
评论

打赏作者

走多远才算远

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值