我对Spark的简单Web前端Visi的工作方式有很多疑问。 这篇博客文章是概述。

带有简单前端的托管Spark

Visi是一个托管式Spark集群,具有基于Web的简单前端,允许精通Excel的人员输入可转换为Spark作业的公式。

Spark集群和前端按需构建,托管在Docker容器中,并使用Weave通过网络进行通信。 通过动态更新的HAProxy路由表向用户显示Web UI。

螺母和螺栓

支持Visi是一个OS级别实例的服务器场(不能真正称它们为盒子或硬件,但它们是运行Ubuntu的东西计算机。)服务器场中有一定数量的计算机处于“空闲”状态,并且当计算机处于运行状态时,使用水平低于阈值,我们将启动更多实例。 当太多实例处于空闲状态时,我们会将实例降低到合理的空闲水平。

每个服务器场实例都连接到Weave虚拟网络。 前端还连接了Weave虚拟网络。

当用户想要新的Spark集群和Visi Web前端时,执行程序从服务器场中选择机器,并启动包含Spark集群和Visi Web前端的Docker容器,从而在Weave中分配自定义子网。 Visi Web前端和HAProxy主机也放置在自定义的Weave子网中。 这意味着Visi前端可以与HAProxy框(但不能与其他Visi前端实例)和Spark群集通信。 Spark集群可以与Spark集群的其他成员和Visi前端通信,但不能与其他Spark集群通信。

当Web前端向执行者发出信号,表明其已启动并可以接受请求时,该执行者会根据浏览器的URL和JSESSIONID将新的“后端”添加到HAProxy配置和前端路由(因此仅记录用户可以看到到后端Visi实例的路由)。

会议结束

当执行程序检测到用户的浏览器已与Visi实例断开连接时,执行程序使代码收集Visi实例的当前状态(包括用户的当前笔记本状态)和Spark实例,并对这些信息进行腌制,以便将其解开。下次要求使用Visi笔记本电脑时。

保存腌制的信息后,执行程序将发信号通知Spark集群和Visi实例Docker容器关闭。 包含服务器场实例的状态以及HAProxy配置的表将更新。 最后,执行程序将用于Visi实例和Spark集群的Weave子网返回到可用池。

隔离

Docker容器代表Visi前端和Spark集群的隔离执行环境。 Visi前端和Spark集群都在执行任意的,不受信任的代码。 Docker提供了一种将代码沙盒化的机制,因此一个用户的代码无法访问另一用户的代码或数据。

Weave在网络级别提供隔离,因此每个Spark群集和Visi前端只能互相看到,而服务器场上运行的其他实例则不能看到。

轻松联网

除了Docker / Weave组合提供的隔离之外,Weave还提供了一种非常简单的机制,可用于将HAProxy连接到Visi前端,而不必在服务器场计算机上分配和管理多个端口。 此外,Spark位于Weave虚拟网络上的端口7077,而不是非正常的Spark端口。 这减少了跨网络分配资源所需的逻辑。

翻译自: https://www.javacodegeeks.com/2014/11/how-visi-uses-weave-and-docker.html

Visi如何使用Weave和Docker相关推荐

  1. 在visi_Visi如何使用Weave和Docker

    在visi 关于Spark的简单Web前端Visi的工作方式 ,我有很多疑问. 这篇博客文章是概述. 带有简单前端的托管Spark Visi是一个托管式Spark集群,具有基于Web的简单前端,允许精 ...

  2. 如何跨过Docker集群网络Weave遇到的“坑”?

    2019独角兽企业重金招聘Python工程师标准>>> 前 言 Weave作为Docker(一个开源的应用容器引擎)跨主机集群网络解决方案的一种,可以用于连接部署在多台主机上的Doc ...

  3. Docker Weave 介绍 or 工作原理

    Docker Weave Network Weave Network:属于第三方网络项目. Weave在Docker主机之间实现Overlay网络,使用业界标准VXLAN封装,基于UDP传输,也可以加 ...

  4. docker(7、容器网络6) weave 网络 Weave 跨主机的连通和隔离特性

    weave 是 Weaveworks 开发的容器网络解决方案.weave 创建的虚拟网络可以将部署在多个主机上的容器连接起来.对容器来说,weave 就像一个巨大的以太网交换机,所有容器都被接入这个交 ...

  5. 国外一些有价值的docker相关的文章

    国外一些有价值的docker相关的文章 docker 每周都有周报进行更新,有一个网站列出了从开始2015年1月30日的一些有价值的链接: 关于Weave: 在Azure上一个CoreOS集群上安装W ...

  6. GitHub上关于docker的项目排名前十个介绍

    一.GitHub上关于docker的项目排名前十个介绍,同时推荐下两本gitbook 1. docker: https://github.com/docker/docker 开发语言:Go  18, ...

  7. weave实现宿主机之间的容器互联

    weave实现宿主机之间的容器互联 Docker Weave简介 关于weave的原理不做细致的说明,如果想了解weave可以登陆官网:https://www.weave.works/ 注意:防火墙一 ...

  8. Calico在Docker中的搭建

    一,Multi-host网络需求 开始之前推荐两篇文章 http://xelatex.github.io/2015/11/15/Battlefield-Calico-Flannel-Weave-and ...

  9. docker 网络方案--分析

    这篇文章主要是弥补自己网络方面的知识,不提供参考意见 关于SDN和容器 作为近年来比较热的一个概念,众所周知SDN是Software Defined Network的缩写,即软件定义网络.但不同的人对 ...

最新文章

  1. 使用Androidkiller编译APK文件时出现libpng error: Not a PNG file的错误
  2. js中setInterval与setTimeout的区别
  3. 开关造成的毛刺_解决交易中的毛刺问题,你可以这样做
  4. python一年365天_GitHub - yihong0618/Python365: Python365天精进计划
  5. 一个python的UG二次开发简单实例
  6. android平板电脑 刷机工具,安卓平板电脑刷机教程之一键刷机.pdf
  7. 2023苏州大学计算机考研信息汇总
  8. 开发人员使用Helix QAC实现静态代码测试合规性的五大原因
  9. 使用SVG构建icon
  10. 【Spring Cloud sunX】中间件容器化部署
  11. 产品经理——产品原型设计规范
  12. 蘑菇街防重复请求处理的实践与总结
  13. SQL——语法基础篇(上)
  14. 文本 字体 图像 列表
  15. 数据分析之excel和finebi报表可视化对比
  16. 论企业上云的三大阻力!
  17. 表值函数,标量值函数详解
  18. 带约束的K-means聚类算法
  19. 打破时间的束缚(转)
  20. 教学软件推荐-极域数字语音教室

热门文章

  1. 山海演武传·黄道·第二卷 大风起兮 第二 ~ 三章 傲娇的赤龙皇女
  2. 2种方法设置RAR文件打开密码
  3. 十二小时制和二十四小时制之间的区别
  4. 搭建B2B电子商务系统要怎么做
  5. Tomcat启动报A child container failed during start问题解决
  6. 微软公司2007年秋季校园招聘在线宣讲会
  7. PMBOK 第六版 识别风险:工具与技术——提示清单
  8. 怎样成为精力管理的高手-听书有感
  9. 系统学习金融数据挖掘 之爬虫技术基础(附源代码)(网页结构基础)
  10. 巴别塔圣经_承认巴别塔