分布式Lab2

Posted by Young Sheep on October 26, 2023

实验2主要是熟悉Hadoop文件系统上的基本操作

实验主要步骤

设置环境变量

  • 编辑环境变量:
    1
    
      vim ~/.bashrc
    
  • 在最后一行添加:
    1
    
      export PATH=$PATH:/opt/hadoop/hadoop-2.10.2/sbin: /opt /hadoop/hadoop-2.10.2/bin
    
  • 使环境变量生效:
    1
    
      source ~/.bashrc
    

    在master中启动Hadoop

    1
    
    start-all.sh
    

    HDFS命令

    查看HDFS上当前目录下所有文件

    1
    
    hadoop fs -ls /
    

    在HDFS上新建文件夹

  • 方式1 逐个建立文件夹 hadoop fs -mkdir /user hadoop fs -mkdir /user/hadoop-user/
  • 方式2 递归建立文件夹
    1
    
      hadoop fs -mkdir -p /user/hadoop-user/
    

    在HDFS上上传文件

  • 本地准备一个文件
    1
    
      nano ds2023.txt
    

  • 向HDFS上传文件
    1
    
      hadoop fs -put /root/tmp/charles1/ds2023.txt /user/hadoop-user/
    
    坑:

    需要先关闭虚拟机的防火墙,否则Hadoop上传文件会报错 HDFS-java.io.IOException: Unable to create new block

  • 查看是否上传成功
    1
    
      hadoop fs -ls -R /
    

    在Terminal显示文件内容

    1
    
      hadoop fs -cat /user/hadoop-user/ds2023.txt
    

    下载HDFS上的文件

    1
    
    hadoop fs -get /user/hadoop-user/ds2023.txt /root/tmp/charles2
    

    删除HDFS上的文件

  • 方式1 删除某个文件
    1
    
      hadoop fs -rm /user/hadoop-user/ds2023.txt
    

  • 方式2 递归删除文件夹及文件夹中的所有文件
    1
    
      hadoop fs -rm -r /user2