笔者的集群是 HA 模式的( HDFS 和 ResourceManager HA)。在 ” Hadoop-2.5.0-cdh5.3.2 HA 安装" 中详细讲解了关于 HA 模式的搭建,这里就不再赘述。但网上直接将关于 HA 模式下的历史服务器的配置资料却很少。

笔者在思考,如果配置在 mapred-site.xml 中就设置一台历史服务器,那么当这台机器挂了,那么能不能有另一台机器来承担历史服务器的责任,也就是笔者理想当然的 jobhistory server HA 模式。后面经过各自尝试,得出来的结论是笔者我太年轻了,概念没有搞懂,先总结如下:

  • 历史服务器是个独立的服务,其不会受到 namenode 和 resourcemanager 的 active/standby 切换所带来的影响
  • 当历史服务器突然失效了,那些日志文件依旧存在 HDFS 上。当历史服务器又恢复正常,还是能看到在历史服务器失效期间的运行日志
  • 可以很简单地把历史服务器当成是存在 HDFS 上日志文件的 Web 浏览器。当且仅当历史服务器启动后,才可以通过 Web 查看,比如 http://10.6.3.43:19888/jobhistory
  • 实际上,每台机器的 MapReduce 历史服务器的配置可以不同,当在哪台机器上执行程序时,那么所指向的历史服务器地址其实就是 mapred-site.xml 文件中 mapreduce.jobhistory.webapp.address 配置参数所指定的那台机器

所以 Hadoop HA 模式下的历史服务器配置和非 HA 模式是一样样的,如果你自作聪明(比如笔者),在 mapred-site.xml 文件中,添加了两个运行 namenode(resourcemanager) 进程的主备节点的主机名(或IP地址)。

但是真正在两台主机上同时启动历史服务器进程时,会报如下的类似错误:

INFO org.apache.hadoop.http.HttpServer2: HttpServer.start() threw a non Bind IOException 
77504 Java.NET.BindException: Port in use: master52:19888 
Caused by: java.Net.BindException: Cannot assign requested address 
INFO org.apache.hadoop.service.AbstractService: Service HistoryClientService failed in state STARTED; cause: org.apache.hadoop.yarn.webapp.WebAppException: Error starting http server 
INFO org.apache.hadoop.util.ExitUtil: Exiting with status -1

原因就是端口被占用了,很明显如果不改变端口,有且仅有一个 历史服务器成功启动,且启动的那个服务器是在 mapred-site.xml 文件中设置位置最下面的那个,及后面的配置参数将覆盖前一个配置参数。就算改变端口也没卵用…

Note:以上这些是笔者一边操作,一边对比总结,有些结论未必是正确的,还请各位指正…

  参考文献http://blog.csdn.net/u011414200/article/details/50338073

