[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");
  }
}

      

    

  

原文地址:https://www.cnblogs.com/NightPxy/p/9109529.html