实验目的

复习配置hadoop初始化环境

复习配置hdfs的配置文件

学会配置hadoop的配置文件

了解yarn的原理

实验原理

1.yarn是什么
  前面安装好了hdfs文件系统,我们可以根据需求进行数据的读写操作。hdfs解决了大数据的存储,接下来的问题就是根据实际的业务需求进行计算。目前大数据的计算业务主要有离线计算、实时计算、交互式查询、机器学习、图计算。例如storm是处理实时计算的,hadoop的mapreduce是处理批处理计算业务的。hive则是进行交互式查询的。这么多计算框架在一起,难免会引起资源管理的混乱问题,yarn则是用于管理计算资源的,计算资源主要是内存和CPU,默认是管理内存。
  Apache YARN(Yet Another Resource Negotiato的缩写)是Hadoop的集群资源管理系统。YARN被引入Hadoop2。最初是为了改善MapReduce的实现,但它具有足够的通用性,同样可以支持其他的分布式计算模式。
  YARN提供请求好而是用进群资源的API,但这些API很少直接使用于用户代码。相反,用户代码用的是分布式计算框架提供的更高层API,这些API建立在YARN之上且向用户隐藏了资源管理细节。

MapReduce、Spark、Tez这样的计算框架均以Yarn应用程序的形式运行于集群计算层(Yarn)和集群存储层(HDFS或HBase)之上,而Pig、Hive、Crunch则运行于MapReduce、Spark或Tez之上,并没有与Yarn直接交互。
Yarn的核心服务由两个组件提供:
  Resource Manager:每个集群一个实例,用于管理整个集群的资源使用;
  Node Manager:每个集群多个实例,用于自身Container的启动和监测(每个Node Manager上可能有多个Container)。
  注:根据Yarn配置的不同,Container可能是一个Unix进程或者一个Linux cgroup实例,在受限的资源范围内(如内存、CPU等)执行特定应用程序的代码。

2.yarn资源调度的方式
  目前yarn调度主要有两种:先进先出的调度模式和队列调度模式,分别是Google和Yahoo开源设计的,前者按照提交的顺序调度,后者则将用户划分为队列,给每个队列一定的资源。
  yarn将集群资源抽象成一个个容器Container,资源管理由ResourceManager和NodeManager共同完成,其中,ResourceManager中的调度器负责资源的分配,而NodeManager则负责资源的供给和隔离。ResourceManager将某个NodeManager上资源分配给任务(这就是所谓的“资源调度”)后,NodeManager需按照要求为任务提供相应的资源,甚至保证这些资源应具有独占性,为任务运行提供基础的保证,这就是所谓的资源隔离。

3.yarn的安装
  yarn的配置文件主要是mapred-site.xml、yarn-site.xml,配置这个文件的相关属性即可。

4.yarn配置
  (1)mapred-site.xml文件配置内容:

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<!-- 配置 MapReduce JobHistory Server 地址 ,默认端口10020 -->

<property>

<name>mapreduce.jobhistory.address</name>

<value>0.0.0.0:10020</value>

</property>

<!-- 配置 MapReduce JobHistory Server web ui 地址, 默认端口19888 -->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>0.0.0.0:19888</value>

</property>

  (2)yarn-site.xml文件需要配置的内容:

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<!--配置resourcemanager的节点地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>node6</value>

</property>

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

实验环境

1.操作系统
  服务器1:Linux_Centos
  服务器2:Linux_Centos
  服务器3:Linux_Centos
  服务器4:Linux_Centos
  操作机:Windows_7
  服务器1默认用户名:root,密码:123456
  服务器2默认用户名:root,密码:123456
  服务器3默认用户名:root,密码:123456
  服务器4默认用户名:root,密码:123456
  操作机默认用户名:hongya,密码:123456

2.实验工具
  Xshell