HA模式下历史服务器配置的更多相关文章

  1. Hadoop-2.X HA模式下的FSImage和EditsLog合并过程

    补充了一下NameNode启动过程中有关FSImage与EditsLog的相关知识. 一.什么是FSImage和EditsLog 我们知道HDFS是一个分布式文件存储系统,文件分布式存储在多个Data ...

  2. HA模式下的java api访问要点

    在非HA架构的HDFS中,客户端要通过java接口调用HDFS时一般是在JobRunner的类中按照下面的方式: 因为nodename只有一个节点所以会在代码中显式的指明要连接哪一个节点:但是在HA模 ...

  3. WLC HA模式下的注意事项

    管理控制器:1.控制器默认开启的是SSH (CLI),Secure Web/https (GUI)2.登录控制器的管理地址为Active设备所控制(主备的配置同步,所以管理地址一致)3.WLC HA状 ...

  4. 【Checkpoint】HA模式下结合zookeeper说一下checkpoint流程

    checkpoint过程 配置了HA的HDFS中,有active和standby namenode两个namenode节点.他们的内存中保存了一样的集群元数据信息,这个后续我会详细用一篇文章介绍HA, ...

  5. 在ZP的HA模式下 JM 重启失败

    https://issues.apache.org/jira/browse/FLINK-10030 https://issues.apache.org/jira/browse/FLINK-10011 ...

  6. hadoop hdfs ha 模式

    这是我自己在公司一个搭建公司大数据框架是自己的选项,在配置yarn ha 出现了nodemanager起不来的问题于是我把yarn搭建为普通yarn 如果有人解决 高yarn的nodemanager问 ...

  7. 转发-【分享】思科无线控制器HA模式升级

    思科无线控制器HA模式下升级文档   当前使用版本:8.0.120.0 计划升级版本:8.2.151.0   其他工具: TFTP Server: 3CDaemon 远程登录:SecureCRT   ...

  8. CAS (5) —— Nginx代理模式下浏览器访问CAS服务器配置详解

    CAS (5) -- Nginx代理模式下浏览器访问CAS服务器配置详解 tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 nginx版本: nginx-1.9.8 ...

  9. CAS (6) —— Nginx代理模式下浏览器访问CAS服务器网络顺序图详解

    CAS (6) -- Nginx代理模式下浏览器访问CAS服务器网络顺序图详解 tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 nginx版本: nginx-1. ...

随机推荐

  1. 恢复Reflector反编译后资源文件的办法

    反编译问题: 1.路径问题:如果遇到了Path.Combine,有错误改下即可 2.资源文件问题: 在Reflector下,对左边的资源管理窗口的Resources文件夹下的资源文件,进行右键点击,选 ...

  2. usb驱动开发18之设备生命线

    现在已经使用GET_DESCRIPTOR请求取到了包含一个配置里所有相关描述符内容的一堆数据,这些数据是raw的,即原始的,所有数据不管是配置描述符.接口描述符还是端点描述符都挤在一起,所以得想办法将 ...

  3. java中wait/notify机制

    通常,多线程之间需要协调工作.例如,浏览器的一个显示图片的线程displayThread想要执行显示图片的任务,必须等待下载线程 downloadThread将该图片下载完毕.如果图片还没有下载完,d ...

  4. Ruby中 使用Builder Xml Markup 操作XML

    =begin Ruby中 使用Xml Markup 轻松的对XML文档操作, 项目地址:http://builder.rubyforge.org/ 使用之前我们需要安装Builder xml mark ...

  5. android错误之MediaPlayer用法的Media Player called in state *,androidmediaplayer

    用到Media Player,遇到几个问题,记一下 用法就不说了,使用的时候最好参考一下mediaPlayer的这张图 第一个错误是Media Player called in state 8 这个是 ...

  6. 实现Linux与Windows下一致的命令行

    这其实是个非常简单的东西. 我们会写一些命令行的工具,一般跨平台的话,会用python或者perl写,比如叫foo.py,然后在Windows和Linux下调用这个脚本: Linux: foo.py ...

  7. ASP.NET MVC 关闭 客户端 xss 检查

    为防止 XSS 攻击,asp.net 机制 会默认检测 请求报文 内是否有包含html标签,以提醒开发人员处理,报错如下:"从客户端中检测到有潜在危险的Request...值"当我 ...

  8. 深入理解OOP(二):多态和继承(继承)

    本文是深入浅出OOP第二篇,主要说说继承的话题. 深入理解OOP(一):多态和继承(初期绑定和编译时多态) 深入理解OOP(二):多态和继承(继承) 深入理解OOP(三):多态和继承(动态绑定和运行时 ...

  9. grootJsAPI文档

    groot.view(name,factory) 用于创建一个modelView对象与指令gt-view对应 参数 用途 name 创建的modelView的名称,用groot.vms[name]可以 ...

  10. meta标签大全

    meta标签大全 <!--     x-ua-compatible(浏览器兼容模式)     仅对IE8+以效     告诉浏览器以什么版本的IE的兼容模式来显示网页     <meta ...