嗨,各位小伙伴,恭喜大家学习到这里,不知道关于大数据前面的知识遗忘程度怎么样了,又或者是对大数据后面的知识是否感兴趣,本文是《大数据从入门到精通(超详细版)》
的一部分,小伙伴们如果对此感谢兴趣的话,推荐大家按照大数据学习路径开始学习哦。
以下就是完整的学习路径哦。
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
大数据从入门到精通文章体系!!!!!!!!!!!!!!
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
推荐大家认真学习哦!!!
Yarn是什么
Hadoop YARN(Yet Another Resource Negotiator)是 Hadoop 生态系统中的一个核心组件,用于集群资源的管理和任务调度。YARN 的目标是为大规模分布式计算提供统一的资源管理框架,使得 Hadoop 除了支持 MapReduce 之外,还能够运行其他计算模型。
YARN 的主要功能包括:
YARN 的核心组件包括:
通过 YARN,Hadoop 可以不仅仅局限于 MapReduce,还可以支持更多计算模型和框架,提供更加灵活和高效的大规模数据处理能力。
于HDFS架构类似 , HDFS有NameNode和DataNode
Yarn也有ResourceManager和NodeManager
NodeManager会预先抢占这一部分的资源, 然后将这一部分的资源提供给程序使用 , 程序使用的资源也不能突破这部分的资源.
代理服务器, 即Web应用代理是YARN的一部分 , 默认情况下 , 它将作为资源管理器(RM)的一部分运行 , 但是可以配置为独立模式下运行.\
使用大理的原因是减少通过YARN进行基于网络的攻击可能性.
这是因为 , Yarn在运行时会提供一个WEB UI站点 , 可以让用户在浏览器内查看Yarn的运行信息.
对外提供WEB站点会有安全性问题 , 而代理服务器的功能就是最大限度的保障对WEB UI的访问安全性.
在yarn-site.xml中配置yarn.web-proxy.address参数即可
通过启动命令启动 : $HADOOP_YARN_HOME/sbin/yarn-daemon.sh start proxyserver
JobHistoryServer :
记录历史运行的程序的信息以及产生的日志并提供WEB UI站点供用户使用浏览器查看。
JobHistoryServer历史服务器功能:
JobHistoryServer需要配置:
组件 | 配置文件 | 启动进程 | 备注 |
---|---|---|---|
Hadoop HDFS | 需修改 | 需启动NameNode作为主节点DataNode作为从节点SecondaryNameNode主节点辅助 | 分布式文件系统 |
Hadoop YARN | 需修改 | 需启动ResourceManager作为集群资源管理者NodeManager作为单机资源管理者ProxyServer代理服务器提供安全性JobHistoryServer记录历史信息和日志 | 分布式资源调度 |
Hadoop MapReduce | 需修改 | 无需启动任何进程MapReduce程序运行在YARN容器内 | 分布式数据计算 |
以下配置都在$HADOOP_HOME/etc/hadoop的文件夹当中配置.
#JDK路径
export JAVA_HOME=/export/server/jdk
#设置JobHistoryServer的进程内存为1G
export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000
#设置日志级别为INFO
export HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
<description>MapReduce的运行框架设置为YARNdescription>
property>
<property>
<name>mapreduce.jobhistory.addressname>
<value>node:10020value>
<description>历史服务器通讯端口为node:10020description>
property>
<property>
<name>mapreduce.jobhistory.webapp.addressname>
<value>node:19888value>
<description>历史服务器web端口为node的19888description>
property>
<property>
<name>mapreduce.jobhistory.intermediate-done-dirname>
<value>/data/mr-history/tmp value>
<description>历史信息在HDFS的记录临时路径description>property>
<property>
<name>mapreduce.jobhistorydone-dirname>
<value>/data/mr-history/donevalue>
<description>历史信息在HDFS的记录路径description>
property>
<property>
<name>yarn.app.mapreduce.am.envname>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOMEvalue>
<description>MapReduce HOME 设置为HADOOP_HOMEdescription>
property>
<property>
<name>mapreduce.map.envname>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOMEvalue>
<description>MapReduce HOME 设置为HADOOP_HOMEdescription>
property>
<property>
<name>mapreduce.reduce.envname>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOMEvalue>
<description>MapReduce HOME 设置为HADOOP_HOMEdescription>
property>
#设置JDK路径的环境变量
export JAVA_HOME=/export/server/jdk
#设置HADOOP_HOME的环境变量
export HADOOP_HOME=/export/server/hadoop
#设置配置文件路径的环境变量
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
#设置日志文件路径的环境变量
export HADOOP_LOG_DIR=$HADOOP_HOME/logs
<configuration>
<property>
<name>yarn.log.server.urlname>
<value>http://node:19888/jobhistory/logsvalue>
<description>历史服务器路径description>
property>
<property>
<name>yarn.web-proxy.addressname>
<value>node:8089value>
<description>代理服务器主机和端口description>
property>
<property>
<name>yarn.log-aggregation-enablename>
<value>truevalue>
<description>开始日志聚合description>
property>
<property>
<name>yarn.nodemanager.remote-app-log-dirname>
<value>/tmp/logsvalue>
<description>程序日志HDFS的存储路径description>
property>
<property>
<name>yarn.resourcemanager.hostnamename>
<value>nodevalue>
<description>ResoucesManager的所在节点description>
property>
<property>
<name>yarn.resourcemanager.scheduler.classname>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairSchedulervalue>
<description>选择公平调度器description>
property>
<property>
<name>yarn.nodemanager.local-dirsname>
<value>/data/nm-localvalue>
<description>NodeManager中间数据本地存储路径description>
property>
<property>
<name>yarn.nodemanager.log-dirsname>
<value>/data/nm-logvalue>
<description>NodeManager数据日志本地存储路径description>
property>
<property>
<name>yarn.nodemanager.log.retain-secondsname>
<value>10800value>
<description>Default time (in seconds) to retain log files on the NodeManager Only applicable if log-aggregation is disabled.description>
property>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
<description>为Mapreduce程序开启Shuffle服务description>
property>
configuration>
scp mapred-env.sh mapred-site.xml yarn-env.sh yarn-site.xml node1:`pwd`/
scp mapred-env.sh mapred-site.xml yarn-env.sh yarn-site.xml node2:`pwd`/
一键启动YARN集群: $HADOOP_HOME/sbin/start-yarn.sh
一键停止YARN集群: $HADOOP_HOME/sbin/stop-yarn.sh
在当前机器,单独启动或停止进程 , 于hdfs类似
Hdfs :
hdfs --daemon start | stop namenode | datanode | secondarynamenode
Yarn :
$HADOOP_HOME/bin/yarn --daemon start | stop resourcemanager | nodemanager|proxyserver
start和stop决定启动和停止
可控制resourcemanager、nodemanager、proxyserver三种进程
历史服务器启动和停止
单词计数实例程序很简单 :
准备一份文件, 输入单词
将文件上传到HDFS当中
执行如下命令,提交示例MapReduce程序WordCount到YARN中执行
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount hdfs://node:8020/input/wordcount/ hdfs://node:8020/output/wc1
径(HDFS)
准备一份文件, 输入单词
将文件上传到HDFS当中
执行如下命令,提交示例MapReduce程序WordCount到YARN中执行
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount hdfs://node:8020/input/wordcount/ hdfs://node:8020/output/wc1