Spark 在Hadoop HA下配置HistoryServer问题

我的Spark机群是部署在Yarn上的,因为之前Yarn的部署只是简单的完全分布式,但是后来升级到HA模式,一个主NN,一个备NN,那么Spark HistoryServer的配置也需要相应的做修改,因为不做修改会报错

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.apache.spark.deploy.history.HistoryServer$.main(HistoryServer.scala:184)
    at org.apache.spark.deploy.history.HistoryServer.main(HistoryServer.scala)
Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported in state standby
    at org.apache.hadoop.hdfs.server.namenode.ha.StandbyState.checkOperation(StandbyState.java:87)
    at org.apache.hadoop.hdfs.server.namenode.NameNode$NameNodeHAContext.checkOperation(NameNode.java:1719)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkOperation(FSNamesystem.java:1350)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:4132)
    at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:838)
    at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:821)

1 非Hadoop HA下Spark HistoryServer配置

1.1 配置spark-defalut.conf

spark.eventLog.enabled             true
spark.eventLog.dir                 hdfs://1421-0002:9000/spark/sparklogs spark.yarn.historyServer.address   1421-0002:18080 spark.serializer                   org.apache.spark.serializer.KryoSerializer spark.executor.instances           4

其中配置了日志文件存储的HDFS的路径,还有Spark history server的地址

1.2 配置spark-env.sh

#指定logDirectory,在start-history-server.sh时就无需再显示的指定路径
export SPARK_HISTORY_OPTS="-Dspark.history.retainedApplications=10 -Dspark.history.fs.logDirectory=hdfs://1421-0002:9000/spark/sparklogs"

其中指定了日志文件存储的HDFS路径,那么每次启动就不需要加这个参数了

1.3 启动Spark History Server

start-history-server.sh 

2 Hadoop HA下,Spark HistoryServer配置

2.1 修改spark-env.sh

#指定logDirectory,在start-history-server.sh时就无需再显示的指定路径
export SPARK_HISTORY_OPTS="-Dspark.history.retainedApplications=10 -Dspark.history.fs.logDirectory=hdfs://hadoop-cluster/spark/sparklogs"

这里将HDFS的路径修改了,因为之前只有一个NN,HA的情况下,指定了两个,所以将1421-0002:9000替换成hadoop-cluster(hadoop/etc/hadoop/hdfs-site.xml 中dfs.nameservices配置的值),不需要指定端口

时间: 2025-01-17 10:22:18

Spark 在Hadoop HA下配置HistoryServer问题的相关文章

Hadoop 配置及hadoop HA 的配置

注:本文中提到的ochadoop 不要感到奇怪,是亚信公司内部自己合成的一个包,把所有的组件都放在一个包内了,免去了组件的下载过程和解决兼容问题,其实也可以自己下载的,不要受到影响. 另,转载请注明出处,谢谢 修改静态IP和hostname 在 /etc/sysconfig/network-scripts/ifcfg-eth0配置IPADDR地址 运行以下命令生效 service network restart 在/etc/sysconfig/network中配置hostname配置完成后重启生

Spark HA模式访问Hadoop HA下的数据

首先是需要将hadoop的配置文件core-site,xml和hdfs-site.xml 拷贝到Spark conf目录下 然后启动提交即可 spark-submit --master spark://hadoop-namenode-01:7077,hadoop-namenode-02:7077 \ --class org.apache.spark.examples.SparkPi --deploy-mode cluster --executor-memory 4G --total-execut

启动Hadoop HA Hbase zookeeper spark

备注:我的公钥文件在/home/hxsyl/.ssh下不在/root/hxsyl下,通过 find / -name id_rsa 查找 1.分别在每个机器上运行命令zkServer.sh start或者在$ZOOKEEPER_HOME/bin目录下运行./zkServer.sh start命令.然后可以通过命令jps来查看Zookeeper启动的进程QuorumPeerMain. 可通过zkServer.sh status命令来查看Zookeeper状态.正常是机器中只有一个leader,其他的

spark HA 安装配置和使用(spark1.2-cdh5.3)

安装环境如下: 操作系统:CentOs 6.6 Hadoop 版本:CDH-5.3.0 Spark 版本:1.2 集群5个节点 node01-05 node01-03 为worker node04.node05为master spark HA 必须要zookeepr来做协同服务,做master主备切换,zookeeper的安装和配置再次不做赘述. yum源的配置请看: 1.安装 查看spark的相关包有哪些: [[email protected] hadoop-yarn]# yum list |

HA下Spark集群工作原理(DT大数据梦工厂)

Spark高可用HA实战 Spark集群工作原理详解 资源主要指内存.CPU 如果是单点的话,Master如果出现故障,则集群不能对外工作 Spark通过Zookeeper做HA,一般做HA是一个active级别,standby active就是当前工作 standby是随时准备active的挂了之后会切换成为active级别 以前一般是2台机器,一个active,一个standby 现在一般是3台机器,一个active,两个standby,甚至3台以上 Zookeeper包含了哪些内容:所有的

Ubuntu下配置安装Hadoop 2.2

---恢复内容开始--- 这两天玩Hadoop,之前在我的Mac上配置了好长时间都没成功的Hadoop环境,今天想在win7 虚拟机下的Ubuntu12.04 64位机下配置, 然后再建一个组群看一看. 参考资料: 1. Installing single node Hadoop 2.2.0 on Ubuntu: http://bigdatahandler.com/hadoop-hdfs/installing-single-node-hadoop-2-2-0-on-ubuntu/ 配置过程如下:

hadoop 2.2 第二步 HA zookeeper 配置

第一篇文章还有要修改的地方,现在我的集群已经扩展到5台(虚拟机)有些配置还要改,这一篇记录一下Hadoop HA 和zookeeper的配置,方便自己以后看. 新的HDFS中的NameNode不再是只有一个了,可以有多个(目前只支持2个).每一个都有相同的职能. 在HDFS(HA) 集群中,Standby 节点还执行着对namespace 状态的checkpoint 功能,因此没有必要再运行SecondaryNameNode. 这两个NameNode的地位如何:一个是active状态的,一个是s

虚拟机centos7系统下安装hadoop ha和yarn ha(详细)

一:基础环境准备 (一):虚拟机新建五个centos7系统(复制文件夹的方式) (二):角色分配 (三)按照角色分配表配置 (1)更改主机ip(自行查找),如果只是个人搭建玩一玩,可选择安装centos7图形界面操作比较简单 (2)更改主机名方法, vim /etc/hostname文件,修改成对应的主机名,保存(比如在192.168.254.2这台主机上,就修改成master).再执行hostname 主机名,进行设置. (3)在五个虚拟机系统中修改/etc/hosts文件,添加如下内容 19

hadoop搭建杂记:Linux下hadoop的安装配置

VirtualBox搭建伪分布式模式:hadoop的下载与配置 VirtualBox搭建伪分布式模式:hadoop的下载与配置 由于个人机子略渣,无法部署XWindow环境,直接用的Shell来操作,想要用鼠标点击操作的出门转左不送- 1.hadoop的下载与解压 wget http://mirror.bit.edu.cn/apache/hadoop/common/stable2/hadoop-2.7.1.tar.gzmkdir /usr/hadooptar -xzvf hadoop-2.7.1