pengzonglu7292的博客 - CSDN博客
spark运行模式
确定要删除当前文章?利用docker快速搭建Spark集群 - 简书
利用docker快速搭建Spark集群
正在使用spark的开发者
正在学习docker或者spark的开发者
安装docker
(可选)下载java和spark with hadoop
Spark运行时架构图
Spark Cluster(Spark集群).png
如上图: Spark集群由以下两个部分组成
集群管理器(Mesos, Yarn或者standalone Mode)
工作节点(worker)
如何docker化(本例使用Standalone模式)
将spark集群拆分
base(基础镜像)
master(主节点镜像)
worker(工作镜像)
编写base Dockerfile
注: 为方便切换版本基础镜像选择的是centos, 所以要下载java和spark, 方便调试, 可以下载好安装文件后本地搭建一个静态文件服务器, 使用可以快速搞定,命令如下
npm install http-server -g
http-server -p 54321 ~/Downloads
正式开始写Dockerfile
FROM centos:7
MAINTAINER RavenZZ &raven.&
# 安装系统工具
RUN yum update -y
RUN yum upgrade -y
RUN yum install -y byobu curl htop man unzip nano wget
RUN yum clean all
# 安装 Java
ENV JDK_VERSION 8u11
ENV JDK_BUILD_VERSION b12
# 如果网速快,可以直接从源站下载
#RUN curl -LO "http://download.oracle.com/otn-pub/java/jdk/$JDK_VERSION-$JDK_BUILD_VERSION/jdk-$JDK_VERSION-linux-x64.rpm" -H 'Cookie: oraclelicense=accept-securebackup-cookie' && rpm -i jdk-$JDK_VERSION-linux-x64. rm -f jdk-$JDK_VERSION-linux-x64.
RUN curl -LO "http://192.168.199.102:54321/jdk-8u11-linux-x64.rpm" && rpm -i jdk-$JDK_VERSION-linux-x64. rm -f jdk-$JDK_VERSION-linux-x64.
ENV JAVA_HOME /usr/java/default
yum clean all
WORKDIR spark
curl -LO 'http://192.168.199.102:54321/spark-2.1.0-bin-hadoop2.7.tgz' && \
tar zxf spark-2.1.0-bin-hadoop2.7.tgz
RUN rm -rf spark-2.1.0-bin-hadoop2.7.tgz
RUN mv spark-2.1.0-bin-hadoop2.7/* ./
ENV SPARK_HOME /spark
ENV PATH /spark/bin:$PATH
ENV PATH /spark/sbin:$PATH
编写master Dockerfile
FROM ravenzz/spark-hadoop
MAINTAINER RavenZZ &raven.&
COPY master.sh /
ENV SPARK_MASTER_PORT 7077
ENV SPARK_MASTER_WEBUI_PORT 8080
ENV SPARK_MASTER_LOG /spark/logs
CMD ["/bin/bash","/master.sh"]
编写worker Dockerfile
FROM ravenzz/spark-hadoop
MAINTAINER RavenZZ &raven.&
COPY worker.sh /
ENV SPARK_WORKER_WEBUI_PORT 8081
ENV SPARK_WORKER_LOG /spark/logs
ENV SPARK_MASTER "spark://spark-master:32769"
EXPOSE 8081
CMD ["/bin/bash","/worker.sh"]
docker-compose
version: '3'
spark-master:
context: ./master
dockerfile: Dockerfile
# SPARK_MASTER_PORT
# SPARK_MASTER_WEBUI_PORT
spark-worker1:
context: ./worker
dockerfile: Dockerfile
- spark-master
environment:
- SPARK_MASTER=spark://spark-master:7077
spark-worker2:
context: ./worker
dockerfile: Dockerfile
- spark-master
environment:
- SPARK_MASTER=spark://spark-master:7077
docker-compose up
访问 结果如图
Paste_Image.png
本文仅供参考, 希望读者能够按照思路自己编译需要的Spark版本和各种依赖
帅气的程序员
软件环境 Ubuntu 16.04 LTSHadoop: 2.6.5Spark: 1.3.0 0 写在前面 本例中的演示均为非 root 权限,所以有些命令行需要加 sudo,如果你是 root 身份运行,请忽略 sudo。下载安装的软件建议都放在 home 目录之上,比如...
准备工作: 三台机器:
192.168.222.129
192.168.222.130
192.168.222.131 操作系统:CentOS release 6.7 (Final) 软件版本:
kafka:kafka_2.10-0.10.0.0.ta...
最近在学习大数据技术,朋友叫我直接学习Spark,英雄不问出处,菜鸟不问对错,于是我就开始了Spark学习。 为什么要在Docker上搭建Spark集群 Spark本身提供Local模式,在单机上模拟多计算节点来执行任务。但不知道什么思想在做怪,总觉得不搭建一个集群,很不完...
Hadoop2.7.3+Spark2.1.0 完全分布式环境 搭建全过程 www.cnblogs.com/purstar/p/6293605.html 一、修改hosts文件 在主节点,就是第一台主机的命令行下; vim /etc/profile 我的是三台云主机: 在原文...
在本文的例子中,你将使用 Kubernetes 和 Docker 创建一个功能型Apache Spark集群。 你将使用Spark standalone模式 安装一个 Spark master服务和一组Spark workers。 对于已熟悉这部分内容的读者,可以直接跳到 ...
他91岁了,生活早已不能自理。为了尽量不麻烦儿女,他用自己的钱请了一个保姆来打理自己的生活。这个保姆,凡事都顺着他,他很满意。 但他满意,不意味着他的儿女也满意。这个女人就像他的个别儿女心中的眼中钉,肉中刺!结果呢?结果就是这个女人被打走!即使他舍不得她走。面对这种结果,他...
有一大虫,欲向野中觅食,见一刺猬仰卧,谓是肉脔,欲衔之。忽被猬卷着鼻,惊走,不知休息,直至山中,困乏,不觉昏睡,刺猬乃放鼻而走。大虫忽起欢喜,走至橡树下,低头见橡斗,乃侧身语云:“旦来遭见贤尊,愿郎君且避道!”
人生最危险的,就是美化自己的过错。 而最恐怖的世界,就是一个连恶魔都自觉其有理的世界。 要和那个不完美的自己和解,当然是在煎熬以后。
想和你看朝阳,和你看落日,和你手牵手走到世界的尽头。赏光吗,我可爱的姑娘?没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!