Hadoop伪分布式环境配置与启动

1. 环境准备

在一台linux机器上,安装好hadoop运行环境,安装方式请查看:HADOOP运行环境搭建

2. 启动HDFS并运行MapReduce程序

2.1. 配置集群

1. 配置:hadoop-env.sh

Linux系统中获取JDK的安装路径:

[root@ hadoop101 ~]# echo $JAVA_HOME
/opt/module/jdk1.8.0_144

编辑hadoop-env.sh,修改hadoop-env.sh中的JAVA_HOME 路径:

export JAVA_HOME=/opt/module/jdk1.8.0_144
2. 配置:core-site.xml

首先文件的存取目录不能停留在本地,要用HDFS上的文件,就需要配置HDFS的NameNode的地址。
所以需要在core-site.xml中增加以下配置

<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
 <value>hdfs://hadoop101:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
 <name>hadoop.tmp.dir</name>
 <value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>

注意:地址中的hadoop101需要改为本地linux的IP地址或者主机名
hadoop.tmp.dir可以不配置,会默认将HDFS文件存储到/tmp目录下

3. 配置:hdfs-site.xml

因为伪分布式只有一个节点,所以需要把HDFS副本数量改为1(默认是3),需要在hdfs-site.xm中增加以下配置:

<!-- 指定HDFS副本的数量 -->
<property>
 <name>dfs.replication</name>
 <value>1</value>
</property>

2.2 启动集群

1. 格式化NameNode(第一次启动时格式化,以后就不要总格式化)
[root@hadoop101 hadoop-2.7.2]$ bin/hdfs namenode -format
2. 启动NameNode
[root@hadoop101 hadoop-2.7.2]# sbin/hadoop-daemon.sh start namenode
starting namenode, logging to /opt/module/hadoop-2.7.2/logs/hadoop-root-namenode-hadoop101.out
[root@hadoop101 hadoop-2.7.2]# 
2. 启动DataNode
[root@hadoop101 hadoop-2.7.2]# sbin/hadoop-daemon.sh start datanode
starting datanode, logging to /opt/module/hadoop-2.7.2/logs/hadoop-root-datanode-hadoop101.out
[root@hadoop101 hadoop-2.7.2]# 

2.3 验证集群

1. 查看是否启动成功

执行命令jps,结果如下图所示,这说明nameNode和dataNode都已经启动成功

[root@hadoop101 hadoop-2.7.2]# jps
5584 DataNode
5671 Jps
5496 NameNode
[root@hadoop101 hadoop-2.7.2]# 
2. 网页查看NameNode的界面

在浏览器输入网址:http://hadoop101:50070/,即可登录到NameNode界面,可以查看HDFS集群的运行状态和文件。
注意:域名要换成你自己的linux机器域名或者机器IP地址,如果无法访问,可能是防火墙没关

2.4 操作集群

集群启动成功后,就可以操作hdfs,包括创建目录、上传文件、删除文件、执行MR任务等。下面再测试一下,MR任务在HDFS上执行的效果。

1. 在HDFS上创建文件夹/user/lancer/input
[root@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -mkdir -p /user/lancer/input

操作结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yR79ovW0-1588938160793)(https://user-gold-cdn.xitu.io/2020/2/21/17066e40a348ca60?w=1240&h=423&f=png&s=69931)]

2. 将测试文件上传到集群上,这里可以直接使用Hadoop的README.txt文件
[atguigu@hadoop101 hadoop-2.7.2]$bin/hdfs dfs -put README.txt /user/atguigu/input/

操作结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SdM2WNJL-1588938160796)(https://user-gold-cdn.xitu.io/2020/2/21/17066e40a37d3722?w=1236&h=416&f=png&s=25235)]

3. 运行MapReduce程序
[root@hadoop101 hadoop-2.7.2]# bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/lancer/input/ /user/lancer/output

运行结果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VlP6DDhh-1588938160797)(https://user-gold-cdn.xitu.io/2020/2/21/17066e40a3add070?w=1240&h=436&f=png&s=77952)]

可以在浏览器中下载输出文件,查看单词个数统计结果。

3. 启动YARN并运行MapReduce程序

3.1 配置集群

1. 配置yarn-env.sh和mapred-env.sh

两个文件中都把JAVA_HOME改为jdk8的路径,有的文件中export JAVA_HOME被注释掉了,需要取消注释

export JAVA_HOME=/opt/module/jdk1.8.0_144
2. 配置yarn-site.xml

编辑yarn-size.xml,增加如下配置项:

<!-- Reducer获取数据的方式 -->
<property>
 		<name>yarn.nodemanager.aux-services</name>
 		<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop101</value>
</property>
3. 配置mapred-site.xml (需要将mapred-site.xml.template重新命名为mapred-site.xml )

先将mapred-site.xml.template重新命名为mapred-site.xml

[root@hadoop101 hadoop]$ mv mapred-site.xml.template mapred-site.xml

然后在mapred-site.xml中增加以下配置项:

<!-- 指定MR运行在YARN上 -->
<property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
</property>

3.2 启动yarn

1. 启动前必须保证NameNode和DataNode已经启动
2. 启动ResourceManager
[root@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager
3. 启动NodeManager
[root@hadoop101 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager

3.3 验证集群

1. 验证启动成功

执行jps,如果结果如下则说明启动成功。

[root@hadoop101 hadoop-2.7.2]# jps
5584 DataNode
6913 Jps
6071 ResourceManager
5496 NameNode
6318 NodeManager
[root@hadoop101 hadoop-2.7.2]# 
2. 网页查看yarn页面

在浏览器输入网址:http://hadoop101:8088/,即可登录到Yarn界面,可以查看任务运行状态。
注意:域名要换成你自己的linux机器域名或者机器IP地址,如果无法访问,可能是防火墙没关
页面如图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qKBlqglw-1588938160798)(https://user-gold-cdn.xitu.io/2020/2/21/17066e40a3c5ab20?w=1240&h=277&f=png&s=135091)]

3.4 集群操作

  1. 执行MapReduce程序(方法同上)
[root@hadoop101 hadoop-2.7.2]# bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/lancer/input/ /user/lancer/output2

同样是执行MR程序,但是这次是由Yarn统一调配的,就能在yarn的界面上看到任务执行的进度,和任务的详细信息,如下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rVJvYmMe-1588938160800)(https://user-gold-cdn.xitu.io/2020/2/21/17066e40a3cf6dbc?w=1240&h=246&f=png&s=116518)]

3.5 配置历史服务器

虽然能看到任务的执行状态,但是现在返现点击history按钮时,网页无法打开,那是因为没有启动历史信息查看服务。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UextQAjN-1588938160801)(https://user-gold-cdn.xitu.io/2020/2/21/17066e40a431dada?w=1240&h=253&f=png&s=118719)]

1. 配置yarn-site.xml

加入以下配置项:

<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop101:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
 <name>mapreduce.jobhistory.webapp.address</name>
 <value>hadoop101:19888</value>
</property>
2. 启动历史服务器
[root@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver
3. 查看是否启动成功

执行jps,如果出现JobHistoryServer则说明启动成功

[root@hadoop101 hadoop-2.7.2]# jps
5584 DataNode
7107 JobHistoryServer
6071 ResourceManager
5496 NameNode
7145 Jps
6318 NodeManager
[root@hadoop101 hadoop-2.7.2]# 
4. 查看MR任务详细历史信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GeyomwRu-1588938160802)(https://user-gold-cdn.xitu.io/2020/2/21/17066e40c3987707?w=1240&h=438&f=png&s=113750)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值