Spark1.0.2 Standalone 模式部署

2024-06-07 16:08

本文主要是介绍Spark1.0.2 Standalone 模式部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

节点说明

IP用户名主机名角色
10.6.2.109hadoopclientSpark客户端
10.6.2.111hadoopmasterHDFS(NameNode,SecondNameNode);Spark(Master,Worker)
10.6.2.112hadoopworker1HDFS(DataNode);Spark(Worker)
10.6.2.113hadoopworker2HDFS(DataNode);Spark(Worker)

节点说明:在10.6.2.111,10.6.2.112,10.6.2.113节点上应经搭建了hadoop-2.2.0完全分布式集群,具体教程见64位Centos6.5 Hadoop2.2.0 完全分布安装教程

1. Spark1.0.2 Standalone安装

1.1 下载安装包

这里写图片描述
从Spark官网上下载如图所示编译好的Spark安装包spark-1.0.2-bin-hadoop.tgz
注意:部署这个安装包的前提是已经安装好hadoop-2.2.0,否则会出现兼容问题

1.2 解压安装包

注意:以下操作均在10.6.2.111节点上
在当前用户目录下创建两个文件夹softwares和tar_package,将spark-1.0.2-bin-hadoop.tgz放置在 tar_package目录下,并解压到softwares目录下

cd ~/tar_package
tar -zxvf spark-1.0.2-bin-hadoop.tgz -C ~/softwares

进入softwares文件夹可以看到解压后的文件夹spark-1.0.2-bin-hadoop,将spark-1.0.2-bin-hadoop重命名为spark-1.0.2

mv spark-1.0.2-bin-hadoop spark-1.0.2

1.3 配置

所需修改的配置文件除了spark-env.sh文件以外,还有slave文件,都位于conf目录中。

cd ~/softwares/spark-1.0.2/conf/
vim slaves

添加下图所示内容,保存并退出
这里写图片描述

cp spark-env.sh.template spark-env.sh
vim spark-env.sh

添加如下内容,保存并退出

export SPARK_MASTER_IP=master
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORE=3
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=3g

注释:

  • SPARK_MASTER_PORT:Master服务端口,默认为7077
  • SPARK_WORKER_CORES:每个Worker进程所需要的CPU核的数目
  • SPARK_WORKER_INSTANCES:每个Worker节点上运行Worker进程的数目
  • SPARK_WORKER_MEMORY:每个Worker进程所需要的内存大小

将配置好的Spark文件拷贝至每个Spark集群的节点上的相同路径中

scp  -r  /home/hadoop/softwares  hadoop@worker1:/home/hadoop/
scp  -r  /home/hadoop/softwares  hadoop@worker2:/home/hadoop/
scp  -r  /home/hadoop/softwares  hadoop@client:/home/hadoop/

为方便使用spark-shell,可以在环境变量中配置上SPARK_HOME
回到用户当前目录下,编辑.bash_profile文件

cd 
vim .bash_profile

添加如下内容,保存并退出

export SPARK_HOME=/home/hadoop/softwares/spark-1.0.2
export PATH=$PATH:$SPARK_HOME/bin

然后source一下

source .bash_profile

注意:在每个节点上都要设置.bash_profile文件

1.4 启动

在10.6.2.111节点上启动spark standalone集群

cd ~/softwares/spark-1.0.2/sbin
ls
./start-all.sh
jps

可以看到一个Jps进程,一个Master进程,一个Worker进程
在10.6.2.112上输入jps看到一个Jps进程,一个Worker进程
在10.6.2.113上输入jps看到一个Jps进程,一个Worker进程


在10.6.2.111节点上,通过浏览器访问http://master:8080可以监控spark Standalone集群
这里写图片描述

2. Spark1.0.2 Standalone HA的实现

Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单点故障的问题。如何解决这个单点故障的问题,Spark提供了两种方案:

  • 基于文件系统的单点恢复
  • 基于zookeeper的Standby Masters

基于文件系统的单点恢复主要用于开发或测试环境下。基于zookeeper的Standby Masters用于生产模式下。本文档采用 基于zookeeper的Standby Masters。

2.1 安装zookeeper

2.1.1 下载安装包

