热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Hadoop集群管理

Hadoop集群管理Hadoop是大数据通用处理平台,提供了分布式文件存储以及分布式离线并行计算,由于Hadoop的高拓展性,在使用Hadoop时通常以集群的方式运行,集群中的节

Hadoop集群管理

Hadoop是大数据通用处理平台,提供了分布式文件存储以及分布式离线并行计算,由于Hadoop的高拓展性,在使用Hadoop时通常以集群的方式运行,集群中的节点可达上千个,能够处理PB级的数据。

Hadoop各个模块剖析:https://www.cnblogs.com/funyoung/p/9889719.html

 

1.搭建HDFS集群

一个HDFS集群由一个NameNode节点和多个DataNode节点组成。

 

 

 

 

 

 

 

 

 

 

1.1 修改配置

 

1.配置SSH以及hosts文件

由于在启动HDFS时需要对用户的身份进行验证,且集群中的NameNode节点在启动时会通过SSH的方式通知其他节点,使其启动相应的进程,因此需要相互配置SSH设置免密码登录并且关闭防火墙。

//生成秘钥
ssh-keygen -t rsa 
​
//复制秘钥到本机和其他受信任的主机中,那么在本机可以直接通过SSH免密码登录到受信任的主机中.
ssh-copy-id 192.168.1.80
​
ssh-copy-id 192.168.1.81
​
ssh-copy-id 192.168.1.82 

编辑/etc/hosts文件,添加集群中主机名与IP的映射关系。

 

 

2.配置Hadoop公共属性(core-site.xml)

<configuration> 
  
  <property> 
    <name>hadoop.tmp.dirname>  
    <value>/usr/hadoop/hadoop-2.9.0/datavalue> 
  property>  
    
  <property> 
    <name>fs.defaultFSname>  
    <value>hdfs://192.168.1.80value> 
  property>  
    
  <property> 
    <name>fs.trash.intervalname>  
      
    <value>1440value> 
  property> 
configuration>

3.配置HDFS(hdfs-site.xml)

<configuration> 
    
  <property> 
    <name>dfs.replicationname>  
    <value>3value> 
  property>  
    
  <property> 
    <name>dfs.permissions.enabledname>  
    <value>falsevalue> 
  property>  
    
  <property> 
    <name>dfs.namenode.http-addressname>  
    <value>192.168.1.80:50070value> 
  property>  
    
  <property> 
    <name>dfs.namenode.secondary.http-addressname>  
    <value>192.168.1.80:50090value> 
  property> 
configuration>

4.在NameNode节点中配置Slave文件

#配置要运行DataNode的节点,值可以是主机名或IP地址。
192.168.1.80
192.168.1.81
192.168.1.82 

 

1.2 启动HDFS集群

1.分别格式化NameNode

bin/hdfs namenode -format

 

2.在任意一台Hadoop节点中启动HDFS,那么整个HDFS集群将会一起启动。

 

 

 

 

 

 

3.分别通过jps命令查看当前正在运行的JAVA进程。

 

 

  

 

  

 

 

 

 

4.当HDFS集群启动完毕后,由于NameNode部署在hadoop1机器上,因此可以访问http://192.168.1.80:50070进入HDFS的可视化管理界面,可以查看到当前HDFS集群中有3个存活的DataNode节点。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.搭建YARN集群

 

一个Yarn集群由一个ResourceManager节点和多个NodeManager节点组成。

 

 

2.1 修改配置

 

1.配置SSH以及hosts文件

由于在启动YARN时需要对用户的身份进行验证,且集群中的ResourceManager节点在启动时会通过SSH的方式通知其他节点,使其启动相应的进程,因此需要相互配置SSH设置免密码登录并且关闭防火墙。

//生成秘钥
ssh-keygen -t rsa 
​
//复制秘钥到本机和其他受信任的主机中,那么在本机可以直接通过SSH免密码登录到受信任的主机中.
ssh-copy-id 192.168.1.80
​
ssh-copy-id 192.168.1.81
​
ssh-copy-id 192.168.1.82 

编辑/etc/hosts文件,添加集群中主机名与IP的映射关系。

 

 

2.配置YARN(yarn-site.xml)

<configuration> 
    
  <property> 
    <name>yarn.nodemanager.aux-servicesname>  
    <value>mapreduce_shufflevalue> 
  property>  
    
  <property> 
    <name>yarn.resourcemanager.hostnamename>  
    <value>192.168.1.80value> 
  property>  
    
  <property> 
    <name>yarn.web-proxy.addressname>  
    <value>192.168.1.80:8089value> 
  property>  
    
  <property> 
    <name>yarn.log-aggregation-enablename>  
    <value>truevalue> 
  property>  
    
  <property> 
    <name>yarn.log-aggregation。retain-secondsname>  
    <value>864000value> 
  property>  
    
  <property> 
    <name>yarn.nodemanager.resource.memory-mbname>  
    <value>8192value> 
  property>  
    
  <property> 
    <name>yarn.nodemanager.resource.cpu-vcoresname>  
    <value>8value> 
  property> 
configuration>

