Hadoop环境搭建之伪分布式运行模式

一、hadoop伪分布式运行模式介绍

在一台主机模拟多主机。

Hadoop启动NameNode、DataNode、JobTracker、TaskTracker这些守护进程都在同一台机器上运行,是相互独立的Java进程。

在这种模式下,Hadoop使用的是分布式文件系统,各个作业也是由JobTraker服务,来管理的独立进程。在单机模式之上增加了代码调试功能,允许检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。类似于完全分布式模式,因此,这种模式常用来开发测试Hadoop程序的执行是否正确。

二、hadoop伪分布式运行环境搭建

2.1 创建虚拟机

2.2 将虚拟机ip修改为静态ip

2.3 修改主机名

2.4 配置主机名与ip映射

2.5 关闭防火墙

2.6 创建test用户

2.7 使test用户拥有sudo权限

2.8 在/opt目录下创建文件夹

2.9 安装jdk

2.10 安装hadoop

2.11 启动HDFS并运行MapReduce程序

1、修改配置文件
下面三个配置文件的路径为:/opt/module/hadoop-2.7.2/etc/hadoop

(1) 配置:hadoop-env.sh
Linux系统中获取JDK的安装路径:
在这里插入图片描述

修改JAVA_HOME 路径:
在这里插入图片描述
Hadoop环境搭建之伪分布式运行模式_第1张图片
(2) 配置:core-site.xml
这里要根据ip和端口进行对应的修改
在这里插入图片描述Hadoop环境搭建之伪分布式运行模式_第2张图片
(3) 配置:hdfs-site.xml

在这里插入图片描述Hadoop环境搭建之伪分布式运行模式_第3张图片
2、启动
(1) 格式化NameNode(第一次启动时格式化,以后就不要总格式化)
[test@hadoop150 hadoop-2.7.2]$ bin/hdfs namenode -format

