赞
踩
嗨,各位小伙伴,恭喜大家学习到这里,不知道关于大数据前面的知识遗忘程度怎么样了,又或者是对大数据后面的知识是否感兴趣,本文是《大数据从入门到精通(超详细版)》
的一部分,小伙伴们如果对此感谢兴趣的话,推荐大家按照大数据学习路径开始学习哦。
以下就是完整的学习路径哦。
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
推荐大家认真学习哦!!!
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.name</name> <value>yarn</value> <description>MapReduce的运行框架设置为YARN</description> </property> <property> <name>mapreduce.jobhistory.address</name> <value>node:10020</value> <description>历史服务器通讯端口为node:10020</description> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>node:19888</value> <description>历史服务器web端口为node的19888</description> </property> <property> <name>mapreduce.jobhistory.intermediate-done-dir</name> <value>/data/mr-history/tmp </value> <description>历史信息在HDFS的记录临时路径</description></property> <property> <name>mapreduce.jobhistorydone-dir</name> <value>/data/mr-history/done</value> <description>历史信息在HDFS的记录路径</description> </property> <property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value> <description>MapReduce HOME 设置为HADOOP_HOME</description> </property> <property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value> <description>MapReduce HOME 设置为HADOOP_HOME</description> </property> <property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value> <description>MapReduce HOME 设置为HADOOP_HOME</description> </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> <!-- Site specific YARN configuration properties --> <property> <name>yarn.log.server.url</name> <value>http://node:19888/jobhistory/logs</value> <description>历史服务器路径</description> </property> <property> <name>yarn.web-proxy.address</name> <value>node:8089</value> <description>代理服务器主机和端口</description> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> <description>开始日志聚合</description> </property> <property> <name>yarn.nodemanager.remote-app-log-dir</name> <value>/tmp/logs</value> <description>程序日志HDFS的存储路径</description> </property> <!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.hostname</name> <value>node</value> <description>ResoucesManager的所在节点</description> </property> <property> <name>yarn.resourcemanager.scheduler.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value> <description>选择公平调度器</description> </property> <property> <name>yarn.nodemanager.local-dirs</name> <value>/data/nm-local</value> <description>NodeManager中间数据本地存储路径</description> </property> <property> <name>yarn.nodemanager.log-dirs</name> <value>/data/nm-log</value> <description>NodeManager数据日志本地存储路径</description> </property> <property> <name>yarn.nodemanager.log.retain-seconds</name> <value>10800</value> <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-services</name> <value>mapreduce_shuffle</value> <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三种进程
历史服务器启动和停止
$HADOOP_HOME/bin/mapred --daemon start|stop historyserver
单词计数实例程序很简单 :
准备一份文件, 输入单词
将文件上传到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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。