Spark 安装(集群模式)

Spark 安装(集群模式)

实际生产环境一般不会用本地模式搭建Spark。生产环境一般都是集群模式。下面就给出了安装集群模式的步骤。

运行环境

  • 操作系统 ------ Spark一般都是部署在Linux上,这里用的是Ubuntu 14.04及以上版本,也可以使用CentOS,RedHat等Linux系统,本教程用的是 Ubuntu 系统。
  • Spark ------ Apache Spark 2.X

因为是集群模式,所以需要多个物理节点,可以使用阿里云、腾讯云。也可以在自己机器搭建虚拟机集群。

在主节点安装Spark

安装前准备

修改host文件

编辑 hosts 文件,并增加下面记录

复制代码
sudo nano /etc/hostsMASTER-IP masterSLAVE01-IP slave01SLAVE02-IP slave02

注意把 MASTER-IP、SLAVE01-IP、SLAVE02-IP 替换成你自己机器的IP地址。

安装Java 7
复制代码
sudo apt-get install python-software-propertiessudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-java7-installer
安装Scala
复制代码
sudo apt-get install scala
配置SSH

安装 openssh-serveropenssh-client

生成密钥
复制代码
ssh-keygen -t rsa -P ""
配置无密码SSH

把 master 节点 .ssh/id_rsa.pub复制到 .ssh/authorized_keys。其他 Slave 节点跟 Master 一样的操作过程。

用SSH连接测试

用SSH命令连接到其他任意主机,看看是否需要密码。如果没提示输入密码,则免密码连接配置成功。

复制代码
ssh slave01ssh slave02

安装Spark

下载Spark

可以从Spark官网下载最新版本

http://spark.apache.org/downloads.html

解压tar包
复制代码
tar xzf spark-2.0.0-bin-hadoop2.6.tgz
安装配置

在用户 home 目录下编辑 .bashrc,并新增环境变量。

复制代码
export JAVA_HOME=<path-of-Java-installation> (eg: /usr/lib/jvm/java-7-oracle/)export SPARK_HOME=<path-to-the-root-of-your-spark-installation> (eg: /home/dataflair/spark-2.0.0-bin-hadoop2.6/)export PATH=$PATH:$SPARK_HOME/bin

让环境变量生效
source .bashrc

编辑 spark-env.sh
cd $SPARK_HOME/conf/

在该目录下并没有 spark-env.sh 文件,得从 spark-env.sh.tmplate 复制一个文件,文件名修改为 spark-env.sh
cp spark-env.sh.template spark-env.sh

spark-env.sh 新增下面的环境变量

复制代码
export JAVA_HOME=<path-of-Java-installation> (eg: /usr/lib/jvm/java-7-oracle/)export SPARK_WORKER_CORES=8

新增 Slave 节点

$SPARK_HOME/conf/ 目录下创建 slaves 配置文件,并在该文件写入两个节点的主机名:

复制代码
slave01slave02

在 Slave 节点安装 Spark

安装前准备

  • 编辑hosts文件
    • 安装java 7
    • 安装Scala

这些步骤跟Master的一样

把Spark安装包拷贝到所有Slave节点

先压缩安装包
tar czf spark.tar.gz spark-2.0.0-bin-hadoop2.6

把压缩好的安装包拷贝到 Slave 节点

复制代码
scp spark.tar.gz slave01:~scp spark.tar.gz slave02:~

注意:这些命令在 Master 节点执行注意:这些命令在 Master 节点执行

在Slave节点解压安装包

复制代码
tar xzf spark.tar.gz

注意:该命令在Slave节点执行

到这里,Spark 已经在 Master 和 Slave 节点安装并配置完成。可以启动 Spark 集群了。

启动Spark集群

启动Spark服务

复制代码
sbin/start-all.sh

注意:该命令在Master节点执行

检查服务是否启动成功

检查Master节点进程

复制代码
$jpsMaster

检查Slave节点进程

复制代码
$jpsWorker

Spark Web UI

spark Master节点UI界面地址和端口
http://MASTER-IP:8080/

从这里可以看到 Spark 的 Slave 节点信息,执行中的 application,集群资源等信息

spark 应用程序UI界面地址和端口
http://MASTER-IP:4040/

停止Spark集群

可以在Master执行下面命令停止Spark集群
sbin/stop-all.sh

相关推荐
2601_960356383 分钟前
2026届用户分析师校招能力栈:SQL、指标体系、BI与AI分析
大数据
YangYang9YangYan35 分钟前
资金分析校招 JD 拆解,现金流建模与数据分析能力怎么准备
大数据·人工智能·数据分析
名不经传的养虾人37 分钟前
从0到1:企业级AI项目迭代日记 Vol.110|协作有了预算,延迟有了归因,知识有了保真
大数据·人工智能·机器人·ai编程·企业ai
蓝速科技42 分钟前
会议室门牌显示模板选型与品牌视觉适配落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
LONGZETECH1 小时前
深入拆解无人机组装四大技术难关:焊接、接线、调参、转向校验
大数据·人工智能·系统架构·无人机
GlobalInfo1 小时前
机器人力控采集芯片全球市场深度分析:人形机器人分布式力感知下的24位Delta-Sigma与多通道同步博弈
大数据·人工智能·ai·机器人
智购科技自动贩卖机1 小时前
自动售货机嵌入式系统时钟同步与时间管理实战:从RTC校准到断网时间保持的工程实践
大数据·linux·数据库·人工智能·yolo
雨辰AI1 小时前
多租户数据库资源配额管控|避免租户资源抢占雪崩(金仓 / 达梦 / 高斯 /openGauss 全库原生适配)
java·大数据·数据库·后端
程序员黎剑1 小时前
RabbitMQ-消息可靠性-publisher-confirm持久化与手动ack
分布式·rabbitmq·ruby
IT研究室1 小时前
最新大数据毕业设计选题推荐-基于大数据的热带气旋数据分析与可视化-大数据-Spark-Hadoop-Bigdata
大数据·信息可视化·数据分析·spark·课程设计