14 配置Hadoop集群-配置历史和日志服务

第一课时

一、导入

前面的课程我们搭建了hadoop集群,并成功启动了它,接下来我们看看如何去使用集群

测试的内容包括:1.上传文件,2.下载文件,3.运行程序

二、授新

配置运行任务的历史服务器

为了查看程序历史运行情况,需要配置一下历史服务器这个历史服务器需要消耗的资源比较小,你可以选择把它配置在集群中的任意一台节点上。但是,请注意,在哪一台上配置了,就应该在哪一台上去启动。

我们这把它配置在nn节点(hadoop100)上。具体配置步骤如下:

1.配置mapred-site.xml

在hadoop的安装目录下,打开mapred-site.xml,并在该文件里面增加如下两条配置。

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

2.分发配置

把这个配置同步到其他的节点中。这里直接使用我们之前封装好的命令xsync来同步。具体如下:

xsync $HADOOP_HOME/etc/hadoop/mapred-site.xml

3.启动历史服务器

请注意,你在配置的时候指定哪个节点是历史服务器,就在哪里启动,请不要搞错了。

对应的命令是: mapred --daemon start historyserver

4.检查历史服务器是否启动

通过jps命令来查看历史服务器是否已经成功启动了。

[root@hadoop100 hadoop]$ jps

5.查看JobHistory

方式1:直接去看所有的历史记录 href="http://hadoop100:19888/jobhistory" http://hadoop100:19888/jobhistory

方式2:重新启动yarn服务从具体的history链接进行跳转。

(二)配置运行任务的日志

与历史命令相配套的还有对应的执行的日志。

它的入口在上面的位置。点击之后,我们去查看:

发现看不了。接下来我们配置一下,让它能够访问

这个操作叫日志聚集。由于任务是在具体的节点上运行的,所以运行日志也是产生在具体的节点上,但是我们希望应用完成以后,将程序运行日志信息上传到HDFS系统上,这样就可以方便的查看到程序运行详情,方便开发调试。

注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryServer。

开启日志聚集功能具体步骤如下:

(1)配置yarn-site.xml

打开yarn-site.xml文件,我们添加如下的配置。在该文件里面增加如下配置。

<!-- 开启日志聚集功能 -->
<property><name>yarn.log-aggregation-enable</name><value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>  <name>yarn.log.server.url</name>  <value>http://hadoop101:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为7天 -->
<property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value>
</property>

(2)分发配置

和之前的配置一样,我们需要把这个更新之后的yarn-site.xml文件同步到其他的机器。这里还是使用脚本xsync。具体如下

xsync /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml

(3)重启ResourceManager和HistoryServer

进入到我们安装yarn的主机,通过命令来关闭掉yarn和historyServer,然后再重启。

[root@hadoop103 hadoop-3.1.3]$ sbin/stop-yarn.sh

[root@hadoop103 hadoop-3.1.3]$ mapred --daemon stop historyserver

启动ResourceManage和HistoryServer

start-yarn.sh

mapred --daemon start historyserver

(三)测试运行任务的日志

前面我们已经完成了任务日记的聚集,下面我们来看看是不是配置正确了。我们需要重新运行wordcount应用,然后再去看看是不是正确生成了日志。

  1. 重新执行WordCount程序

命令如下:

