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
  1. 配置: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目录下

  1. 配置: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
  1. 启动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]# 
  1. 启动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]# 
  1. 网页查看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

操作结果:


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

操作结果:


image.png
  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/output

运行结果如下:


image.png

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

3. 启动YARN并运行MapReduce程序

3. 配置集群

  1. 配置yarn-env.sh和mapred-env.sh
    两个文件中都把JAVA_HOME改为jdk8的路径,有的文件中export JAVA_HOME被注释掉了,需要取消注释
export JAVA_HOME=/opt/module/jdk1.8.0_144
  1. 配置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>

(d)配置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
  1. 启动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]# 
  1. 网页查看yarn页面
    在浏览器输入网址:http://hadoop101:8088/,即可登录到Yarn界面,可以查看任务运行状态。
    注意:域名要换成你自己的linux机器域名或者机器IP地址,如果无法访问,可能是防火墙没关
    页面如图所示:
    image.png

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的界面上看到任务执行的进度,和任务的详细信息,如下图所示:


image.png

3.5 配置历史服务器

虽然能看到任务的执行状态,但是现在返现点击history按钮时,网页无法打开,那是因为没有启动历史信息查看服务。


image.png
  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>
  1. 启动历史服务器
[root@hadoop101 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver
  1. 查看是否启动成功
    执行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]# 
  1. 查看MR任务详细历史信息


    image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容