Spark Standalone HA 模式安装及问题处理

 前提:确保Zookeeper和HDFS均已经启动

node1启动HADOOP(任意路径输入以下命令)

(base) [root@node1 server]# start-all.sh 
 三台主机都启动zookeeper(三台主机都需要执行)
 (base) [root@node1 server]# cd /export/server/apache-zookeeper-3.5.6-bin
 (base) [root@node1 apache-zookeeper-3.5.6-bin]# bin/zkServer.sh start

1、配置文件修改

跳转到配置文件夹:

[root@node1 zookeeper-3.4.9]# cd /export/server/spark/conf

[root@node1 conf]# vim spark-env.sh

注释或删除掉下面的语句(前面加#号)

#export SPARK_MASTER_HOST=node1

增加以下内容:
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181 -Dspark.deploy.zookeeper.dir=/spark-ha"
# spark.deploy.recoveryMode 指定HA模式 基于Zookeeper实现
# 指定Zookeeper的连接地址
# 指定在Zookeeper中注册临时节点的路径

2、将spark-env.sh 分发到每一台服务器上

[root@node1 conf]# scp spark-env.sh node2:/export/server/spark/conf/
[root@node1 conf]# scp spark-env.sh node3:/export/server/spark/conf/

3、停止当前StandAlone集群

[root@node1 spark]# cd /export/server/spark

[root@node1 spark]# sbin/stop-all.sh

4、启动集群 

# 在node1上 启动一个master 和全部worker
[root@node1 spark]# sbin/start-all.sh

# 注意, 下面命令在node2上执行,需要上面的启动后再执行这个
[root@node2 spark]# sbin/start-master.sh
# 在node2上启动一个备用的master进程

#启动后node1和node2都会有master和worker进程(node1为主,node2为备)

5、查看主备情况

 http://node1:8081/

 #注:8080端口没被占用的情况下,页面查看用http://node1:8080/

#需用哪个端口可以通过以下命令查看

(base) [root@node1 spark]# jps

 (base) [root@node1 spark]# netstat -anp | grep 27552

问题处理 

如果显示node1和node2启动后都是

Status: STANDBY

可以安装更新版的zookeeper解决,安装方法同以下链接

Linux中安装Zookeeper_沉默鹰_90的博客-CSDN博客

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Spark Standalone HA安装步骤: 1. 配置SSH免密登录,在所有节点上安装Java和Spark。 2. 配置Spark的环境变量,如在.bashrc文件中添加以下内容: ``` export SPARK_HOME=/usr/local/spark export PATH=$SPARK_HOME/bin:$PATH ``` 3. 编辑Spark的配置文件,在每个节点上创建一个spark-env.sh文件,包含以下内容: ``` export SPARK_MASTER_HOST=<主节点的IP地址> export SPARK_MASTER_PORT=7077 export SPARK_WORKER_CORES=<每个节点的CPU核心数> export SPARK_WORKER_MEMORY=<每个节点的内存大小> export SPARK_WORKER_INSTANCES=1 export SPARK_DAEMON_MEMORY=<Master和Worker的内存大小> ``` 4. 在主节点上启动Spark Master,执行以下命令: ``` $SPARK_HOME/sbin/start-master.sh ``` 5. 在每个工作节点上启动Spark Worker,执行以下命令: ``` $SPARK_HOME/sbin/start-worker.sh spark://<主节点的IP地址>:7077 ``` 6. 配置Spark Standalone的高可用性,编辑spark-env.sh文件,添加以下内容: ``` export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=<Zookeeper集群的IP地址>:2181 -Dspark.deploy.zookeeper.dir=/spark" ``` 7. 配置Zookeeper集群,安装启动Zookeeper。 8. 在主节点上启动备用的Spark Master,执行以下命令: ``` $SPARK_HOME/sbin/start-master.sh --webui-port <备用Master的端口号> --properties-file <备用Master的配置文件> ``` 9. 配置自动故障切换,编辑spark-env.sh文件,添加以下内容: ``` export SPARK_DAEMON_JAVA_OPTS="$SPARK_DAEMON_JAVA_OPTS -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=<Zookeeper集群的IP地址>:2181 -Dspark.deploy.zookeeper.dir=/spark -Dspark.deploy.maxExecutorRetries=<最大重试次数> -Dspark.deploy.executorRetryInterval=<重试时间间隔>" ``` 10. 在备用Master节点上启动Spark Master HA,执行以下命令: ``` $SPARK_HOME/sbin/start-master.sh --webui-port <备用Master的端口号> --properties-file <备用Master的配置文件> --ha ``` 11. 配置Spark Worker节点,编辑spark-env.sh文件,添加以下内容: ``` export SPARK_WORKER_OPTS="$SPARK_WORKER_OPTS -Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=<Zookeeper集群的IP地址>:2181 -Dspark.deploy.zookeeper.dir=/spark" ``` 12. 测试Spark Standalone HA,停止主节点上的Spark Master进程,观察备用Master是否接管了Spark集群的管理。 以上就是Spark Standalone HA安装步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值