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中,负责给应用分配资 ...
随机推荐
- Aggregate Services
https://stackoverflow.com/questions/7199097/constructor-injection-into-a-base-class-using-autofac Ca ...
- quartz(2) -- 入门案例
第一步:添加jar,maven配置 <!-- quartz --> <dependency> <groupId>org.quartz-scheduler</g ...
- 低版本C++ string的万能转换,从long string 之间的转换来看看
string 转 long 那必须是万年atoi(),不过得配合c_str()使用! [plain] view plain copy #include <string> #include ...
- scala学习手记12 - 字段、方法和构造函数
在上一节创建了一个scala类,如果没有更多的方法,scala类的定义还可以更简单一些,看一下下面这个CreditCard类的定义: class CreditCard(val number: Int, ...
- Android 中Json解析的几种框架(Gson、Jackson、FastJson、LoganSquare)使用与对比
介绍 移动互联网产品与服务器端通信的数据格式,如果没有特殊的需求的话,一般选择使用JSON格式,Android系统也原生的提供了JSON解析的API,但是它的速度很慢,而且没有提供简介方便的接口来提高 ...
- Word批量设置表格宽度自动适应页面宽度
怎么批量修改Word表格的宽度呢.Word表格可根据窗口自动调整表格宽度,使得所有的表格宽度和页面宽度一样. 当页面设置了新的页边距后,所有的表格都需要调整新的宽度.或者文档中有许多大大小小的表格,希 ...
- LeetCode OJ:Count Primes(质数计数)
Count the number of prime numbers less than a non-negative number, n. 计算小于n的质数的个数,当然就要用到大名鼎鼎的筛法了,代码如 ...
- WinForm与Javascript交互
在应用程序的集成过程中,有时候需要WinForm应用程序和Javascript程序进行交互.比如说:应用程序是一个综合调度系统,在整个综合调度系统中,要实现定位,显示地图.综合调度平台的大部分功能都是 ...
- PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题
在你要输出的内容前先输出"\xEF\xBB\xBF",例如:你要输出的内容保存在$content里$content = "\xEF\xBB\xBF".$cont ...
- python学习网址
http://kuanghy.github.io/categories/#Python