[root@hadoop100 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output

  1. 查看日志

如果一切正常,我们打开历史服务器地址http://hadoop101:19888/jobhistory 可以看到历史任务列表,如下:

点击对应的JobID,就可以进一步查看任务运行日志

然后在点击logs,就可以查看运行日志的详情了。

第二课时

我们基本上完成了hadoop集群的所有配置了,涉及到的服务也非常多。下面我们看看在启动和关闭集群和相关的服务的细节。

集群启动/停止方式命令小

我们配置了多台服务器,并且每台服务器上运行的任务都不太相同,我们可以使用jps命令来查看每台设备上的运行任务。

具体说明如下:

  1. DataNode,它是hdfs的模块之一,每台服务器都有。
  2. NameNode, hdfs的核心服务,只有一个。
  3. SecondaryNameNode,hdfs的核心服务,是NameNode的备份。
  4. RourceManager, Yarn的核心服务,只有一个。
  5. NodeManager,Yarn的核心模块,每台服务器都有。

我们可以通过这些关键进程的名称来判断当前集群是否正常运转。

1.各个模块分开启动/停止

(1) 整体启动/停止HDFS start-dfs.sh/stop-dfs.sh

(2) 整体启动/停止YARNstart-yarn.sh/stop-yarn.sh

2.各个服务组件逐一启动/停止

(1)分别启动/停止HDFS组件

hdfs --daemon start/stop namenode/datanode/secondarynamenode

(2)启动/停止YARN组件

yarn --daemon start/stop  resourcemanager/nodemanager/historyserver

)编写Hadoop集群启停脚本

启动的命令(HDFS,Yarn,Historyserver)比较多,在启动的时候,还要分别进入不同的服务器写不同的命令,比较麻烦。我们可以准备一个自定义的shell脚本,更加方便地完成整体启动和停止。

具体操作有四步:

  1. 建立新文件,编写脚本程序
  2. 分配执行权限
  3. 分发脚本
  4. 测试执行

下面分别介绍。

1.我们在hadoop100中操作,在/root/bin下新建文件:myhadoop,输入如下内容:

#!/bin/bash
if [ $# -lt 1 ]
thenecho "No Args Input..."exit ;
fi
case $1 in
"start")echo " =================== 启动 hadoop集群 ==================="echo " --------------- 启动 hdfs ---------------"ssh hadoop100 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"echo " --------------- 启动 yarn ---------------"ssh hadoop101 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"echo " --------------- 启动 historyserver ---------------"ssh hadoop100 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")echo " =================== 关闭 hadoop集群 ==================="echo " --------------- 关闭 historyserver ---------------"ssh hadoop100 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"echo " --------------- 关闭 yarn ---------------"ssh hadoop101 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"echo " --------------- 关闭 hdfs ---------------"ssh hadoop100 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)echo "Input Args Error..."
;;
esac

2.保存后退出,然后赋予脚本执行权限

chmod +x myhadoop

3.分发/home/root/bin目录,保证自定义脚本在三台机器上都可以使用。使用的命令如下

[root@hadoop100 ~]$ cd

4.测试执行

我们在hadoop100中,运行 myhadoop start 启动集群

在hadoop102中,运行myhadoop stop 停止集群

(六)查看三台服务器Java进程脚本:jpsall

同理,我们去/root/bin下创建一个新的脚本文件:jpsall,输入如下内容

#!/bin/bash
for host in hadoop100 hadoop101 hadoop102
doecho =============== $host ===============ssh $host jps 
done

保存后退出,然后赋予脚本执行权限

[root@hadoop100 bin]$ chmod +x jpsall

3)分发/home/root/bin目录,保证自定义脚本在三台机器上都可以使用

[root@hadoop100 ~]$ xsync /home/root/bin/

常用端口号说明

最后,补充总结一点关于我们用到的端口号的内容:

- 8020/9000/9820NameNode内部通信端口

- 9870:NameNode HTTP UI

- 8088: MapReduce查看执行任务端口

- 19888:历史服务器通信端口

三、课堂小结

通过本堂课的学习,我们学习了配置历史任务的功能和查看运行日志的功能,并且编写了一个用来启动和停止集群的脚本。至此,所有的配置相关的内容全部结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/74080.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

0102-web架构网站搭建-基础入门-网络安全

文章目录 1. 常规2 站库分离3 前后端分离4 集成环境5 docker6 分配站结语 1. 常规 结构&#xff1a;源码数据都在同服务器 影响&#xff1a;无&#xff0c;常规安全测试手法 2 站库分离 结构&#xff1a;源码和数据库不在同服务器 存储&#xff1a;其他服务器上数据库或者…

