Swarm 集群由管理节点与工作节点组成. 初始化集群 使用命令:docker swarm init 如果你的 Docker 主机有多个网卡, 拥有多个 IP 地址, 必须使用 --advertise-addr 来指定 IP ,例如: docker swarm init --addvertise-addr xxx.xxx.xxx.xxx 我们在 Docker 主机上执行了此命令之后, 即会初始化 Swarm 集群, 也会讲此 Docker 主机初始化为一个 Manager 节点. 增加工作节点…
简介 Swarm:docker原生的集群管理工具,将一组docker主机作为一个虚拟的docker主机来管理. 对客户端而言,Swarm集群就像是另一台普通的docker主机. Swarm集群中的每台主机都运行着一个swarm节点代理,每个代理将该主机上的相关Docker守护进程注册到集群中.和节点代理相对应的是Swarm管理者,用于对集群进行管理. 运行Swarm的所有Docker节点必须运行着同一个版本的Docker. 基于zookeeper的Swarm集群搭建 1. 拉取Swarm镜像 d…
前言 在前面的文章中,已经介绍如何在本地通过Docker Machine 创建虚拟Docker 主机,以及也可以在本地Windows 创建虚拟主机,也是可以使用的.这一节,我们将继续学习 Docker 三剑客之一 : Docker Swarm Docker Swarm Docker Swarm 是Docker 的本地聚集类,它将一组Docker 主机转换为一个虚拟单独的 Docker 主机.Docker Swarm 使用标准的Docker API.所以与Docker 守护进程交互的工具都可以使用…
学习Docker很久了,今天分享一下Docker的swarm集群的搭建过程很简单 首先第一步是 每台机器上面都要安装docker 本人使用的是centos7操作系统,使用3太虚拟机,3太虚拟机必须网络互通(废话) docker早在1.12版本就已经支持原生的swarm集群搭建了不用再用第三方etcd 等注册发现插件 首先第一步创建集群 docker swarm init 默认的集群地址是本机,当然也可以指定地址通过 --listen-addr 参数指定 执行完上面的命令之后显示了证明创建管理节点…
一.什么是Swarm Swarm这个项目名称特别贴切.在Wiki的解释中,Swarm behavior是指动物的群集行为.比如我们常见的蜂群,鱼群,秋天往南飞的雁群都可以称作Swarm behavior. Swarm项目正是这样,通过把多个Docker Engine聚集在一起,形成一个大的docker-engine,对外提供容器的集群服务.同时这个集群对外提供Swarm API,用户可以像使用Docker Engine一样使用Docker集群.   Swarm 特点  ▲对外以Docker AP…
[Y_H]实践原创 三台虚拟机:1台centOS , 2台ubuntu.   网上有用docker-machine创建虚拟机做的例子.   这里直接用VMware创建这三台虚拟机,然后用xshell连接三台虚拟机.作为理解之后的例子实践.   坑: 1.利用镜像swarm,搭建swarm集群,创立了连接,但是节点不能识别,报错较多,且不易解决. 2.在建立好manager管理节点后,其他机器在执行docker swarm join命令时会报错: Error response from daemo…
基础环境,三台虚拟机 172.17.3.70 172.17.3.71 172.17.3.72 系统配置:centos 7,关闭selinux 需要优化的基础配置: [root@sw1 ~]# vim /etc/rc.local ulimit -SHn 65535 modprobe br_netfilter sleep 60 && /sbin/iptables -P FORWARD ACCEPT sleep 15 && docker container prune -f [r…
一.规划 1.swarm01作为manager节点,swarm02和swarm03作为worker节点. # cat /etc/hosts 127.0.0.1   localhost 192.168.139.175  swarm01  192.168.139.176  swarm02  192.168.139.177  swarm03 2.配置SSH免密登陆 # ssh-keygen -t rsa -P '' # ssh-copy-id -i .ssh/id_rsa.pub root@192.1…
前言 通过以上6小节的学习,已经可以使用DOCKER 熟练的部署应用程序了.大家都可以发现使用 DOCKER 带来的方便之处,因为现在的话,只是在一台服务器上部署,这样部署,我们只需要一条命令,需要的NGINX MYSQL 等服务全部启动,而不是按照传统部署方式: 安装JDK 配置环境变量 安装MYSQL 启动服务 安装NGINX 配置文件 启动调试 .... 要是还有一台机器需要部署呢?你是不是也得按照这个顺序再来一遍,这也太麻烦了. 本节要学习的内容是DOCKER 三剑客第二 Docker…
前言 通过以上6小节的学习,已经可以使用DOCKER 熟练的部署应用程序了.大家都可以发现使用 DOCKER 带来的方便之处,因为现在的话,只是在一台服务器上部署,这样部署,我们只需要一条命令,需要的NGINX MYSQL 等服务全部启动,而不是按照传统部署方式: 安装JDK 配置环境变量 安装MYSQL 启动服务 安装NGINX 配置文件 启动调试 .... 要是还有一台机器需要部署呢?你是不是也得按照这个顺序再来一遍,这也太麻烦了. 本节要学习的内容是DOCKER 三剑客第二 Docker…
0x00 概述 上一节里我们谈到了小型的独立项目如何使用 Docker Compose 来搭建程序的运行环境,对于由多人或多部门参与的中大型服务化架构的项目,仅由一个 Docker Compose 项目来管理它们的运行环境显然是不切实际的.在这一小节里,我们就谈谈如何在服务化开发中合理利用 Docker 来搭建环境. 0x01 服务开发环境 在开始之前,我们依然来设定一个场景.在这里,假定我们处于一个 Dubbo 治下的微服务系统,而工作是开发系统中某一项微服务. 微服务开发与上一节里我们提到的…
安装环境    jdk1.7 zookeeper-3.4.5(参考 https://www.cnblogs.com/cac2020/p/9426531.html) VM虚拟机redhat6.5-x64:192.168.1.200 192.168.1.201 192.168.1.202 kafka_2.10-0.9.0.1.tgz Xshell4 部署方案zookeeper三个节点 kafka三个节点 安装步骤:[三台机器同样操作 以200为例] 步骤一:解压安装文件kafka_2.10-0.9.…
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: swarm是docker原生的集群管理软件,与kubernetes比起来比较简单 1.部署 系统时centos7上关闭防火墙 systemctl stop firewalld.service 关闭selinux vi /etc/selinux/comfig 192.168.10.140 swarm manager192.168.10.141 swarm no…
创建一个集群 [vagrant@node1 ~]$ docker swarm init --advertise-addr 192.168.9.101 Swarm initialized: current node (9fv7wb4zve235hltmchxprez7) is now a manager. To add a worker to this swarm, run the following command: docker swarm -1wk8aduuxnay6ek866xaj31ix…
0x00 概述 数据是应用程序重要的产出,所以很好的管理和存储数据,是对应用程序劳动结果的尊重.特别是在大数据时代,所有的数据都是重要的资产,保护好数据是每个开发者必须掌握的技能.我们知道,在 Docker 里,容器运行的文件系统处于沙盒环境中,与外界其实是隔离的,那么我们又要如何在 Docker 中合理的通过文件与外界进行数据交换呢?在这一小节中,我们就来介绍 Docker 中与文件数据有关的内容. 0x01 数据管理实现方式 Docker 容器中的文件系统于我们这些开发使用者来说,虽然有很多…
0x00 概述 在了解虚拟化和容器技术后,我们就更容易理解 Docker 的相关知识了.在这一小节中,我将介绍关于 Docker 的出现和发展,Docker 背后的技术.同时,我们将阐述 Docker 在虚拟化领域中的定位以及其带来的变革. 0x01 Docker 开源项目 如果说 Docker 的诞生,就必须从 Docker 这个开源项目提起 ( 虽然它现在已经不叫 Docker 了 ).Docker 项目是一个由 Go 语言实现的容器引擎,它最初由 dotCloud 这家做云服务的公司在 2…
一.什么是Docker Docker是基于Go语言实现的云开源项目. Docker 的主要目标是:"Bulid,Ship and  Run Any App ,AnyWhere" ,即通过对应用组件的封装.分发.部署.运行等生命周期的管理,达到应用组件级别的"一次封装,到处运行".这里的应用组件,即可以是一个Web应用,也可以使一套数据库服务,甚至是一个操作系统或编译器. Docker 基于Linux 的多项开源技术提供了高效.敏捷和轻量级的容器方案,并且支持在多种主…
预览目录 volume 方式 相关用例 使用方式 使用 volume driver bind mount 方式 相关用例 使用方式 配置selinux标签 配置macOS的安装一致性 tmpfs 方式 相关用例 使用方式 0x00 概述 接触 docker 的朋友都知道,docker 镜像是以 layer 概念存在的,一层一层的叠加,最终成为我们需要的镜像.但该镜像的每一层都是 ReadOnly 只读的.只有在我们运行容器的时候才会创建读写层.文件系统的隔离使得: 容器不再运行时,数据将不会持续…
本节将会涉及Docker的镜像操作. 1. 获取镜像 如何获取Docker Hub上的镜像?可通过docker pull命令获取,其格式为: docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签],具体可通过docker pull --help命令查看. Docker镜像仓库地址的格式一般为<域名/IP>[:端口号],仓库名一般为两段式名称,即<用户名>/<软件名>,对于Docker Hub,默认的用户名为library…
Redis集群是Redis提供的分布式数据库方案,集群通过分片来进行数据共享,并提供复制和故障转移操作. 一个Redis集群通常由多个节点组成,在刚开始的时候每个节点都是相互独立的,他们处于一个只包含自己的集群当中,我们通过使用CLUSTER MEET命令将节点连接到一起,构成一个包含多节点的集群. 集群的数据结构: clusterNode结构保存了一个节点的当前状态,比如节点创建时间.节点名称.节点当前的配置纪元.节点的ip端口.每个节点都会使用一个clusterNode结构记录自己的状态,并…
1. docker version显示 Docker 版本信息.2. docker info显示 Docker 系统信息,包括镜像和容器数.3. docker searchdocker search [options "o">] termdocker search -s  django 从 Docker Hub 中搜索符合条件的镜像. --automated 只列出 automated build类型的镜像: --no-trunc 可显示完整的镜像描述: -s 40 列出收藏数不…
0x00 概述 使用 Docker 时,最常用的命令无非是 docker container 和 docker image 相关的子命令,当然最初没有管理类命令(或者说分组)的时候,最常使用的命令也无非是 docker run docker commit docker build 和 docker images 这些. 今天来聊一下和 Docker 中核心概念 image 相关的重要命令, docker build 或者说 docker image build 为了简便起见,下文的命令全部使用 …
默认情况下,Docker守护进程会生成一个socket(/var/run/docker.sock)文件来进行本地进程通信,而不会监听任何端口,因此只能在本地使用docker客户端或者使用Docker API进行操作. 如果想在其他主机上操作Docker主机,就需要让Docker守护进程监听一个端口,这样才能实现远程通信. 修改Docker服务启动配置文件,添加一个未被占用的端口号,重启docker守护进程. # vim /etc/default/docker DOCKER_OPTS="-H 0.…
本文主要讲解如何在Linux环境下安装Spark集群,安装之前我们需要Linux已经安装了JDK和Scala,因为Spark集群依赖这些.下面就如何安装Spark进行讲解说明. 一.安装环境 操作系统:Red Hat Enterprise Linux 6 64 位(版本号6.6) JDK版本:1.8 Scala版本:2.12.2 Spark版本:2.2.0 172.18.3.135 主节点 172.18.3.136 从节点 172.18.3.137 从节点 之后的操作如果是用普通用户操作的话也必…
Spark的一大好处就是可以通过增加机器数量并使用集群模式运行,来扩展计算能力.Spark可以在各种各样的集群管理器(Hadoop YARN , Apache Mesos , 还有Spark自带的独立集群管理器)上运行,所以Spark应用既能够适应专用集群,又能用于共享的云计算环境. Spark运行时架构 Spark在分布式环境中的架构如下图: 在分布式环境下,Spark集群采用的是主/从结构.在Spark集群,驱动器节点负责中央协调,调度各个分布式工作节点.执行器节点是工作节点,作为独立的Ja…
前言 在第一篇文字中,我们完全人工方式,一个命令一个命令输入,实现一个 java tomcat运行环境,虽然也初见成效,但很累人.如果依靠依靠脚本构建一个Tomcat容器实例,一个命令可以搞定,何乐而不为呢.好在Docker提 供了Dockerfile作为构建Docker镜像脚本,避免人们一行一行的输入,真是善莫大焉.Dockerfile脚本可以做到随时维护修改,即可以 分享,更有利于在模板化,更不用说传输了,好处那是一大箩筐! 最终目的:打造一个支持SSH终端登录.Tomcat7自动运行的Do…
集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能.   1.节点 一个节点就是一个运行在集群模式下的Redis服务器.启动Redis服务器时,通过判断cluster-enabled选项,选择是否开启集群模式.(Yes开启集群,No则单机模式普通服务器)   一个Redis集群由多个节点组成,每个节点使用的端口各不相同,可以设置.每个节点最开始可以看做一个只有自己节点的集群,节点间通过命令相互握手,组建集群   握手命令 cluster meet //与ip为127.0.0…
[Cluster]集群,一个ES集群由一个或多个节点(Node)组成,每个集群都有一个cluster name作为标识------------------------------------------------[node]节点,一个ES实例就是一个node,一个机器可以有多个实例,所以并不能说一台机器就是一个node,大多数情况下每个node运行在一个独立的环境或虚拟机上.------------------------------------------------[index]索引,即一…
1. 查看docker信息(version.info) # 查看docker版本 $docker version # 显示docker系统的信息 $docker info 2. 对image的操作(search.pull.images.rmi.history) # 检索image $docker search image_name # 下载image $docker pull image_name # 列出镜像列表; -a, --all=false Show all images; --no-t…