Ambari和YARN的Capacity调度器,安装过程
用Spark测试YARN的资源池,测试过程中发现很多时候爆资源不够;
于是添加机器,专门用于跑spark;首先是ssh不通,原来错把71的id_psa.put文件拷贝到64上面;后来ssh通了,ambaria安装成功了,但是在安装HDP的时候发现一个有一个组件找不到,rpclib-devel找不到,尽管hortonwork官网上面告诉可以在centos7的base景象中能够找到,但是其实没有,可能我本地的镜像不是那个最大的镜像?反正需要自己安装,还好之前已经备好了。拿来用就可以了。
安装了spark,但是发现nodemanager总是死,翻看日志:
Cannot load filesystem: java.util.ServiceConfigurationError: org.apache.hadoop.fs.FileSystem: Provider org.apache.hadoop.hdfs.web.WebHdfsFileSystem could not be instantiated
java.lang.NoClassDefFoundError: Could not initialize class sun.util.calendar.ZoneInfoFile
Cannot
load filesystem: java.util.ServiceConfigurationError:
org.apache.hadoop.fs.FileSystem: Provider
org.apache.hadoop.hdfs.web.SWebHdfsFileSystem could not be instantiated
... ...
java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.jackson.map.SerializationConfig
貌似一个Hdfs的的问题?大神坑有一个,从log日志看不到问题,上面这个问题,google都没有解得。后来在敲hadoop fs -ls /的时候,发现了另外一个错误:
java.lang.Error: java.io.FileNotFoundException: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64/jre/lib/tzdb.dat (No such file or directory),tzdb.dat是一个jre链接文件,如下:
lrwxrwxrwx 1 root root 30 Aug 30 13:35 tzdb.dat -> /usr/share/javazi-1.8/tzdb.dat
因为这个jdk是从73机器上面直接考过来的,但是链接文件的链接地址并没有考,所以会爆这个异常,然后把tzdb(从命名来看这是一个和时区相关的文件,tz,timezone之意)拷贝到64的机器之后,问题解决。这个说明了最好是同意安装一下jdk,不要用系统默认的Open JDK,因为可能因为路径,版本不同导致一系列问题。
YARN的Capacity Scheduler的权限总是没有配置上,于是我参考了一下Cloudera的Fair Schedule(Resource Pool),发现他的权限控制其实是需要打开的,就是点击Resouce Pool里面的“Everyone access”, 里面提示默认yarn.admin.acl是*,只有指定具体用户才能够配置其下属的节点,这意味如果root用户是*,那么的leaf节点配啥都没有用;而且在google的时候顺藤摸瓜的查找到了打开权限其实还是需要 yarn.acl.enabled设置为true(在Resource Manager相关配置中)。
简单总结一下,配置YARN的权限:
1. yarn.acl.enabled需要设置为true;
2. 必须配置root队列权限,可以配置一个空格" ",代表拒绝所有的用户;只有这样,下属队列权限才有意义;
另外,想要测试权限是否可用,只要看spark在提交阶段是否能够check住即可,不需要太往后执行,只要看到那一大长串,一定就是权限通过:
YarnClientImpl: Submitted application application_1519697915722_0002
18/02/27 10:20:44 INFO SchedulerExtensionServices: Starting Yarn ...
18/02/27 10:20:45 INFO Client: Application report for application_1519697915722_0002 (state: ACCEPTED)
18/02/27 10:20:45 INFO Client:
client token: N/A
diagnostics: AM container is launched, waiting for AM container to Register with RM
ApplicationMaster host: N/A
ApplicationMaster RPC port: -1
queue: default
start time: 1519698044501
final status: UNDEFINED
tracking URL: http://hdp3:8088/proxy/application_1519697915722_0002/
user: hdfs
通过界面对Scheduler Capacity进行修改以及重启配,修改的文件以及调用的指令如下:
$ vi $HADOOP_CONF_DIR/capacity-scheduler.xml
$ $HADOOP_YARN_HOME/bin/yarn rmadmin -refreshQueues
Ambari和YARN的Capacity调度器,安装过程的更多相关文章
- YARN的capacity调度器主要配置分析
yarn中一个基本的调度单元是队列. yarn的内置调度器: 1.FIFO先进先出,一个的简单调度器,适合低负载集群.2.Capacity调度器,给不同队列(即用户或用户组)分配一个预期最小容量,在每 ...
- 大数据之Yarn——Capacity调度器概念以及配置
试想一下,你现在所在的公司有一个hadoop的集群.但是A项目组经常做一些定时的BI报表,B项目组则经常使用一些软件做一些临时需求.那么他们肯定会遇到同时提交任务的场景,这个时候到底如何分配资源满足这 ...
- Hadoop Capacity调度器概念及配置
在Yarn框架中,调度器是一块很重要的内容.有了合适的调度规则,就可以保证多个应用可以在同一时间有条不紊的工作.最原始的调度规则就是FIFO,即按照用户提交任务的时间来决定哪个任务先执行,但是这样很可 ...
- 2.1.FastDFS-单机拆分版-调度器安装配置
Centos610系列配置 我们在Centos610FastDFS单机模式-FastDFS安装 中已经完成了FastDFS的安装,接下来我们进行FastDFS调度器的安装. 1.找到FastDFS配置 ...
- Hadoop Yarn调度器的选择和使用
一.引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色.在讨论其构造器之前先简单了解一下Yarn的架构. 上图是Yarn的基本架构,其中ResourceManager是整个架构的核 ...
- hadoop之 Yarn 调度器Scheduler详解
概述 集群资源是非常有限的,在多用户.多任务环境下,需要有一个协调者,来保证在有限资源或业务约束下有序调度任务,YARN资源调度器就是这个协调者. YARN调度器有多种实现,自带的调度器为Capaci ...
- Yarn 调度器Scheduler详解
理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分配资 ...
- 第1节 yarn:14、yarn集群当中的三种调度器
yarn当中的调度器介绍: 第一种调度器:FIFO Scheduler (队列调度器) 把应用按提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中最头上的应用进行分配资源 ...
- YARN调度器(Scheduler)详解
理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分配资 ...
随机推荐
- mysql一次性删除所有表而不删除数据库
1.执行如下语句获取删除语句 SELECT CONCAT( 'drop table ', table_name, ';' ) from information_schema.tables where ...
- android studio 连接 华为手机真机
1.手机开启开发者模式(Honor V10) 设置->关于手机->连续点击版本号5次就能出现开发者模式->返回上一级出现开发者选项->打开选项(开发者选项,USB调试) 2.a ...
- Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!
[转][原文] 大家好,好久不见,今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object); ...
- 一篇看懂++i i++
/** * @Title:Test03 * @Description: * @author Crazy-ZJ * @data 2017年9月28日上午9:38:00 * @book 疯狂java讲义( ...
- ssm框架搭建流程及原理分析
这几天自己想搭建个ssm框架玩一下,有些东西长时间不玩都给忘了,所以自己把整个流程整理了一下,只要跟着步骤,就能顺利完成ssm框架的搭建. 一.搭建步骤: 1.整理jar包 2.对于一个web ...
- JDK__下载地址
1. http://www.oracle.com/technetwork/java/archive-139210.html ZC: 貌似 从JDK7开始,有for ARM的版本,类似 : “Linux ...
- java-给微信推送消息 利用企业微信
目的:给关注用户推送消息 场景:自动化测试,运维监控,接口访问等报错预警.例如线上接口报错,发送提醒消息 准备工作: 1:注册企业号(为什么不用公众号呢?) 企业号注册 2:常用参数介绍: 1:COR ...
- 自行实现Kinect 手势Demo踩的坑
要将继承KinectGestures.GestureListenerInterface的脚本手动赋值给KinectManager脚本的手势监听列表
- ConEmu
https://conemu.github.io/ https://github.com/Maximus5/ConEmu/releases 将控制台整合到一起的工具,支持cmd.powershell. ...
- 【lightoj-1055】Going Together(BFS)
链接:http://www.lightoj.com/volume_showproblem.php?problem=1055 类似推箱子的游戏,一条命令可以让abc三个小人同时移动,但是出界或者撞墙是不 ...