• SPARK MASTER 高HA可用部署


    关于HA高可用部署方式,Spark提供了两种方案:

    • 基于文件系统的单点恢复(Single-Node Recovery with Local File system)

      主要用于开发或测试环境。为spark提供目录保存spark Application和worker的注册信息,并将他们的恢复状态写入该目录中,这时,一旦Master发生故障,就可以通过重新启动Master进 程(sbin/start-master.sh),恢复已运行的spark Application和worker的注册信息。

    • 基于zookeeper的Standby Masters(Standby Masters with ZooKeeper)

      用于生产模式。其基本原理是通过zookeeper来选举一个Master,其他的Master处于Standby状态。

      将Standalone集群连接到同一个ZooKeeper实例并启动多个Master,利用zookeeper提供的选举和状态保存功能,可以使一个Master被选举,而其他Master处于Standby状态。如果现任Master死去,另一个Master会通过选举产生,并恢复到旧的 Master状态,然后恢复调度。整个恢复过程可能要1-2分钟。

    以上高可用部署配置设计以下参数:

    spark.deploy.recoveryMode
    用于设置使用哪种恢复模式(FILESYSTEM|ZOOKEEPER).

    使用FILESYSTEM时(文件系统单点恢复),需搭配以下参数:

    spark.deploy.recoveryDirectory
    Spark保存恢复状态的目录

    使用ZOOKEEPER时,需搭配以下参数:

    spark.deploy.zookeeper.url
    The ZooKeeper cluster url (e.g., 192.168.1.100:2181,192.168.1.101:2181).
    
    
    spark.deploy.zookeeper.dir
    The directory in
    ZooKeeper to store recovery state (default: /spark).

    修改配置最简单方式为在$SPARK_HOME/conf/spark-env.sh文件中增加

    export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirectory=/data/spark/recovery"

    export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=n1:2181,n2:2181,n3:2181 -Dspark.deploy.zookeeper.dir=/temp/spark"

    使用zookeeper方式时的注意事项

    • 使用zookeeper方式时,切换期间新任务提交可能报错,但是已运行任务无影响。
    • 任务提交指定master地址时,需使用类似如下格式:spark://n1:7077,n2:7077,n3:7077

    参考资料

    http://www.cnblogs.com/hseagle/p/3673147.html

    https://spark.apache.org/docs/0.9.0/spark-standalone.html#standby-masters-with-zookeeper

  • 相关阅读:
    如何打开windows的远程桌面
    mongodb存储引擎
    使用场景举例
    webpack初识
    mongodb快速入门
    mongodb初识
    mysql主从复制与读写分离
    gradle简单配置跟模块依赖
    mysql执行计划
    synchronized的可见性理解
  • 原文地址:https://www.cnblogs.com/taisenki/p/5091606.html
Copyright © 2020-2023  润新知