大数据应用——工程实践III


 

 

 

任务一:完成Hadoop集群部署前环境的准备工作

1.1 虚拟机环境准备

1.  安装虚拟机

2.  克隆虚拟机

3.  修改网络配置

4.  修改主机名和映射

5.  关闭防火墙

1.2 安装JDK

1.3 安装Hadoop

1.4 集群配置

1.  编写集群分发脚本xsync

2.  集群部署规划

表 1.1

hadoop101

hadoop102

hadoop103

HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN

NodeManager

ResourceManager

NodeManager

NodeManager

  1.  配置集群

(1)核心配置文件

配置core-site.xml

(2)HDFS配置文件

配置 hadoop-env.sh

配置 hadoop-site.xml

(3)YARN配置文件

配置 yarn-env.sh

配置 yarn-site.xml

(4)MapReduce配置文件

配置 mapred-env.sh

配置 mapred-site.xml

  1. 在集群上分发配置好的Hadoop配置文件
  2. 查看文件分发情况

1.5 群起集群

1.  配置slaves

2.  启动集群

(1)如果集群是第一次启动,需要格式化NameNode

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hdfs namenode -format

(2)启动HDFS

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/start-dfs.sh

(3)启动YARN

[hadoop@hadoop102 hadoop-2.7.2]$ sbin/start-yarn.sh

(4)使用jps分别查看三台虚拟机的节点

[hadoop@hadoop101 hadoop-2.7.2]$ jps

(5)查看web端

http:192.168.2.122:50070/dfshealth.html#tab-overview

任务二:能够将本地文件存储到集群中

1.  上传小文件

[hadoop@hadoop101 hadoop-2.7.2]$ hdfs dfs -put test/word.txt /user/hadoop/input1

  1.  上传大文件

[hadoop@hadoop101 hadoop-2.7.2]$bin/hadoop fs -put/opt/softw

are/hadoop-2.7.2.tar.gz /user/hadoop/input1

3.  查看上传文件位置

任务三:能够从集群中下载文件到本地

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hadoop fs -get /user/hadoop/input1/hadoop-2.7.2.tar.gz test/

任务四:举例练习Hadoop的常用命令

  1.  启动集群命令

(1)启动HDFS

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/start-dfs.sh

(2)启动YARN

[hadoop@hadoop102 hadoop-2.7.2]$ sbin/start-yarn.sh

  1.  格式化NameNode命令

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hdfs namenode -format

  1.  在HDFS文件系统上创建一个input1文件夹

[hadoop@hadoop101 hadoop-2.7.2]$ hdfs dfs -mkdir -p /user/had

oop/input1

  1.  将测试文件内容上传到文件系统上

[hadoop@hadoop101 hadoop-2.7.2]$ hdfs dfs -put test/word.txt /user/hadoop/input1

  1.  查看上传的文件是否正确

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -ls /user/hadoo

p/input1/

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat /user/hado

op/input/word.txt

  1.  运行MapReduce程序

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hadoop jar share/hadoo

p/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount/u

ser/hadoop/input1/ /user/hadoop/output

  1.  查看输出结果

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat /user/hado

op/output/*

  1.  将测试文件内容下载到本地

[hadoop@hadoop101 hadoop-2.7.2]$ hdfs dfs -get /user/hadoop/

output/part-r-00000 ./test/

  1.  删除文件系统上的output文件

[hadoop@hadoop101 hadoop-2.7.2]$ hdfs dfs -rm -r /user/hadado

op/output

  1. 关闭集群命令

(1)关闭HDFS

[hadoop@hadoop101 hadoop-2.7.2]$ sbin/stop-dfs.sh

(2)关闭YARN

[hadoop@hadoop102 hadoop-2.7.2]$ sbin/stop-yarn.sh

任务五:编写程序,用MR计算单词个数

  1.  在hadoop-2.7.2文件下面创建一个test文件夹

[hadoop@hadoop101 hadoop-2.7.2]$ mkdir test

  1.  在test文件夹下创建一个word.txt文件

[hadoop@hadoop101 test]$ touch word.txt

  1.  编辑word.txt文件

[hadoop@hadoop101 test]$ sudo vi word.txt

  1.  将word.txt文件上传到hdfs文件系统上

[hadoop@hadoop101 hadoop-2.7.2]$ hdfs dfs -put test/word.txt /user/hadoop/input

  1.  执行MapReduce程序

[hadoop@hadoop101 hadoop-2.7.2]$ bin/hadoop jar share/hadoo

p/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount/u

ser/hadoop/input/ /user/hadoop/output

  1.  查看结果

[hadoop@hadoop101 hadoop-2.7.2]$cat test/part-r-00000

出现问题:在从节点(Slave)执行命令jps后,发现没有运行DataNode。

问题原因:在启动Hadoop之前,进行了多次格式化,导致DataNode的ID发生了变化。

解决方案:格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。(先关闭namenode和datanode进程)或者让 NameNode与DataNode的ID一致 。

我在学习Hadoop过程中的体会和心得如下:

Hadoop是一个庞大的生态系统,包含了很多的组件和工具,学习曲线比较陡峭。初学者最好从基础入手,先学习Hadoop的基本概念和核心组件,如HDFS和MapReduce等。

Hadoop的学习不仅是理论知识的积累,更需要实践和经验的积累。通过实际操作和开发Hadoop应用程序,才能更好地掌握和理解Hadoop的知识和技能。

Hadoop是一个分布式计算框架,需要具备一定的计算机编程技能。特别是对于开发MapReduce应用程序,需要掌握Java编程语言和基本的算法知识。

Hadoop的学习需要耐心和坚持不懈的精神,很多时候需要花费大量的时间和精力去理解和解决问题。但是,只要坚持下去,学习Hadoop的收获也是十分丰富的。

总之,学习Hadoop是一项具有挑战性的任务,需要花费不少时间和精力。但是,通过实践和不断的学习,我们可以掌握Hadoop的核心知识和技能,并为大数据时代做出贡献。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肉肉肉肉肉肉~丸子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值