zoukankan      html  css  js  c++  java
  • 安装高可用spark集群--多个Master,配置zookeeper

    前面我已经安装了spark集群,集群的规划是一个Master,三个Worker,L1上安装Master,L3,L4,L5上安装Worker,安装过程与细节请看我得另外一篇博客:https://blog.csdn.net/weixin_43866709/article/details/88388000

    不过这样安装只有一个Master节点,如果这个Master节点宕机了,那么这个集群就不能正常运行了,于是就需要一个高可用的集群。
    那么怎样实现高可用呢?我们可以安装两个Master,当其中一个Master节点宕机了之后,另外一个Master节点会立即顶替之前的节点,这样集群就可以稳定的进行工作了。
    这样一来,我们就需要zookeeper协调服务了,zookeeper安装请看博客:
    https://blog.csdn.net/weixin_43866709/article/details/88403379

    在这里插入图片描述

    现在的集群规划是:两个Master,三个Worker:
    L1 Master,zookeeper
    L2 Master,zookeeper
    L3 Worker,zookeeper
    L4 Worker
    L5 Worker

    安装配置完zookeeper集群并启动zookeeper集群。
    停止spark所有服务,修改配置文件spark-env.sh

    删除之前配置的SPARK_MASTER_IP //因为现在不确定Master节点是哪台机器了,所以要把这个删掉。

    添加如下配置:
    export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=L1,L2,L3(#这里填写的是zookeeper的三台主机) -Dspark.deploy.zookeeper.dir=/spark"
    然后记得将这个配置文件拷贝到其他机器。

    1.接着启动spark集群,然后在新加入的Master节点上,进入到sbin目录,执行start-master.sh,这表示只启动master节点。否则会出错。
    2.然后打开web管理界面,看到有三台Worker节点的信息
    3.然后回到真正工作的Master节点上(也就是L1),使用命令kill -9 Master进程号杀死这个Master进程,这时Web管理界面会失效,接着使用L2节点的IP进入到Web管理界面,会看到相同的Worker节点的信息。这表示zookeeper已经选举成功,现在L2是真正工作的Master节点,说明高可用的spark集群安装成功。

    注意事项

    1.因为添加了一台Master,所以在L2上也要配置到其他Worker节点和L1的ssh免密登陆,否则这个新增加的Master无法工作
    2.记得在/etc/hosts文件中添加其他节点的IP地址和主机名的映射关系,否则启动集群后,Worker节点虽然启动成功,但是spark集群Web管理页面上看不到Worker信息。
    3.注意spark-env.sh新增加配置的格式,三台zookeeper主机名之间要用逗号隔开,每个配置开头都是-D,且所有配置要写在双引号之间。
    4.在启动第二台Master节点时i,一定要用start-master.sh脚本启动。

  • 相关阅读:
    ajax 前台返回后台传递过来的数组
    js中push的用法
    split 的用法
    ckeditor上传图片
    FTP安装配置
    批量删除.svn文件
    Ext flex属性
    Extjs3 主题样式
    Ext.apply与Ext.applyIf
    SharePoint2010 Office Web Apps
  • 原文地址:https://www.cnblogs.com/ExMan/p/14308370.html
Copyright © 2011-2022 走看看