【分布式系统】-2-GFS

MIT的【分布式系统课程】学习记录 内容纯属个人学习过程中的笔记记录&#xff0c;如果有侵权现象请留言&#xff0c;会立刻删除 分布式存储系统的难点&#xff1a; 设计大型存储系统的出发点&#xff1a;利用数百台计算机资源同时完成大量工作&#xff0c;达到性能加成 如何做…

黑盒测试的场景法(能对项目业务进行设计测试点)

定义: 通过运用场景来对系统的功能点或业务流程的描述&#xff0c;设计用例遍历场景&#xff0c;验证软件系统功能的正确性从而提高测试效果的一种方法。 场景法一般包含基本流和备用流。 基本流:软件功能的正确流程&#xff0c;通常一个业务只存在一个基本流且基本流有一个…

22 安装第三方包

一、什么是第三方包 在 Python 的世界里&#xff0c;包就像是一个个功能强大的工具箱&#xff0c;它将多个 Python 模块收纳其中&#xff0c;而每个模块又蕴含着丰富多样的具体功能。可以说&#xff0c;一个包就是一系列同类功能的集合体&#xff0c;它们就像紧密协作的团队&a…

MyBatisPlus不等于如何使用

在 MyBatis Plus 中&#xff0c;ne 方法用于构建不等于条件的 SQL 查询。以下是 ne 方法的详细用法&#xff1a; 基本用法 ne 方法可以用于 QueryWrapper 或 LambdaQueryWrapper 中&#xff0c;用于指定某个字段的值不等于指定的值。它对应于 SQL 中的 ! 或 <> 操作符。 …

[学术][人工智能] 001_什么是神经网络?

神经网络是一种模拟生物神经系统的计算模型&#xff0c;具有广泛的应用和重要的研究价值。以下将从不同方面详细介绍神经网络。 一、神经网络的发展历程 20 世纪 60 年代&#xff0c;Hubel 和 Wiesel 在研究猫脑皮层中发现了用于局部敏感和方向选择的神经元结构&#xff0c;卷积…

Unity3D仿星露谷物语开发32之地面属性决定角色动作

1、目标 根据地面属性&#xff08;diggable, canDropItem, canPlaceFurniture, isPath, isNPCObstacle&#xff09;决定角色进行何种操作。比如没有canDropItem属性的地面&#xff0c;则不能放置物体。 2、优化保存Item数据 PS&#xff1a;这个是对已有代码的优化&#xff0…

031-valgrind

valgrind 以下是从原理到代码实现、参数优化及结果分析的Valgrind技术调研报告&#xff0c;结合C示例和可视化工具使用说明&#xff1a; 一、Valgrind核心原理与架构 1.1 系统架构 #mermaid-svg-xIgV3fg90dGhEEq4 {font-family:"trebuchet ms",verdana,arial,sans-…

C/C++蓝桥杯算法真题打卡(Day12)

一、P8752 [蓝桥杯 2021 省 B2] 特殊年份 - 洛谷 算法代码&#xff1a; #include<bits/stdc.h> using namespace std; int cnt;int main() {int i1;while(i<5){int num;cin>>num;string string_numto_string(num);if(string_num[0]string_num[2]&&str…

MySQL 复制与主从架构(Master-Slave)

MySQL 复制与主从架构&#xff08;Master-Slave&#xff09; MySQL 复制与主从架构是数据库高可用和负载均衡的重要手段。通过复制数据到多个从服务器&#xff0c;既可以实现数据冗余备份&#xff0c;又能分担查询压力&#xff0c;提升系统整体性能与容错能力。本文将详细介绍…

《大模型部署》——ollama下载及大模型本地部署(详细快速部署)

ollama Ollama 是一款开源跨平台的大语言模型&#xff08;LLM&#xff09;运行工具&#xff0c;旨在简化本地部署和管理 AI 模型的流程。 下载ollama 进入官网下载https://ollama.com/ 选择需要的系统下载 下载完成后直接进行安装 下载大模型 选择想要部署的模型&#…