Xshell是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。
  Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。实验中我们用到XShell5,其新增功能有:
  1.有效保护信息安全性;Xshell支持各种安全功能,如SSH1/SSH2协议,密码,和DSA和RSA公开密钥的用户认证方法,并加密所有流量的各种加密算法。重要的是要保持用户的数据安全与内置Xshell安全功能,因为像Telnet和Rlogin这样的传统连接协议很容易让用户的网络流量受到任何有网络知识的人的窃取。Xshell将帮助用户保护数据免受黑客攻击。
  2.最好的终端用户体验;终端用户需要经常在任何给定的时间中运用多个终端会话,以及与不同主机比较终端输出或者给不同主机发送同一组命令。Xshell则可以解决这些问题。此外还有方便用户的功能,如标签环境,广泛拆分窗口,同步输入和会话管理,用户可以节省时间做其他的工作。
  3.代替不安全的Telnet客户端;Xshell支持VT100,VT220,VT320,Xterm,Linux,Scoansi和ANSI终端仿真和提供各种终端外观选项取代传统的Telnet客户端。
  4. Xshell在单一屏幕实现多语言;Xshell中的UTF-8在同类终端软件中是第一个运用的。用Xshell,可以将多种语言显示在一个屏幕上,无需切换不同的语言编码。越来越多的企业需要用到UTF-8格式的数据库和应用程序,有一个支持UTF-8编码终端模拟器的需求在不断增加。Xshell可以帮助用户处理多语言环境。
  5. 支持安全连接的TCP/IP应用的X11和任意;在SSH隧道机制中,Xshell支持端口转发功能,无需修改任何程序,它可以使所有的TCP/IP应用程序共享一个安全的连接。

添加内容:

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<!-- 配置 MapReduce JobHistory Server 地址 ,默认端口10020 -->

<property>

<name>mapreduce.jobhistory.address</name>

<value>0.0.0.0:10020</value>

</property>

<!-- 配置 MapReduce JobHistory Server web ui 地址, 默认端口19888 -->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>0.0.0.0:19888</value>

</property>

3.4配置同目录下的master文件(目录下没有此文件,直接新建并添加内容),添加管理节点的地址(每台节点都需要执行)。

vim master

  添加内容:

node 6      //以node6为主节点

  配置同目录下的slaves文件,添加工作节点的地址(每台节点都需要执行)。

vim slaves

  添加datanode:

node7

node8

node9

  这里只显示了命令和需要添加的内容,具体操作就不再演示。

3.5同目录下,yarn-site.xml文件需要配置的内容:

vim yarn-site.xml

  添加内容:

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>node6</value>

</property>

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

  前一个是nodemanager的内容,可以暂时不做了解,后面是resourcemanager的节点地址。其中第一个照写,第二个配置resourcemanager位置,一般情况下这个节点就是hdfs的namenode节点(node6)。

将none6 中的yarn配置文件直接复制到node7、node8、node9。(注意命令空格问题)

scp -r /home/hadoop/soft/hadoop-2.6.0-cdh5.5.2/etc/hadoop/yarn-site.xml root@node7:/home/hadoop/soft/hadoop-2.6.0-cdh5.5.2/etc/hadoop

scp -r /home/hadoop/soft/hadoop-2.6.0-cdh5.5.2/etc/hadoop/yarn-site.xml root@node8:/home/hadoop/soft/hadoop-2.6.0-cdh5.5.2/etc/hadoop

scp -r /home/hadoop/soft/hadoop-2.6.0-cdh5.5.2/etc/hadoop/yarn-site.xml root@node9:/home/hadoop/soft/hadoop-2.6.0-cdh5.5.2/etc/hadoop

  注:也可以以同样方法node6上修改的配置文件复制到其他工作节点。注意要命令文件名称的修改。

步骤4:启动yarn集群并检查其启动情况

  4.1启动yarn命令,程序为sbin目录下的start-yarn.sh。

cd ../..

sbin/strat-yarn.sh

启动之后,会提示四个日志文件的地址,如果出现异常,可以查看这些配置文件进行分析。
  4.2通过jps命令,看到有相应的进程。

jps

4.3打开浏览器,输入resourcemanager的IP,加上端口8088。

吴裕雄--天生自然HADOOP操作实验学习笔记:分布式资源调度系统yarn的安装的更多相关文章

  1. 吴裕雄--天生自然HADOOP操作实验学习笔记:mapreduce和yarn命令

    实验目的 了解集群运行的原理 学习mapred和yarn脚本原理 学习使用Hadoop命令提交mapreduce程序 学习对mapred.yarn脚本进行基本操作 实验原理 1.hadoop的shel ...

  2. 吴裕雄--天生自然HADOOP操作实验学习笔记:使用hive操作hbase

    实验目的 熟悉hive和hbase的操作 熟悉hadoop.hbase.hive.zookeeper的关系 熟练大数据环境的搭建 学会分析日志排除问题 实验原理 1.hive整合hbase原理 前面大 ...

  3. 吴裕雄--天生自然HADOOP操作实验学习笔记:hbase学生选课案例

    实验目的 复习hbase的shell操作和javaAPI操作 了解javaWeb项目的MVC设计 学会dao(数据库访问对象)和service层的代码编写规范 学会设计hbase表格 实验原理 前面我 ...

  4. 吴裕雄--天生自然HADOOP操作实验学习笔记:hbase的javaAPI应用

    实验目的 进一步了解hbase的操作 熟悉使用IDEA进行java开发 熟悉hbase的javaAPI 实验原理 前面已经了解通过hbase的shell操作hbase,确实比较难以使用,另外通过hiv ...

  5. 吴裕雄--天生自然HADOOP操作实验学习笔记:hbase的shell应用v2.0

    HRegion 当表的大小超过设置值的时候,HBase会自动地将表划分为不同的区域,每个区域包含所有行的一个子集.对用户来说,每个表是一堆数据的集合,靠主键来区分.从物理上来说,一张表被拆分成了多块, ...

  6. 吴裕雄--天生自然HADOOP操作实验学习笔记:hbase微博案例

    实验目的 熟悉hbase表格设计的方法 熟悉hbase的javaAPI 通过API理解掌握hbase的数据的逻辑视图 了解MVC的服务端设计方式 实验原理 上次我们已经初步设计了学生选课案例的,具体功 ...

  7. 吴裕雄--天生自然HADOOP操作实验学习笔记:mapreduce代码编程

    实验目的 深入了解mapreduce的底层 了解IDEA的使用 学会通过本地和集群环境提交程序 实验原理 1.回忆mapreduce模型 前面进行了很多基础工作,本次实验是使用mapreduce的AP ...

  8. 吴裕雄--天生自然HADOOP操作实验学习笔记:分布式及RPC通信简介

    实验目的 掌握GOF设计模式的代理模式 了解掌握socket编程.java反射.动态代理 了解NIO.多线程 掌握hadoop的RPC框架使用API 实验原理 1.什么是RPC 在hadoop出现以前 ...

  9. 吴裕雄--天生自然HADOOP操作实验学习笔记:hive DDL

    实验目的 了解hive DDL的基本格式 了解hive和hdfs的关系 学习hive在hdfs中的保存方式 学习一些典型常用的hiveDDL 实验原理 有关hive的安装和原理我们已经了解,这次实验我 ...

随机推荐

  1. openstack中的延迟删除

    glance镜像的延迟删除 在控制节点的glance-api.conf文件中设置延迟删除: # Turn on/off delayed delete delayed_delete = False # ...

  2. Ceph 存储集群4-高级运维:

    一.高级运维 高级集群操作主要包括用 ceph 服务管理脚本启动.停止.重启集群,和集群健康状态检查.监控和操作集群. 操纵集群 运行 Ceph 每次用命令启动.重启.停止Ceph 守护进程(或整个集 ...

  3. SDL多线程显示更新窗口

    //初始化SDL2和创建一个窗口,并且将屏幕绘制成大红色 #include <iostream> extern "C" { #include <SDL.h> ...

  4. pdo数据操作,3-4,0724

    require 'connect.php'; $linshi = $dbh->prepare('UPDATE `category` SET `name` = :name, `alias`=:al ...

  5. angularJS 格式化日期 转载

    angularjs中的filter(过滤器)——格式化日期的date 标签: filterangularjsdate http://blog.csdn.net/smile_panda/article/ ...

  6. c#设计模式读书博客

    第一次在博客园撸博客,也是为了鞭策自己去学习进步,过年之后买了一本<C#设计模式>这是我一直很想去学习的一本书.然后用博客记录我的学习历程,并且分享给需要的人.这本书记录的设计模式有23种 ...

  7. 【Codeforces #312 div2 A】Lala Land and Apple Trees

    # [Codeforces #312 div2 A]Lala Land and Apple Trees 首先,此题的大意是在一条坐标轴上,有\(n\)个点,每个点的权值为\(a_{i}\),第一次从原 ...

  8. Cobalt Strike生成后门

    Cobalt Strike生成后门 1.Payload概念 Payload在渗透测试之中大家可以简单地理解为一段漏洞利用/植入后门的代码或程序. 2.Cobalt Strike生成后门 攻击--> ...

  9. pyhton项目和晋江文学城数据分析项目

     1.图书管理系统 图1.图书管理系统(作者信息列表页面) 图2.图书管理系统(作者信息修改页面) 2.个人博客网页设计 图3.博客(我的日记-->个人日记)页面 图4.博客(关于我--> ...

  10. CSS选择器有哪几种?举例轻松理解CSS选择器

    CSS选择器汇总(清爽版) 1.元素选择器 标签名{ } 2.id选择器 #id属性值{ } 3.类选择器 ·class属性值{ } 4.选择器分组(并集选择器) 作用:通过它可以同时选中多个选择器对 ...