我的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:)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:)
at java.lang.reflect.Constructor.newInstance(Constructor.java:)
at org.apache.spark.deploy.history.HistoryServer$.main(HistoryServer.scala:)
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:)
at org.apache.hadoop.hdfs.server.namenode.NameNode$NameNodeHAContext.checkOperation(NameNode.java:)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkOperation(FSNamesystem.java:)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:)

1 非Hadoop HA下Spark HistoryServer配置

1.1 配置spark-defalut.conf

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

其中配置了日志文件存储的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配置的值),不需要指定端口

最新文章

  1. spring注解配置实例
  2. Azure Table storage 基本用法 -- Azure Storage 之 Table
  3. (转载)SQL— CONCAT(字符串连接函数)
  4. PHP 调试
  5. 使用Visual Studio Code搭建TypeScript开发环境
  6. Javascript类继承-机制-代码Demo【原创】
  7. 常用类库——StringBuffer类
  8. Beaglebone Back学习三(开发环境搭建)
  9. bzoj4447 SCOI2015 小凸解密码 password
  10. printf("%d, %d\n", i++, ++i)的输出结果是确定的吗???
  11. JS原生javascript可以直接写id名来选取元素
  12. h5 + nginx + php 视频上传之突破文件大小受限的解决办法
  13. HTML Meta信息的优先级
  14. 浅谈在java中list集合的排序问题
  15. Nginx之编译安装的nginx加入systemctl
  16. Codeforces Round #424 E. Cards Sorting
  17. Win2012 R2虚拟机自激活(AVMA)技术
  18. Qt下QString转char*
  19. 初识EntityFramework6
  20. IOS中Key-Value Coding (KVC)的使用详解

热门文章

  1. [LeetCode&Python] Problem 100. Same Tree
  2. 实验吧—安全杂项——WP之 你知道他是谁吗?
  3. java gaoji 算法
  4. Mybatis一(基础)
  5. <---------------------装箱,拆箱的过程-------------------------->
  6. Singer 开源便捷的ETL 工具
  7. ipfs docker 运行试用
  8. CloudStack学习-3
  9. css 兼容性问题,整理
  10. 外观模式face