spark HA集群部署

目录

spark部署方式

Standalone模式 搭建

解压 重命名

修改配置文件

修改配置文件spark-env.sh

修改配置文件slaves

分发文件

启动spark集群

 spark集群管理页面[host01]

 spark HA集群部署

配置spark HA集群操作

修改spark-env.sh配置文件​编辑

 启动spark HA集群

启动zookeeper服务

测试host02节点是否转换为主节点

spark部署方式

  1. Standalone模式

    集群单机模式。在该模式下,spark集群架构为主从模式,此时集群会出现单点故障问题。

  2. Yarn模式

    Spark on Yarn模式,即把spark作为一个客户端,将作业提交给yarn服务。Yarn与Hadoop有密切关系。同时运行Hadoop和spark时优先选用。

    yarn Cluster:用于生产环境,所有资源调度和计算都在集群上运行

    Yarn Client:用于交互、调试环境

  3. Mesos模式

    Spark on Mesos模式,Mesos和Yarn同样是资源调度管理系统。Mesos与spark有密切关系

Standalone模式 搭建

解压 重命名

tar -zxvf spark-2.3.3-bin-hado.tgz -C /opt/programs #解压
mv spark-2.3.3-bin-hadoop2.7/ spark #重命名

修改配置文件

进入/spark/conf目录

将配置模板文件spark-env.sh.template复制一份并命名为spark-env.sh

cp spark-env.sh.templatespark-env.sh

修改配置文件spark-env.sh

#配置java环境变量
export JAVA_HOME=/opt/programs/jdk1.8.0_211
#指定Master的IP
export SPARK_MASTER_HOST=host01
#指定Master端口
export SPARK_MASTER_PORT=7077

复制文件slaves.template并重命名为slaves

cp slaves.template slaves

修改配置文件slaves

#在最后删掉locelhost并添加
host02
host03

分发文件

修改完配置文件后,将spark目录分发到host02和host03

scp -r /opt/programs/spark/ host02:/opt/programs/
scp -r /opt/programs/spark/ host03:/opt/programs/

启动spark集群

在/spark文件夹下启动所有结点

sbin/start-all.sh

关闭所有结点sbin/stop-all.sh

单独启动主节点sbin/start-master.sh

 三个节点分别执行 jps 【host01为master ,host02 host03为worker】

 spark集群管理页面[host01]

 https://主机IP:8080

 spark HA集群部署

解决Standalone模式单点故障问题,需要用到Zookeeper服务。

其基本原理是将Standalone集群连接到同一个Zookeeper实例并启动多个Master节点,利用Zookeeper提供的选举和状态保存功能,可以使一台Master节点被选举,另外一台Master节点处于Standby状态。

配置spark HA集群操作

修改spark-env.sh配置文件

#指定Master的IP
#export SPARK_MASTER_HOST=host01 #注释掉
#指定Master端口
export SPARK_MASTER_PORT=7077
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER #设置zookeeper去启动备用master模式
-Dspark.deploy.zookeeper.url=host01:2181,host02:2181,host03:2181  #指定zookeeper的server地址
-Dspark.deploy.zookeeper.dir=/spark"  #保存集群元数据信息的文件和目录

 将配置文件分发至host02,host03

scp spark-env.sh host02:/opt/programs/spark/conf
scp spark-env.sh host03:/opt/programs/spark/conf

 启动spark HA集群

启动zookeeper服务

1.依次在三个节点上启动zookeeper

zkServer.sh start

 host01,host02节点zookeeper启动报错

 解决:1.进入zookeeper/bin目录下进行启动

 解决2:进入zookeeper/data 删除zookeeper_server.pid文件后启动

2.在host01主节点使用一键启动脚本启动

/spark/sbin/start-all.sh

3.单独启动master节点【host02节点上再次启动master服务】

/spark/sbin/start-master.sh

  spark集群管理页面[host02]

测试host02节点是否转换为主节点

挂掉host01的master节点。host01spark集群管理界面不能访问,host02集群管理运行。

./sbin/stop-master.sh

 

 感谢!zookeeper启动报错解决参考以下解决方法:

 zookeeper启动报错:-bash: zkServer.sh: command not found命令未找到

 zookeeper启动报错 Starting zookeeper ... already running as process xxx

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在进行Spark HA部署时,可以按照以下步骤进行操作: 1. 首先,将配置文件分发至需要部署的节点。可以使用scp命令将spark-env.sh文件分发到host02和host03节点的对应目录下: ``` scp spark-env.sh host02:/opt/programs/spark/conf scp spark-env.sh host03:/opt/programs/spark/conf ``` 2. 接下来,启动Spark HA集群,同时启动Zookeeper服务。具体的启动过程可能因环境而异,请根据实际情况执行相应的命令。 3. 在配置文件中设置相关参数以支持Spark HA。可以使用以下参数进行配置: - spark.deploy.recoveryMode:设置为ZK,表示使用Zookeeper进行故障恢复。 - spark.deploy.zookeeper.url:设置Zookeeper的URL。 - spark.deploy.zookeeper.dir:设置Zookeeper保存恢复状态的目录,默认为/spark。 4. 最后,将配置文件发送到其他节点以确保所有节点都具有相同的配置。可以使用scp命令将spark-env.sh文件分发到其他节点的相应目录下: ``` scp -r spark-env.sh hadoop02:/home/hadoop/apps/spark/conf scp -r spark-env.sh hadoop02:/home/hadoop/apps/spark/conf ``` 请注意,以上步骤仅为示例,实际操作中可能需要根据具体环境和需求进行相应的修改和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [spark HA集群部署](https://blog.csdn.net/weixin_55047679/article/details/130045449)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Spark分布式集群部署HA配置](https://blog.csdn.net/a805814077/article/details/102989233)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值