Hadoop完全集群模式的完善

我们此前搭建了一个Hadoop完全集群模式 ,这篇博客是对之前这个集群的一点完善

完善完全集群模式:
*历史服务器
	 MapReduce 的 JobHistory Server,这是一个独立的服务,可通过 web UI 展示历史作业日志,之所以将其独立出来,是为了减轻 ResourceManager 负担。
	 JobHistory Server 将会分析作业运行日志,并展示作业的启动时间、结束时间、各个任务的运行时间,各种Counter数据等,并产生一个指向作业和任务日志的链接,其默认端口号为 19888。通常可以启动在一台独立的机器上
*日志聚集
	我们的日志是分散在我们集群中的各个服务器上的 所以我们需要将他们聚集到hdfs-->数据仓库中。

我们先来使用MapReduce来执行一个最简单的wordcount 命令

首先 我们先在/usr/local/hadoop目录下 创建一个input文件夹  然后创建一个wordcount的文件 用来做MapReduce测试的样例
(重要!!别忘了!)然后,我们需要把这个文件上传到我们HDFS中
先使用 hdfs dfs -mkdir -p /test/input  在HDFS中创建一个/test/input这样一个目录来存放我们的wordcount文件
再把wordcount上传到HDFS我们新建的这个目录中 hdfs dfs -put wordcount /test/input
这样我们就把我们自己创建的文件上传到了HDFS中 就可以使用我们MapReduce下的wordcount命令去测试(注意!!我们测试的文件都应该上传到HDFS中才可以被运行 不能存储在本地)
然后我们进入/usr/local/hadoop/bin目录下(我们的操作需要在这个目录下进行) 使用这个命令
hadoop jar ../share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /test/input/wordcount /test/output
参数的意义:
../share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar  这个参数是表示使用的jar包
wordcount 指的是jar包中的命令
/test/input/wordcount  指的是我们测试的文件 
/test/output   指的是结果输出到的文件

在这里插入图片描述

执行完上面的wordcount命令后,我们可以去查询集群资源管理器
查看集群管理器web页面:http://ResourceManager:8088/cluster  //ResourceManager表示存放ResourceManager的机器名

在这里插入图片描述
所以接下来我们就来配置一下这个历史服务器

配置历史服务器很简单 :
注意!:配置之前要将所有的hadoop进程都停掉。
配置/usr/local/hadoop/etc/hadoop/mapred-site.xml:
<property>
	<name>mapreduce.jobhistory.address</name>
	<value>hadoop3:10020</value>
</property>
<property>
	<name>mapreduce.jobhistory.webapp.address</name>
	<value>hadoop3:19888</value>
</property>
注意:集群中的每台机器都需要设置  所以在一台虚拟机上配置好了后 将这个文件分发给其他的虚拟机!
rsync -rvl /usr/local/hadoop/etc/hadoop/mapred-site.xml jee@hadoop3:/usr/local/hadoop/etc/hadoop  //jee表示用户名 ,hadoop3表示虚拟机的hostname
需要手动启动历史服务器(我们再配置文件中写的是哪台虚拟机就在哪台虚拟机上启动它):在/usr/local/hadoop/sbin目录下执行 
./mr-jobhistory-daemon.sh start historyserver
停止:在hadoop/sbin/目录下执行
./mr-jobhistory-daemon.sh stop historyserver

在这里插入图片描述
启动了历史服务器之后 我们就可以进入任务的详情页面了
在这里插入图片描述
接下来我们配置一下集群的日志聚集

配置/usr/local/hadoop/etc/hadoop目录下的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>

然后再把它分发给集群中的其他机器    注意!:配置之前要将所有的hadoop进程都停掉。
rsync -rvl /usr/local/hadoop/etc/hadoop/mapred-site.xml jee@hadoop3:/usr/local/hadoop/etc/hadoop  //jee表示用户名 ,hadoop3表示虚拟机的hostname
发布了53 篇原创文章 · 获赞 0 · 访问量 1945

猜你喜欢

转载自blog.csdn.net/XXuan_/article/details/104761753