• 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进行修改以及重启配,修改的文件以及调用的指令如下:

    1 $ vi $HADOOP_CONF_DIR/capacity-scheduler.xml
    2 $ $HADOOP_YARN_HOME/bin/yarn rmadmin -refreshQueues
  • 相关阅读:
    activiti5.13工作流系列(一)-初识
    java通过http调用服务
    Eclipse快捷键大全(转载)
    java作用域-转
    ajax两种不同方式的不同结果
    MySQL索引背后的数据结构及算法原理 --转
    解决json包含html标签无法显示的问题
    js下的sleep实现
    json使用
    比较靠谱的网页分页代码-转
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/8505216.html
Copyright © 2020-2023  润新知