Java关于包和final

什么是包&#xff1f; 包就是文件夹。用来管理等各种不同功能的java类&#xff0c;方便后期代码维护 包名的规则&#xff1a;公司域名反写包的作用&#xff0c;需要全部英文小写&#xff0c;见名知意。例如&#xff1a;com.pdsu.domain package com.pdsu.demain;public class…

数据层的基本操作

1.数据层的更名: Arcmap内容列表中,数据框所包含的每个图层及每个图层所包含的一系列地理要素,都有相应的描述字符与之对应.默认情况下,添加进地图的图层是以其数据源的名字命名的,而地理要素的描述就是要素类型字段取值.由于这些命名影响到用户对数据的理解和地图输出时的图例…

Vue舞台剧

Vue 的舞台剧比喻 &#x1f3ad;&#xff08;完整表格版&#xff09; Vue 结构及路由管理 Vue 结构比喻&#xff08;舞台剧&#xff09;&#x1f3ad;作用index.html空白场地 &#x1f3df;️Vue 负责填充内容&#xff0c;提供 #app 容器&#xff0c;等待演出开始。main.js导…

【Windows】win10系统安装.NET Framework 3.5(包括.NET 2.0和3.0)失败 错误代码:0×80240438

一、.NET3.5(包括.NET 2.0和3.0)安装方式 1.1 联网安装(需要联网,能访问微软,简单,很可能会失败) 1.2 离线安装-救急用(需要操作系统iso镜像文件,复杂,成功几率大) 二、联网安装 通过【控制面板】→【程序】→【程序和功能】→【启用或关闭Windows功能】 下载过程…

Android学习总结之RecyclerView补充篇

在 Android 开发中&#xff0c;列表数据更新的性能一直是关键痛点。传统的 notifyDataSetChanged() 会触发全量刷新&#xff0c;导致不必要的界面重绘。而 DiffUtil 作为 Android 提供的高效差异计算工具&#xff0c;能精准识别数据变化&#xff0c;实现局部更新&#xff0c;成…

Miniforge3高效管理 Python环境:2025年最新实践指南

Miniforge3 高效管理 Python 环境:2025 年最新实践指南 在现代开发中,灵活高效地管理 Python 环境至关重要。Miniforge3 作为一款轻量级 Conda 管理工具,不仅默认采用更新更快的 conda-forge 软件源,还对 ARM 架构(例如 Apple M1/M2/M3)有着出色的适配性。相比于传统的 …

山东大学软件学院项目创新实训开发日志(4)之中医知识问答数据存储、功能结构、用户界面初步设计

目录 数据库设计&#xff1a; 功能设计&#xff1a; 用户界面: 数据库设计&#xff1a; --对话表 (1个对话包含多条消息) CREATE TABLE conversations ( conv_id VARCHAR(36) PRIMARY KEY, -- 对话ID user_id VARCHAR(36) NOT NULL, -- 所属用户 title VARCHAR(100), -- 对话…

交换机、路由器、VLAN、单臂路由、三层交换、STP

华为模拟安装 1.依次安装wincap 2.wireshark 3.virtual box 4.ensp 一、设置 1.virtual box设置 2.计算机防火墙允许以上程序 3.eNSP设置 路由器&#xff1a;AR2240 交换机&#xff1a;S5700、CE12800 防火墙USG6000V 交换机 一、交换机工作原理 1、回顾 二层交换机…

【蓝桥杯】每日练习 Day15

目录 前言 奶牛选美 分析 代码 大臣的旅费 分析 代码 飞机降落 分析 代码 母亲的牛奶 分析 代码 扫雷 分析 代码 前言 虽为诞辰&#xff0c;但也不忘完成每日的训练。 今天给大家带来五道dfs的题目&#xff0c;包括组合数&#xff0c;连通块&#xff0c;数的…