Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Docker 搭建 Spark

Docker 搭建 Spark

作者头像
yiyun
发布于 2022-04-01 08:34:28
发布于 2022-04-01 08:34:28
3.5K10
代码可运行
举报
文章被收录于专栏:yiyun 的专栏yiyun 的专栏
运行总次数:0
代码可运行

引言

使用 Dockerfile、Docker Compose 构建 Spark集群环境,方便以后的部署,日常开发。

Spark部署模式主要有四种:

  1. Local模式(单机模式)
  2. Standalone模式(使用Spark自带的简单集群管理器)
  3. YARN模式(使用YARN作为集群管理器)
  4. Mesos模式(使用Mesos作为集群管理器)

关联仓库地址:https://github.com/yiyungent/spark-docker

1. 准备

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FROM ubuntu:20.04 AS base

LABEL maintainer="yiyun <yiyungent@gmail.com>"

# 设置国内阿里云镜像源
COPY etc/apt/aliyun-ubuntu-20.04-focal-sources.list   /etc/apt/sources.list

# 时区设置
ENV TZ=Asia/Shanghai

RUN apt-get update

# 1. 安装常用软件
RUN apt-get install -y wget
RUN apt-get install -y ssh
RUN apt-get install -y vim

2. 安装 Java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 2. 安装 Java
ADD jdk-8u131-linux-x64.tar.gz /opt/
RUN mv /opt/jdk1.8.0_131 /opt/jdk1.8
ENV JAVA_HOME=/opt/jdk1.8
ENV JRE_HOME=${JAVA_HOME}/jre
ENV CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH=${JAVA_HOME}/bin:$PATH

测试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker build -t spark-with-java .
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -it --name spark-container spark-with-java bash

3. 安装 Scala

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 3. 安装 Scala
RUN wget http://downloads.lightbend.com/scala/2.12.1/scala-2.12.1.tgz
RUN mkdir /opt/scala
RUN tar -zxvf scala-2.12.1.tgz -C /opt/scala/
ENV SCALA_HOME=/opt/scala/scala-2.12.1 
ENV PATH=${SCALA_HOME}/bin:$PATH 

测试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker build -t spark-with-scala .
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -it --name spark-container spark-with-scala bash
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scala -version

4. 安装 Spark

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 4. 安装 Spark
RUN mkdir /opt/spark 
#RUN wget https://downloads.apache.org/spark/spark-3.0.2/spark-3.0.2-bin-hadoop2.7.tgz
RUN wget https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.0.2/spark-3.0.2-bin-hadoop2.7.tgz
RUN tar -zxvf spark-3.0.2-bin-hadoop2.7.tgz -C /opt/spark/
ENV SPARK_HOME=/opt/spark/spark-3.0.2-bin-hadoop2.7
ENV PATH=${SPARK_HOME}/bin:$PATH

注意: 这里使用的是 spark-3.0.2-bin-hadoop2.7 ,此包已经包含了编译好的hadoop2.7, start-all.sh 将同时启动 Hadoop 集群

测试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker build -t spark .
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -it --name spark-container spark bash
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spark-shell
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
3+5

补充:

使用如下命令退出spark-shell交互式环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
:quit

测试Spark是否可以正常访问Ubuntu系统中的本地文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /home/word.txt
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
I love Spark
I love Hadoop
Spark is good
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spark-shell
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
val line=sc.textFile("file:///home/word.txt")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
println(line.count())

测试Spark是否能够正常访问Hadoop中的HDFS

由于我们经常需要让Spark去访问Hadoop中的HDFS, 因此,需要测试一下Spark是否可以正常访问HDFS。 执行如下命令启动Hadoop中的HDFS:

启动 Spark 集群

默认在哪台机器启动,那台机器就是master节点

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/opt/spark/spark-3.0.2-bin-hadoop2.7/sbin/start-all.sh

补充:

也可以利用环境变量:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$SPARK_HOME/sbin/start-all.sh

补充:

也可以在其它节点启动备份主节点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$SPARK_HOME/sbin/start-master.sh

测试

参考:

参考

感谢帮助!

本文作者: yiyun

本文链接: https://moeci.com/posts/分类-docker/docker-spark/

版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
谢谢,受用!
谢谢,受用!
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Centos 7.4 安装单机版 Spark
由于个人学习需要,所以来研究一下怎么安装 Spark,但是由于个人的经济资源有限,所以还没有上集群,这里先试一下单机版的 Spark。后期有扩展的话,同步更新集群安装教程。
拾贰
2019/08/28
2.6K0
Centos 7.4 安装单机版 Spark
spark 集群搭建
一. 集群规划 node01为master节点,node02,node03为worker节点
Freedom123
2024/03/29
1480
我的 Spark 3.1.1 之旅【收藏夹吃灰系列】
如今使用 CDH( Cloudera Distribution Hadoop) 部署 Hadoop 成了业界常规,为什么还要费劲自己动手呢?这不浪费时间嘛!
Lenis
2021/04/19
1K0
我的 Spark 3.1.1 之旅【收藏夹吃灰系列】
大数据平台搭建 Hadoop-2.7.4 + Spark-2.2.0 快速搭建
Apache Spark 简介 Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。 Spark 是一种与
程序员鹏磊
2018/02/09
2.5K0
大数据平台搭建 Hadoop-2.7.4 + Spark-2.2.0 快速搭建
Spark之伪分布式搭建、伪分布式Hadoop、Hive安装
    之后进入$SPARK_HOME/sbin下,执行start-all.sh,可以看下是否启动成功,之后去看localhost:8080,可以看到spark的界面。