(2) 启动NameNode
[test@hadoop150 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode

(3) 启动DataNode
[test@hadoop150 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode

3、查看状态
(1) 查看是否启动成功
在这里插入图片描述
(2) web端查看hdfs文件系统
在浏览器中输入:
http://192.168.1.150:50070/dfshealth.html#tab-overview
Hadoop环境搭建之伪分布式运行模式_第4张图片(3) 查看产生的Log日志
当前目录:/opt/module/hadoop-2.7.2/logs
Hadoop环境搭建之伪分布式运行模式_第5张图片(4) 思考:为什么不能一直格式化NameNode,格式化NameNode,要注意什么?
Hadoop环境搭建之伪分布式运行模式_第6张图片
Hadoop环境搭建之伪分布式运行模式_第7张图片
注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式化NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。

4、测试
(1) 在HDFS文件系统上创建一个input文件夹
在这里插入图片描述
(2) 将测试文件内容上传到hdfs文件系统上
在这里插入图片描述
(3) 查看上传的文件是否正确
Hadoop环境搭建之伪分布式运行模式_第8张图片
(4) 运行MapReduce程序
Hadoop环境搭建之伪分布式运行模式_第9张图片
(5) 查看输出结果
Hadoop环境搭建之伪分布式运行模式_第10张图片
浏览器查看:
Hadoop环境搭建之伪分布式运行模式_第11张图片(6) 将测试文件内容下载到本地
Hadoop环境搭建之伪分布式运行模式_第12张图片

2.12 启动YARN并执行MapReduce程序

1、修改配置文件
(1) 配置 yarn-env.sh
配置一下JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144

(2) 配置 yarn-site.xml

<!-- Reducer获取数据的方式 -->
<property>
 		<name>yarn.nodemanager.aux-services</name>
 		<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>hadoop150</value>
</property>

(3) 配置 mapred-env.sh
配置以下JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144

(4) 将 mapred-site.xml.template 重新命名为 mapred-site.xml

[test@hadoop150 hadoop]$ mv mapred-site.xml.template mapred-site.xml
[test@hadoop150 hadoop]$ vi mapred-site.xml

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

2、启动集群
(1) 启动前必须保证 NameNode 和 DataNode 启动
(2) 启动 ResourceManager

[test@hadoop150 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager

(3) 启动 NodeManager

[test@hadoop150 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager

3、集群操作
(1) YARN的浏览器页面查看
这里要注意ip和端口要和自己的端口对应
http://192.168.1.150:8088/cluster
Hadoop环境搭建之伪分布式运行模式_第13张图片(2) 删除HDFS文件系统上的output文件夹

[test@hadoop150 hadoop-2.7.2]$ bin/hdfs dfs -rm -R /output

(3) 执行MapReduce程序

[test@hadoop150 hadoop-2.7.2]$ bin/hadoop jar
 share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /input /output

(4) 查看你运行结果

[test@hadoop150 hadoop-2.7.2]$ bin/hdfs dfs -cat /output/*

Hadoop环境搭建之伪分布式运行模式_第14张图片Hadoop环境搭建之伪分布式运行模式_第15张图片

2.13 配置历史服务器

为了查看程序的历史运行情况,需要配置一下历史服务器,具体配置步骤如下:

1、配置 mapred-site.xml

在文件中增加如下配置:

<!-- 历史服务器端地址 -->
<property>
	<name>mapreduce.jobhistory.address</name>
	<value>hadoop150:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop150:19888</value>
</property>

2、启动历史服务器

[test@hadoop150 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver

3、查看历史服务器是否启动

[test@hadoop150 hadoop-2.7.2]$ jps

Hadoop环境搭建之伪分布式运行模式_第16张图片
4、查看JobHistory
注意对应的ip和端口
http://192.168.1.150:19888/jobhistory
Hadoop环境搭建之伪分布式运行模式_第17张图片

2.14 配置日志的聚集

日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。
日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。
注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。
开启日志聚集功能具体步骤如下:

1、配置yarn-site.xml
在文件里增加如下的配置:

<!-- 日志聚集功能使能 -->
<property>
	<name>yarn.log-aggregation-enable</name>
	<value>true</value>
</property>

<!-- 日志保留时间设置7天 -->
<property>	
	<name>yarn.log-aggregation.retain-seconds</name>
	<value>604800</value>
</property>

2、关闭NodeManager、ResourceManager和HistoryManager

[test@hadoop150 hadoop-2.7.2]$ sbin/yarn-daemon.sh stop resourcemanager
[test@hadoop150 hadoop-2.7.2]$ sbin/yarn-daemon.sh stop nodemanager
[test@hadoop150 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh stop historyserver

3、启动NodeManager、ResourceManager和HistoryManager

[test@hadoop150 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager
[test@hadoop150 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager
[test@hadoop150 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver

4、删除HDFS上已经存在的输出文件

[test@hadoop150 hadoop-2.7.2]$ bin/hdfs dfs -rm -R /output

5、执行WordCount程序

[test@hadoop150 hadoop-2.7.2]$ hadoop jar
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /input /output

6、查看日志
注意对应的ip和端口
http://192.168.1.150:19888/jobhistory
Hadoop环境搭建之伪分布式运行模式_第18张图片Hadoop环境搭建之伪分布式运行模式_第19张图片Hadoop环境搭建之伪分布式运行模式_第20张图片

2.15 配置文件说明

Hadoop配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。
1、默认配置文件

要获取的默认文件 文件存放在Hadoop的jar包中的位置
core-default.xml hadoop-common-2.7.2.jar/ core-default.xml
hdfs-default.xml hadoop-hdfs-2.7.2.jar/ hdfs-default.xml
yarn-default.xml hadoop-yarn-common-2.7.2.jar/ yarn-default.xml
mapred-default.xml hadoop-mapreduce-client-core-2.7.2.jar/ mapred-default.xml

2、自定义配置文件
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可以根据项目需求重新进行修改配置。

三、说明

在配置伪分布式hadoop的第1步到第10步时请参考我的另一篇文章 “Hadoop环境搭建之本地运行模式”,软件包链接也在那篇文章里。链接如下:
https://blog.csdn.net/a1786742005/article/details/104078490

你可能感兴趣的:(Hadoop)