Visi如何使用Weave和Docker
我对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相关推荐
- 在visi_Visi如何使用Weave和Docker
在visi 关于Spark的简单Web前端Visi的工作方式 ,我有很多疑问. 这篇博客文章是概述. 带有简单前端的托管Spark Visi是一个托管式Spark集群,具有基于Web的简单前端,允许精 ...
- 如何跨过Docker集群网络Weave遇到的“坑”?
2019独角兽企业重金招聘Python工程师标准>>> 前 言 Weave作为Docker(一个开源的应用容器引擎)跨主机集群网络解决方案的一种,可以用于连接部署在多台主机上的Doc ...
- Docker Weave 介绍 or 工作原理
Docker Weave Network Weave Network:属于第三方网络项目. Weave在Docker主机之间实现Overlay网络,使用业界标准VXLAN封装,基于UDP传输,也可以加 ...
- docker(7、容器网络6) weave 网络 Weave 跨主机的连通和隔离特性
weave 是 Weaveworks 开发的容器网络解决方案.weave 创建的虚拟网络可以将部署在多个主机上的容器连接起来.对容器来说,weave 就像一个巨大的以太网交换机,所有容器都被接入这个交 ...
- 国外一些有价值的docker相关的文章
国外一些有价值的docker相关的文章 docker 每周都有周报进行更新,有一个网站列出了从开始2015年1月30日的一些有价值的链接: 关于Weave: 在Azure上一个CoreOS集群上安装W ...
- GitHub上关于docker的项目排名前十个介绍
一.GitHub上关于docker的项目排名前十个介绍,同时推荐下两本gitbook 1. docker: https://github.com/docker/docker 开发语言:Go 18, ...
- weave实现宿主机之间的容器互联
weave实现宿主机之间的容器互联 Docker Weave简介 关于weave的原理不做细致的说明,如果想了解weave可以登陆官网:https://www.weave.works/ 注意:防火墙一 ...
- Calico在Docker中的搭建
一,Multi-host网络需求 开始之前推荐两篇文章 http://xelatex.github.io/2015/11/15/Battlefield-Calico-Flannel-Weave-and ...
- docker 网络方案--分析
这篇文章主要是弥补自己网络方面的知识,不提供参考意见 关于SDN和容器 作为近年来比较热的一个概念,众所周知SDN是Software Defined Network的缩写,即软件定义网络.但不同的人对 ...
最新文章
- 使用Androidkiller编译APK文件时出现libpng error: Not a PNG file的错误
- js中setInterval与setTimeout的区别
- 开关造成的毛刺_解决交易中的毛刺问题,你可以这样做
- python一年365天_GitHub - yihong0618/Python365: Python365天精进计划
- 一个python的UG二次开发简单实例
- android平板电脑 刷机工具,安卓平板电脑刷机教程之一键刷机.pdf
- 2023苏州大学计算机考研信息汇总
- 开发人员使用Helix QAC实现静态代码测试合规性的五大原因
- 使用SVG构建icon
- 【Spring Cloud sunX】中间件容器化部署
- 产品经理——产品原型设计规范
- 蘑菇街防重复请求处理的实践与总结
- SQL——语法基础篇(上)
- 文本 字体 图像 列表
- 数据分析之excel和finebi报表可视化对比
- 论企业上云的三大阻力!
- 表值函数,标量值函数详解
- 带约束的K-means聚类算法
- 打破时间的束缚(转)
- 教学软件推荐-极域数字语音教室