克虏伯
2019/04/15
7740
Spark 伪分布式 & 全分布式 安装指南
0、前言 3月31日是 Spark 五周年纪念日,从第一个公开发布的版本开始,Spark走过了不平凡的5年:从刚开始的默默无闻,到13年的鹊起,14年的大爆发。Spark核心之上有分布式的机器学习,SQL,streaming和图计算库。 4月1日 spark 官方正式宣布 Spark 2.0 对Spark重构,更好支持手机等移动终端。Databricks创始人之一hashjoin透漏了相关的重构方法:利用Scala.js项目把Spark代码编译成JavaScript,然后利用Safari / Chrom
用户1177713
2018/02/24
2.5K0
Spark 伪分布式 & 全分布式 安装指南
实时计算框架:Spark集群搭建与入门案例
Spark是专为大规模数据处理而设计的,基于内存快速通用,可扩展的集群计算引擎,实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流,运算速度相比于MapReduce得到了显著的提高。
知了一笑
2021/04/29
5920
实时计算框架:Spark集群搭建与入门案例
docker搭建spark集群
有个小技巧:先配置好一个,在(宿主机上)复制scp -r拷贝Spark到其他Slaves。
千羽
2023/08/28
6520
docker搭建spark集群
Fedora 配置 Spark 实验环境 (一)安装Hadoop、Spark
实验环境建议使用jdk11,如果 java version 显示的是之前安装的其它版本jdk,可以切换到新安装的jdk11:
esse LL
2023/05/25
1K0
Ubuntu 18.04下搭建单机Hadoop和Spark集群环境
Hadoop在整个大数据技术体系中占有至关重要的地位,是大数据技术的基础和敲门砖,对Hadoop基础知识的掌握程度会在一定程度决定在大数据技术的道路上能走多远。
星哥玩云
2022/07/29
1.4K0
Ubuntu 18.04下搭建单机Hadoop和Spark集群环境
大数据环境搭建-Hadoop与Spark
https://www.psvmc.cn/article/2022-03-31-bigdata-environment.html
码客说
2022/06/04
8730
大数据环境搭建-Hadoop与Spark
Spark 单机部署
1. scala配置 https://www.scala-lang.org/download/2.11.8.html
Freedom123
2024/03/29
1420
Hadoop与Spark以及那些坑
这两天在搭建Hadoop与Spark的平台,要求是能够运行Spark,并且用python编程。笔者也不打算写一个很详细的细节教程,简单做一个笔记blog。
钱塘小甲子
2019/01/28
5920
Spark伪分布式集群搭建
---- 软件准备 一台Linux虚拟机 我用的CentOS-6.6的一个虚拟机,主机名为repo 参考在Windows中安装一台Linux虚拟机 spark安装包 下载地址:https://mirrors.aliyun.com/apache/spark/ 我用的spark-2.2.0-bin-hadoop2.7.tgz 要根据自己机器中的hadoop版本选择对应的spark版本 ---- (1) 把安装包上传到服务器并解压 [root@repo soft]# tar -zxvf spark-2
CoderJed
2018/09/13
1.6K0
Spark伪分布式集群搭建
Spark集群安装-基于hadoop集群
文章目录 hadoop集群 下载 环境配置 集群配置 测试 hadoop集群 参考使用docker部署hadoop集群-手把手复现 下载 首先查看hadoop版本 hadoop version 下载spark http://spark.apache.org/downloads.html cd /usr/local #yum -y install wget wget https://mirrors.bfsu.edu.cn/apache/spark/spark-3.1.1/spark-3.1
唔仄lo咚锵
2021/12/31
1.3K0
Spark集群安装-基于hadoop集群
Hadoop+Hive+HBase+Spark 集群部署(三)
本文由 bytebye 创作 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
ByteBye
2019/09/24
9950
Standalone模式安装Spark
本文介绍了如何安装和配置Apache Spark,以在完全分布式集群上运行。首先,介绍了如何将Spark解压并上传到指定目录,然后修改环境变量并配置Spark-env.sh。最后,介绍了如何配置slaves文件并启动和验证Spark。
挖掘大数据
2017/12/21
5780
windows下虚拟机配置spark集群最强攻略!
1、虚拟机安装 首先需要在windows上安装vmware和ubuntu虚拟机,这里就不多说了 vmware下载地址:直接百度搜索,使用百度提供的链接下载,这里附上一个破解码 5A02H-AU243-
石晓文
2018/04/11
1.9K0
windows下虚拟机配置spark集群最强攻略!
部署spark2.2集群(standalone模式)
修改/etc/hostname文件,将几台电脑的主机名分别修改为前面设定的master、slave0等;
程序员欣宸
2019/05/29
6210
部署spark2.2集群(standalone模式)
Spark2.0学习(一)--------Spark简介
Apache Spark™ is a unified analytics engine for large-scale data processing
大数据流动
2019/08/08
7510
相关推荐
Centos 7.4 安装单机版 Spark
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验