3.配置MapReduce(mapred-site.xml)

<configuration> 
    
  <property> 
    <name>mapreduce.framework.namename>  
    <value>yarnvalue> 
  property>  
    
  <property> 
    <name>mapreduce.jobhistory.addressname>  
    <value>192.168.1.80:10020value> 
  property>  
    
  <property> 
    <name>mapreduce.jobhistory.webapp.addressname>  
    <value>192.168.1.80:19888value> 
  property>  
    
  <property> 
    <name>mapreduce.job.ubertask.enablename>  
    <value>truevalue> 
  property> 
configuration>

JobHistory记录了已经完成的MapReduce任务信息并存放在HDFS指定的目录下,默认未开启。

Uber运行模式对小作业进行优化,不会给每个任务分别申请Container资源,这些小任务将统一在一个Container中按照先执行map任务后执行reduce任务的顺序串行执行。 

4.在ResourceManager节点中配置Slave文件

#配置要运行NodeManager的节点,值可以是主机名或IP地址。
192.168.1.80
192.168.1.81
192.168.1.82

 

2.2启动YARN集群

1.在ResourceManager节点中启动YARN集群。

 

 

 

 

2.分别通过jps命令查看正在运行的JAVA进程。

 

 

 

 

 

 

 

 

 

3.当YARN集群启动后,由于ResourceManager部署在hadoop1机器上,因此可以访问http://192.168.1.80:8088进入YARN的可视化管理界面,可以查看到当前YARN集群中有3个存活的NodeManager节点。

 

 

4.在JosHistory节点中启动JobHistory。

 

 

 

 

 

当启动JobHistory后,可以访问mapreduce.jobhistory.address配置项指定的地址进入JobHistory可视化管理界面,默认是http://192.168.1.80:19888

  

3.Hadoop集群管理

 

3.1 动态新增DataNode和NodeManager节点

 

1.准备一台新的机器(节点)

 

2.修改各个节点的hosts文件,添加新节点的主机名与IP的映射关系。

 

 

 

3.相互配置SSH,使可以通过SSH进行免密码登录。

 

4.修改NameNode和ResourceManager节点的Slave文件,添加新节点的主机名或IP地址。

img

 

5.单独在新节点中启动DataNode和NodeManager。

 

 

 

 

 

6.进入HDFS的可视化管理界面,可以查看到当前HDFS集群中有4个存活的DataNode节点。

img 

7.进入YARN的可视化管理界面,可以查看到当前YARN集群中有4个存活的NodeManager节点。

img

 

3.2 动态卸载DataNode和NodeMananger节点

 

1.修改NameNode节点上的hdfs-site.xml配置文件,添加过滤配置。


<property>
  <name>dfs.hosts.excludename>
  <value>/usr/hadoop/hadoop-2.9.0/etc/hadoop/hdfs.excludevalue>
property>

  

2.修改ResourceManager节点上的yarn-site.xml配置文件,添加过滤配置。


<property>
  <name>yarn.resourcemanager.nodes.exclude-pathname>
  <value>/usr/hadoop/hadoop-2.9.0/etc/hadoop/yarn.excludevalue>
property>

 

3.分别刷新HDFS和YARN集群

 

 

 

第一次使用该配置时需要重启HDFS和YARN集群,使其重新读取配置文件,往后一旦修改过exclude.host配置文件则直接刷新集群即可。

 

4.进入HDFS的可视化管理界面,可以查看到hadoop4的DataNode节点已经被动态的移除。

img

 

5.进入Yarn的可视化管理界面,可以看到hadoop4的NodeManager节点已被移除。

img

 

6.使用jps命令查看hadoop4正在运行的JAVA进程,可以发现该节点上的NodeManager进程已经被kill掉,而DataNode进程仍然在运行,因此YARN集群在通过exclude.hosts文件过滤节点时,会把节点上的NodeManager进程杀死,因此不能够动态的进行恢复,而HDFS集群在通过exclude.hosts文件过滤节点时,并不会把节点上的DataNode进程给杀死,因此可以动态的进行恢复。

 

 


推荐阅读
  • 在本周的白板演练中,Apache Flink 的 PMC 成员及数据工匠首席技术官 Stephan Ewen 深入探讨了如何利用保存点功能进行流处理中的数据重新处理、错误修复、系统升级和 A/B 测试。本文将详细解释保存点的工作原理及其应用场景。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文详细介绍了 Flink 和 YARN 的交互机制。YARN 是 Hadoop 生态系统中的资源管理组件,类似于 Spark on YARN 的配置方式。我们将基于官方文档,深入探讨如何在 YARN 上部署和运行 Flink 任务。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 从码农到创业者:我的职业转型之路
    在观察了众多同行的职业发展后,我决定分享自己的故事。本文探讨了为什么大多数程序员难以成为架构师,并阐述了我从一家外企离职后投身创业的心路历程。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文详细介绍了Git分布式版本控制系统中远程仓库的概念和操作方法。通过具体案例,帮助读者更好地理解和掌握如何高效管理代码库。 ... [详细]
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
author-avatar
m13380107
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有