一步步练习Hadoop实操之HDFS和YARN,内附详细测试步骤与图解!

Hadoop

在操作之前我们可以重启一下云主机,使我们的全部配置生效而不是当前生效。

  1. 启动Hadoop

    • 启动HDFS:start-dfs.sh
    • 会提示你是否继续连接等等,都yes即可!
    • image-20200618084939818
    • 输入jps查看是否成功image-20200618085152411
    • jps是Java的一个命令,可以查看系统里所有的Java进程,前面的数组每个人都不一样,进程能对上就表示hdfs启动成功了。
    • 启动YARN:start-yarn.sh
    • jps查看,相对于刚才多了两个进程:
    • image-20200618090031176
    • 至此Hadoop启动完成!你可以自由的奔放了!
  2. 测试Hadoop:

    • 测试一:
      • 访问内置web项目:
      • Hadoop内置了一个现实运行状态的web项目,在启动HDFS后会自动部署到Master节点的50070端口,可以远程访问’http://云主机外网IP:50070’,查看HDFS的运行状态。
      • 但是阿里云默认端口没有开放50070端口,需要我们开发此端口才可以正常访问。
      • 入方向安全组规则添加一条,协议TCP自定义,目的端口50070/50070,授权对象0.0.0.0/0,描述写你描述此端口的描述,保存即可。
      • 具体操作查看之前的端口操作文章。
      • image-20200618091228326
      • 再进行访问,出来这样就证明你成功了!
      • image-20200618091441730
    • 测试二:
      • 上传文件到HDFS上
      • 利用vim命令,在opt目录下生成一个文本文件
      • vim /opt/hello
      • 插入你想插入的内容,这里随便,就是单词之间空格间隔即可。
      • image-20200618093318942
      • cat /opt/hello查看一下
      • image-20200618093434678
      • 利用hdfs命令,将该文件上传到hdfs的根目录下
      • hdfs dfs -put 本地文件路径 HDFS的路径
      • hdfs dfs -put /opt/hello /
      • 执行完毕,不会有任何提示!img-ZWD0QbPI-1592478767961
        • !!!成功的自动忽略此段,直接利用测试一进行查看文件。
        • 如果提示你安全模式,就证明你刚装完Hadoop就自动进入了安全模式,一般是format过程出了问题。可能如下:
        • image-20200618100005628
        • 可以停止hdfs和yarn,然后 删除hadoop的本地临时文件夹 /opt/hadoop/tmp ,命令是 rm -rf /opt/hadoop/tmp ,之后 重新格式化一次hdfs,命令是 hdfs namenode format
        • 还是要注意,平时我们不能对tmp文件夹进行删除,否则HDFS将无法工作。
      • 但是我们可以根据测试一里的web项目来查看该文件
        -img-AGZzXRn7-1592478767973
      • image-20200618095722727
      • 输入路径,go!查看文件,文件块128MB,太浪费了,副本数量为1,是我们设置的。
      • 点击hello,查看详情。
    • 测试三:
      • 上传大文件,查看是否会自动分块。我们利用Hadoop压缩包做实验。
      • hdfs dfs -put /opt/hadoop-2.8.5.tar.gz /
      • 查看文件
      • 我们这里最想看的是block信息
      • img-ODVm9gbG-1592478767979
      • 也可以点击block信息查看详情。
    • 以上我们是利用内置web应用来查看,接下来我们利用hdfs命令行来查看
      • hdfs命令和linux命令极其相似,上手难度相对来说较亲民。
      • 查看根目录下的文件hdfs dfs -ls /
      • image-20200618101610397
    • 问题一:
      • 在HDFS目录下真的存在我们刚才操作的/opt/hadoop-2.8.5.tar.gz文件吗?
      • 答案是没有,但是为什么我们输入hdfs命令却又存在呢?
      • 原因是NameNode维护着一个虚拟的目录结构,DataNode下存在的是block1和block2,但是DataNode并不知道block1和block2是啥,他只知道要去维护他。也就是真实存在的是block1和block2这些文件块,而不是/opt/hadoop-2.8.5.tar.gz这个文件。至于为什么我们看到的是这个文件是由于NameNode的功劳,他将block块进行整理再给我展示完整的文件。
  3. YARN测试:

    • 利用内置的词频统计程序(MapReduce程序),对hello文件进行词频统计。

    • hadoop jar /opt/hadoop-2.8.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar wordcount /hello /out
      
    • 命令解释:

      • hadoop jar -> 在hadoop上运行一个jar文件中的程序
        /opt/hadoop-2.8.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar -> 指定jar文件的路径
        wordcount -> 运行jar文件中的名为wordcount的程序
        /hello -> 对hdfs上的哪个文件或文件夹进行词频统计
        /out -> 指定统计结果输出到hdfs上的哪个文件夹下,注意,该文件夹必须不存在!!!否则会报错,我们可以统计完删除该文件夹。也可以在下次操作之前先删除再操作。
        
    • 运行成功会有如下内容,并且在根目录下会出现一个out文件夹,里面有两个文件。其中‘_SUCCESS’是标识文件,内容为空,是通过文件名表示本次任务运行成功。次品统计结果保存在’part-r-00000’文件中。

    • image-20200618103555097

    • 也可以利用内置web应用来查看

    • 我们查看一下统计结果:hdfs dfs -cat /out/part-r-00000

    • image-20200618103920017

    • 至此,我们的任务全部完成,你可以在Hadoop中奔放 了!

  4. 关闭Hadoop

    • 关闭HDFSstop-dfs.sh
    • jps检查一下
    • image-20200618105829546
    • 关闭YARNstop-yarn.sh
    • jps检查一下
    • image-20200618105947243
    • 提示我nodemanager未关闭,利用kill -9命令关闭
    • kill -9 17083
    • 最后只剩jps进程即可
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值