当前位置:   article > 正文

Hadoop基础篇-hdfs-01_头歌分布式文件系统hdfs第一关

头歌分布式文件系统hdfs第一关

大数据处理的两个重要指标

        吞入量:单位时间处理数据的数量

        延迟:处理数据的速度,延迟越高说明处理的越慢

大数据处理瓶颈问题

         IO瓶颈--- 大数据处理里绝大多数都是io瓶颈

        计算瓶颈

hdfs分布式文件系统

特点

         通过备份策略保障了数据安全性,实现了高可用、高容错     

        数据的吞吐量大

                流式读取提供吞入量

                设计简单一致性模型

                移动计算并非移动数据,减小IO压力

        集群的扩展性

                弹性存储

        hdfs的易用性

                协议接口多样

                数据管理多样

        元数据

                描述数据的数据

        block-hdfs的文件存储单位

                hdfs是分块存储的,将一个文件存储为多个block块

                1个block的默认大小是128M

        hdfs架构设计

                分布式数据存储系统

                角色

                        namenode

                        datanode

                        client

                架构设计注意点

                        存储文件的时候是通过block块存储的

                        1个block默认128M,可以修改

                        存储文件是由副本的,默认是3个,可以修改

                        副本存储是同机架不同节点两个,跨机架一个

                        NameNode有个副本

        读文件流程

        写文件流程

hdfs中的命令

        hdfs dfs -ls /

        hdfs dfs -ls -R /

        hdfs dfs -mkdir 文件夹

        hdfs dfs -touch 文件

        文件上传

                hdfs dfs -put 本地文件 hdfs目录

                        -f 代表强制上传,如果同名就替换

                hdfs dfs -get hdfs文件 本地文件

                        -f 代表强制下载,如果同名就替换

        java API

                准备素材

                准备环境

                搭建maven项目

                添加pom依赖

                        dependences

  1. <!-- 引入hadoop-cli-2.7.4依赖 -->
  2. <dependency>
  3. <groupId>org.apache.hadoop</groupId>
  4. <artifactId>hadoop-client</artifactId>
  5. <version>2.7.4</version>
  6. </dependency>

                         build

  1. <build>
  2. <finalName>TlHadoopCore</finalName>
  3. <plugins>
  4. <plugin>
  5. <artifactId>maven-compiler-plugin</artifactId>
  6. <version>2.3.2</version>
  7. <configuration>
  8. <source>1.8</source>
  9. <target>1.8</target>
  10. <encoding>UTF-8</encoding>
  11. </configuration>
  12. </plugin>
  13. <plugin>
  14. <artifactId>maven-assembly-plugin</artifactId>
  15. <configuration>
  16. <descriptorRefs>
  17. <descriptorRef>jar-with-dependencies</descriptorRef>
  18. </descriptorRefs>
  19. <archive>
  20. <!-- <manifest>-->
  21. <!-- 此处为设置main方法所在的类
  22. <mainClass>com.tl.job009.hdfs.HdfsFileRead</mainClass>-->
  23. <!-- 注释掉可以在执行时自行切换main方法儿不用再回到这里修改 </manifest>-->
  24. </archive>
  25. </configuration>
  26. <executions>
  27. <execution>
  28. <id>make-assembly</id>
  29. <phase>package</phase>
  30. <goals>
  31. <goal>assembly</goal>
  32. </goals>
  33. </execution>
  34. </executions>
  35. </plugin>
  36. </plugins>
  37. </build>

                                finalName 打出来的jar包的名字

                                maven-assembly-plugin all in one打包插件

                                可以去掉mainClass,后续执行过程中指定主类

        开始程序编写

                1. 读的文件在哪

                2. 创建配置文件

                3. 创建FileSystem

                4. 创建Path

                5. 打开输入流

                6. 读取输入流,获取字节数组

                7. 获取文本,输出

                8. 关闭FS

        maven中scope,决定的是依赖的作用域

                compile(默认)

                        编译

                        测试

                        运行

                provided

                        编译

                        测试

                test

                        测试

                runtime

                        运行

                system

                        可以指定本地的jar包

        9.上传jar包

                rz -bye

        10.执行任务

yarn jar job022hdfs-jar-with-dependencies.jar 主类 参数文件路径(绝对路径)

如果有更多参数在后面依次添加即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/634294
推荐阅读
相关标签
  

闽ICP备14008679号