您的位置:首页 > 其它

Spark on YARN

2018-04-01 22:34 246 查看
Spark on YARN

MapReduce1.x
    JobTracker    资源的管理和作业的调度    TaskTracker

单点    缺点:单点故障,作业没法提交
JobTracker是瓶颈
仅支持MapReduce
资源利用率    空闲时没有利用好资源

Hadoop2.x  YARN
ApplicationMaster 职责 : 管理Task作业
        RM 要配HA,但可能存在问题:有时候一个挂掉,另外一个起不来。所以要对RM改造成真正的HA。

Spark on YARN: 区别:Driver端运行在哪里
cluster: driver run in am ---》am in nm
client:  driver run in client 仅仅需要AM申请资源

--master
--deploy-mode
简写:yarn client  ==> yarn / yarn-client
简写:yarn cluster ==> yarn-cluster

--properties-file FILE参数 :不同业务线取不同配置,文件形式读取
--spark.port.maxRetries   : 生产必须调大,spark访问最大值
--conf    默认配置,优先级最高

设置完config并成功启动后,必须到UI页面确保配置是否生效成功
SparkSubmitArguments    *****源码  在这里找配置才是最全的

Spark代码之美
executorMemory = Option(executorMemory)
.orElse(sparkProperties.get("spark.executor.memory"))
.orElse(env.get("SPARK_EXECUTOR_MEMORY"))
.orNull

def getDefaultPropertiesFile(env: Map[String, String] = sys.env): String = {
    // 系统环境变量中设置: export SPARK_CONF_DIR=$SPARK_HOME/conf
env.get("SPARK_CONF_DIR")
      // /home/hadoop/app/spark-2.2.0-bin-2.6.0-cdh5.7.0/conf/spark-default.conf
 .orElse(env.get("SPARK_HOME").map { t => s"$t${File.separator}conf" })
      .map { t => new File(s"$t${File.separator}spark-defaults.conf")}
      .filter(_.isFile)
      .map(_.getAbsolutePath)
      .orNull
}

client
CoarseGrainedExecutorBackend * 2
SparkSubmit
ExecutorLauncher

转载:http://www.cnblogs.com/MOBIN/p/5857314.html
请使用spark-submit提交我们的wc分别在client和cluster模式下测试
注意两者在运行过程中进程的差别

-----------------------------------------------------------

// TODO...
Spark on YARN

HistoryServer

job = n stage = n task

开启historyserver
1) 开关 
2) 日志记到什么地方去
A
B
3) 展示

--spark.eventLog.enabled=true 把UI的日志存在机器上
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://hadoop000:8020/spark_log"

spark.history.cleaner.enabled    false
spark.history.fs.cleaner.interval    1d
spark.history.fs.cleaner.maxAge    7d
这3个参数一定要打开    不然hdfs会有压力

UI监控:    
    /api/v1/applications    返回spark json
    /api/v1/applications/id/jobs    返回spark作业的json

Class.forName(.....)

SQL :  thriftserver/beeline
bin/beeline -u jdbc:hive2://localhost:10000 -n hadoop    !q退出

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: