• [Hadoop]-HDFS使用篇


    1.HDFS权限  

      HDFS的文件系统权限与Linux的完全相同

        修改权限 #hadoop fs chmod

        修改归属 #hadoop fs chown

    2.常用操作

      2.1 命令篇

        2.1 文件操作

          列出目录下的文件(直接跟目标路径,HDFS中没有cd的概念)  #hadoop fs -ls /

          创建文件夹 #hadoop fs -mkdir /test

          本地文件上传到HDFS #hadoop fs -put 本地目标文件(包括路径) 放入HDFS文件(包括路径)

              上传到HDFS(同Put指令) #hadoop fs -copyFromLocal  < local src > ... < hdfs dst > 

              上传到HDFS(移动后本地文件将删除) #hadoop fs -moveFromLocal  < local src > ... < hdfs dst > 

          HDFS文件下载到本地 #hadoop fs -get 放入HDFS文件(包括路径) 本地目标文件(包括路径)               

          HDFS文件删除 # hadoop fs -rm -f 目标文件

            -skipTrash 是否跳过删除文件暂存器(如果开启) 

            -f 当文件不存在时忽略警告

            -[rR] 删除包括子文件

          HDFS文件查看 # hadoop fs -cat 目标文件

        2.2 系统操作

          报告HDFS系统基本情况 # hadoop dfsadmin -report

          退出安全模式 # hadoop dfsadmin -safemode leave

          进入安全模式 # hadoop dfsadmin -safemode enter

          重新平衡DataNode数据块分布 ,Hadoop/bin下 start-balancer.sh

        2.3 扩展节点

          首先应该准备准备好一台已经安装好与NameNode相同Hadoop版本得到待新增服务器

          然后在NameNode机器到新节点的SSH免密登录

          最后在NameNode上配置slaves文件,将新节点加入,重启

      2.2 程序篇

       2.2.1 框架包导入

          libraryDependencies += "org.apache.hadoop" % "hadoop-common" % "2.6.0" % "provided"

            libraryDependencies += "org.apache.hadoop" % "hadoop-client" % "2.6.0"

             libraryDependencies += "org.apache.hadoop" % "hadoop-hdfs" % "2.6.0"

       2.2.2 基本操作    

    object HDFSApp {
    
      case class HDFS(val url: String, val user: String) {
        val conf = new Configuration();
        /**
          * 是否使用DN的HostName连接.默认使用false,使用IP
          * 云服务器务必要开启HostName请求,虚拟机不用开启(客户端不可能知道hadoop000在哪儿)
          */
        //conf.set("dfs.client.use.datanode.hostname", "true");
    
        val fs = FileSystem.get(new URI(url), conf, user);
      }
    
      def main(args: Array[String]) {
    
        val fs = HDFS("hdfs://192.168.18.151:9000/", "hadoop").fs;
    
        //文件上传
        fs.copyFromLocalFile(new Path("E:\order.txt"), new Path("/test/testorder1.txt"))
    
        //文件下载
        fs.copyToLocalFile(new Path("/test/testorder1.txt"), new Path("E:\order2.txt"))
        println("end");
      }
    }

          

        

      

  • 相关阅读:
    BN
    框架中的DDP和buffer
    深度学习框架中的并行
    Transformer
    自监督表示学习Paper
    半监督学习paper阅读
    目标检测经典paper
    STM32_从SystemInit、__main到main() 已修正
    STM32启动代码分析及其汇编学习-ARM
    Rust 及其包管理Cargo的安装使用
  • 原文地址:https://www.cnblogs.com/NightPxy/p/9109529.html
Copyright © 2020-2023  润新知