zookeeper-3.4.6下载地址

2.1.2 解压安装包

注意:以下操作均在10.6.2.111节点上
将zookeeper-3.4.6.tar.gz放置在 tar_package目录下,并解压到softwares目录下

cd ~/tar_package
tar -zxvf zookeeper-3.4.6.tar.gz -C ~/softwares

2.1.3 配置

cd ~/softwares/zookeeper-3.4.6/conf
ls
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg

添加如下内容,保存并退出

dataDir=/home/hadoop/softwares/zookeeper-3.4.6/data
dataLogDir=/home/hadoop/softwares/zookeeper-3.4.6/datalog
server.1=master:2888:3888
server.2=worker1:2888:3888
server.3=worker2:2888:3888

然后回到zookeeper-3.4.6目录下进行操作

cd ..
mkdir data
mkdir datalog
echo 1 > data/myid

将配置好的zookeeper文件拷贝至每个集群每个节点上的相同路径中并修改每个节点的myid

scp  -r  /home/hadoop/softwares/zookeeper-3.4.6  hadoop@worker1:/home/hadoop/softwares
scp  -r  /home/hadoop/softwares/zookeeper-3.4.6  hadoop@worker2:/home/hadoop/softwares

在10.6.2.112节点上,在用户当前目录下

cd ~/softwares/zookeeper-3.4.6/
echo 2 > data/myid

在10.6.2.113节点上,在用户当前目录下

cd ~/softwares/zookeeper-3.4.6/
echo 3 > data/myid

2.1.4 启动zookeeper

在10.6.2.111节点上,在用户当前目录下

cd ~/softwares/zookeeper-3.4.6/bin
./zkServer.sh start

在10.6.2.112,10.6.2.113进行同样的操作启动zookeeper。
启动完成后,在每个节点上jps可以看到 QuorumPeerMain进程。

2.2 重新配置spark-env.sh文件

注意:以下操作均在10.6.2.111节点上

cd ~/softwares/spark-1.0.2/sbin/
./stop-all.sh
cd ~/softwares/spark-1.0.2/conf/
vim spark-env.sh

添加如下内容,注释掉export SPARK_MASTER_IP=master export SPARK_MASTER_PORT=7077这两行,保存并退出

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master:2181,worker1:2181    ,worker2:2181 -Dspark.deploy.zookeeper.dir=/spark"

将配置spark-env.sh文件发放给各节点

scp spark-env.sh hadoop@worker1:/home/hadoop/softwares/spark-1.0.2/conf/
scp spark-env.sh hadoop@worker2:/home/hadoop/softwares/spark-1.0.2/conf/

在10.6.2.111节点上启动spark standalone集群

cd ~/softwares/spark-1.0.2/sbin
ls
./start-all.sh

再在10.6.2.112节点上启动Master进程

cd ~/softwares/spark-1.0.2/sbin
ls
./start-master.sh

在10.6.2.111节点上,通过浏览器访问http://master:8080和http://worker1:8080,如下图所示
这里写图片描述
这里写图片描述
10.6.2.111节点上的Master进程的状态是alive,10.6.2.112节点上的Master进程的状态是standby。
一旦10.6.2.111节点上的Master进程关闭,10.6.2.112节点上的Master进程的状态会变成alive。

这篇关于Spark1.0.2 Standalone 模式部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1039651

相关文章

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

若依部署Nginx和Tomcat全过程

《若依部署Nginx和Tomcat全过程》文章总结了两种部署方法:Nginx部署和Tomcat部署,Nginx部署包括打包、将dist文件拉到指定目录、配置nginx.conf等步骤,Tomcat部署... 目录Nginx部署后端部署Tomcat部署出现问题:点击刷新404总结Nginx部署第一步:打包

Nginx、Tomcat等项目部署问题以及解决流程

《Nginx、Tomcat等项目部署问题以及解决流程》本文总结了项目部署中常见的four类问题及其解决方法:Nginx未按预期显示结果、端口未开启、日志分析的重要性以及开发环境与生产环境运行结果不一致... 目录前言1. Nginx部署后未按预期显示结果1.1 查看Nginx的启动情况1.2 解决启动失败的