加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

基于Kubernetes的Spark部署完全指南

发布时间:2020-09-02 08:45:12 所属栏目:编程 来源:网络整理
导读:【金融特辑】光大****科技部DBA女神带你从0到1揭秘MGR 【编者的话】本文是在Kubernets上搭建Spark集群的操纵指南,同时提供了Spark测试使命及相干的测试数据,通过阅读本文,你可以实践从建造Spark镜像、搭建Spark容器集群,到在集群上运行测试使命的完备流
副问题[/!--empirenews.page--] 【金融特辑】光大****科技部DBA女神带你从0到1揭秘MGR

【编者的话】本文是在Kubernets上搭建Spark集群的操纵指南,同时提供了Spark测试使命及相干的测试数据,通过阅读本文,你可以实践从建造Spark镜像、搭建Spark容器集群,到在集群上运行测试使命的完备流程。

Yarn曾经是Hadoop默认的资源编排打点平台。但最近环境有所变革,出格是对付Hadoop中的Spark,因为其与S3等其他存储平台集成得很好,而与Hadoop生态中其他组件反而没有太细密的关联,因此Kubernetes正敏捷更换Yarn,成为基于工具存储的Spark体系的默认编排打点平台。在这篇文章中,我们将深入研究如安在Kubernetes集群上构建和陈设Spark容器。因为Spark的运行依靠于数据,我们将设置Spark集群通过S3 API举办存储操纵。

基于Kubernetes的Spark陈设完全指南

构建Spark容器

在Kubernetes上陈设应用的第一步,是建设容器。固然有些项目会提供官方的容器镜像,但截至到写此文时,Apache Spark并没有提供官方镜像。因此我们将本身建设Spark容器,让我们从Dockerfile开始。

FROM java:openjdk-8-jdk 

 

ENV hadoop_ver 2.8.2 

ENV spark_ver 2.4.4 

 

RUN mkdir -p /opt &&  

cd /opt &&  

curl ${hadoop_ver}/hadoop-${hadoop_ver}.tar.gz |  

    tar -zx &&  

ln -s hadoop-${hadoop_ver} hadoop &&  

echo Hadoop ${hadoop_ver} installed in /opt 

 

RUN mkdir -p /opt &&  

cd /opt &&  

curl ${spark_ver}/spark-${spark_ver}-bin-without-hadoop.tgz |  

    tar -zx &&  

ln -s spark-${spark_ver}-bin-without-hadoop spark &&  

echo Spark ${spark_ver} installed in /opt 

 

ENV SPARK_HOME=/opt/spark 

ENV PATH=$PATH:$SPARK_HOME/bin 

ENV HADOOP_HOME=/opt/hadoop 

ENV PATH=$PATH:$HADOOP_HOME/bin 

ENV LD_LIBRARY_PATH=$HADOOP_HOME/lib/native 

 

RUN curl  -o /opt/spark/jars/hadoop-aws-2.8.2.jar 

RUN curl  -o /opt/spark/jars/httpclient-4.5.3.jar 

RUN curl time/joda-time/2.9.9/joda-time-2.9.9.jar -o /opt/spark/jars/joda-time-2.9.9.jar 

RUN curl  -o /opt/spark/jars/aws-java-sdk-core-1.11.712.jar 

RUN curl  -o /opt/spark/jars/aws-java-sdk-1.11.712.jar 

RUN curl  -o /opt/spark/jars/aws-java-sdk-kms-1.11.712.jar 

RUN curl  -o /opt/spark/jars/aws-java-sdk-s3-1.11.712.jar 

 

ADD start-common.sh start-worker start-master / 

ADD core-site.xml /opt/spark/conf/core-site.xml 

ADD spark-defaults.conf /opt/spark/conf/spark-defaults.conf 

ENV PATH $PATH:/opt/spark/bin 

在这个Dockerfile中,我们起首从官方地点下载Apache Spark和Hadoop,然后从Maven获取关联的jar包。当全部关联的文件都已经下载并解压到一个特定的目次后,我们将这些重要的设置文件添加到镜像中。

在这个进程中,你可以很利便的添加本身情形特有的设置。

本来我们可以跳过以上步调,直接行使一个预先构建好的镜像,可是通过解读这些步调可以让我们的读者看到Spark容器内部的内容,高级用户可以据此修改来满意他们非凡的需求。

以上示例中行使到的Dockerfile和其他关联的设置文件,可以从这个GitHub客栈中获取。假如要行使这个客栈中的内容,请先行使以下呼吁将其克隆到当地:

git clone git@github.com:devshlabs/spark-kubernetes.git 

此刻,你可以按照必要在你的情形中举办任何变动,然后构建镜像,并上传到你行使的容器注册表中。在本文的示例中,我行使Dockerhub作为容器注册表,呼吁如下:

cd spark-kubernetes/spark-container 

docker build . -t mydockerrepo/spark:2.4.4 

docker push mydockerrepo/spark:2.4.4 

记得将个中的mydockerrepo替代为你现实的注册表名字。

在Kubernetes上陈设Spark

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读