前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用docker-compose创建spark集群

使用docker-compose创建spark集群

作者头像
kongxx
发布2018-07-05 10:32:03
2.2K0
发布2018-07-05 10:32:03
举报

下载docker镜像

代码语言:javascript
复制
sudo docker pull sequenceiq/spark:1.6.0

创建docker-compose.yml文件

创建一个目录,比如就叫 docker-spark,然后在其下创建docker-compose.yml文件,内容如下:

代码语言:javascript
复制
version: '2'

services:
  master:
    image: sequenceiq/spark:1.6.0
    hostname: master
    ports:
      - "4040:4040"
      - "8042:8042"
      - "7077:7077"
      - "8088:8088"
      - "8080:8080"
    restart: always
    command: bash /usr/local/spark/sbin/start-master.sh && ping localhost > /dev/null

  worker:
    image: sequenceiq/spark:1.6.0
    depends_on:
      - master
    expose:
      - "8081"
    restart: always
    command: bash /usr/local/spark/sbin/start-slave.sh spark://master:7077 && ping localhost >/dev/null

其中包括一个master服务和一个worker服务。

创建并启动spark集群

代码语言:javascript
复制
sudo docker-compose up

集群启动后,我们可以查看一下集群状态

代码语言:javascript
复制
sudo docker-compose ps
        Name                      Command               State                                                    Ports
----------------------------------------------------------------------
dockerspark_master_1   /etc/bootstrap.sh bash /us ...   Up      ...
dockerspark_worker_1   /etc/bootstrap.sh bash /us ...   Up      ...

默认我们创建的集群包括一个master节点和一个worker节点。我们可以通过下面的命令扩容或缩容集群。

代码语言:javascript
复制
sudo docker-compose scale worker=2

扩容后再次查看集群状态,此时集群变成了一个master节点和两个worker节点。

代码语言:javascript
复制
sudo docker-compose ps
        Name                      Command               State                                                    Ports
------------------------------------------------------------------------
dockerspark_master_1   /etc/bootstrap.sh bash /us ...   Up      ...
dockerspark_worker_1   /etc/bootstrap.sh bash /us ...   Up      ...
dockerspark_worker_2   /etc/bootstrap.sh bash /us ...   Up      ...

此时也可以通过浏览器访问 http://ip:8080 来查看spark集群的状态。

运行spark作业

首先登录到spark集群的master节点

代码语言:javascript
复制
sudo docker exec -it <container_name> /bin/bash

然后使用spark-submit命令来提交作业

代码语言:javascript
复制
/usr/local/spark/bin/spark-submit --master spark://master:7077 --class org.apache.spark.examples.SparkPi /usr/local/spark/lib/spark-examples-1.6.0-hadoop2.6.0.jar 1000

停止spark集群

代码语言:javascript
复制
sudo docker-compose down
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.07.05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下载docker镜像
  • 创建docker-compose.yml文件
  • 创建并启动spark集群
  • 运行spark作业
  • 停止spark集群
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档