集群服务器

通过Portworx在AWS上运行高可用SQL Server容器

|▌冷眼眸甩不掉的悲伤 提交于 2020-04-05 15:45:01
通过Portworx云原生存储,在Amazon EKS里运行高可用SQL Server容器 在本文我们将分析,如何使用Amazon Elastic Container Service for Kubernetes (Amazon EKS, https://amazonaws-china.com/eks/),来在容器中部署Microsoft SQL Server。文中讨论的方式和与原理,也适用于其他需要高可用和持久性、并符合可复用的DevOps方式的有状态应用。例如运行MongoDB、Apache Cassandra、MySQL、或者大数据处理等。 首先能够被支持在容器中运行的是SQL Server 2017版本。我们可以在Linux容器中,使用Kubernetes (https://amazonaws-china.com/kubernetes/)来运行SQL Server生产负载。 Microsoft SQL Server是被广泛使用的数据库。SQL Server提供一系列很不错的功能,也有很不错的开发者社区。但是它需要比较多的运维,也比开源的或者云端的数据库成本要更高。很多为了降低成本的用户会转向开源方案来降低软件授权的成本。另一些用户会迁移工作负载到关系数据库管理系统(RDBMS)服务里,比如Amazon RDS for Microsoft SQL Server或者Amazon

zookeeper(单机、伪集群、集群)部署

柔情痞子 提交于 2020-04-05 00:35:07
ZooKeeper是一个分布式的、开源的分布式应用程序协调服务,可以在分布 式环境中实现应用配置管理、统一命名服务、状态同步服务等功能。 ZooKeeper是一种为分布式应用所设计的高可用、高性能的开源协调服务,它提供了一项基本服务:分布式锁 服务。由于ZooKeeper开源的特性,在其分布式锁实现的基础上,又被摸索出了其它的功用,譬如:配置维 护、组服务、分布式消息队列等等。 ZooKeeper维护了一个类似文件系统的数据结构,其内部每个子目录都被 称作znode(目录节点),与文件系统一样,我们可以自由的增删改查znode。ZooKeeper集群适合搭建在奇数 台机器上。只要集群中半数以上主机处于存活,那么服务就是可用的。 ZooKeeper在配置文件中并没有指定 master和slave,但是,ZooKeeper在工作时,只有一个节点为leader,其余节点为follower,leader是通过内部 的选举机制临时产生的。 ZooKeeper特点 1、顺序一致性:以zxid来保证事务的顺序性。 2、原子性:以zab保证原子操作,要么成功,要么失败。 3、单一视图:客户获取到的数据始终是一致的。 4、可靠:以版本实现"写入校验",保证了数据写入的正确性。 ZooKeeper有三种安装方式:单机模式 & 伪集群模式 & 集群模式 单机模式: ZooKeeper以单实例的形式运

Kubeadm 搭建 Kubernetes 集群

谁都会走 提交于 2020-04-04 18:02:38
两条指令完成部署 # 创建一个Master节点 $ kubeadm init # 将一个Node节点加入到当前集群中 $ kubeadm join <Master节点的IP和端口> kubeadm 搭建非常简单,核心就这两条语句。具体还有网络、存储等配置我们往下看。 部署 Overview 在所有节点上安装 Docker 和 kubeadm; 部署 Kubernetes Master 部署容器网络插件; 部署 Kubernetes Worker; 部署 Dashboard 可视化插件; 部署容器存储插件 查看安装的相关组件信息 [root@kubernetes ~]# kubeadm version kubeadm version: &version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:17:50Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"} [root@kubernetes ~]# kubectl version Client

浅谈分布式集群管理的原理,看看集群究竟是做什么的

◇◆丶佛笑我妖孽 提交于 2020-04-04 09:19:19
本文始发于个人公众号: TechFlow ,原创不易,求个关注 今天是 分布式专题的第11篇 文章,我们一起来聊聊 分布式集群资源管理 。 在开始文章之前,我们先来问一个问题, 为什么是国际上是亚马逊,国内是阿里这两家公司云计算搞得最好呢 ?这两家公司之间有一个巨大的共同点,就是它们都是 电商公司 。电商公司的特点很明显,就是流量不是固定的,往往会受到大促、节日的影响。像是国内的双十一和美国的黑色星期五就是典型的大促。在大促的时候的流量会是平常的十倍甚至更多,这么大的流量必须要有更多的机器去应对。但问题是如果去买这么多机器,但是大促过了,流量下降,那么这些机器就又用不到了,显然就会造成浪费。 那怎么样才能 避免浪费 呢?就是搞一个大集群,把所有机器和计算资源管理起来,大促的时候就用来应对大促的流量,平时呢可以用来搞搞大数据运算或者是租给其他公司或个人,形成一定的经济收益,总是就是 不让这些机器闲着,以免浪费 。 本质上来说,亚马逊和阿里搞云计算、云服务器背后的核心驱动因素之一原因都是为了解决这个问题。 集群资源管理 集群资源管理是分布式非常普遍的应用场景,可以说是无论公司大小都必然有所接触。像是阿里云、亚马逊云说起来很高大上,但是底层也离不开这个。 这个问题的背景非常简单,无论 大小公司往往都不止一套系统 。但是公司的资源是有限的也是固定的,但是我们需要应用机器的场景却是灵活的

ML平台_小米深度学习平台的架构与实践

让人想犯罪 __ 提交于 2020-04-03 22:12:18
( 转载: http://www.36dsj.com/archives/85383 )机器学习与人工智能,相信大家已经耳熟能详,随着 大规模标记数据的积累 、 神经网络算法的成熟 以及 高性能通用GPU的推广 ,深度学习逐渐成为计算机专家以及大数据科学家的研究重点。近年来,无论是 图像的分类 、 识别和检测 ,还是 语音生成、自然语言处理 ,甚至是AI下围棋或者打游戏都基于深度学习有了很大的突破。而随着 TensorFlow、Caffe 等开源框架的发展,深度学习的门槛变得越来越低,甚至初中生都可以轻易实现一个图像分类或者自动驾驶的神经网络模型,但目前最前沿的成果主要还是出自Google、微软等巨头企业。 Google不仅拥有优秀的人才储备和大数据资源,其得天独厚的基础架构也极大推动了AI业务的发展,得益于内部的 大规模集群调度系统Borg ,开发者可以快速申请大量GPU资源进行模型训练和上线模型服务,并且 通过资源共享和自动调度保证整体资源利用率也很高 。Google开源了TensorFlow深度学习框架,让开发者可以在本地轻易地组合MLP、CNN和RNN等模块实现复杂的神经网络模型, 但TensorFlow只是一个数值计算库,并不能解决资源隔离、任务调度等问题,将深度学习框架集成到基于云计算的基础架构上将是下一个关键任务 。 除了Google、微软,国内的百度也

Kubenetes 1.13.5 集群源码安装

删除回忆录丶 提交于 2020-04-03 17:32:29
Kubenetes 1.13.5 集群源码安装 标签(空格分隔): k8s 2019年06月13日 本文截选https://k.i4t.com 更多k8s内容请持续关注https://i4t.com 一、K8s简介 在1.11安装的地方已经讲过了,简单的查看K8s原理可以通过 k8s 1.11源码安装 查看,或者通过https://k.i4t.com查看更深入的原理 二、K8s环境准备 本次安装版本 Kubernetes v1.13.5 (v1.13.4有kubectl cp的bug) CNI v0.7.5 Etcd v3.2.24 Calico v3.4 Docker CE 18.06.03 kernel 4.18.9-1 (不推荐使用内核5版本) CentOS Linux release 7.6.1810 (Core) K8s系统最好选择7.4-7.6 docker 提示 Centos7.4之前的版本安装docker会无法使用 overlay2 为docker的默认存储引擎。 关闭IPtables及NetworkManager systemctl disable --now firewalld NetworkManager setenforce 0 sed -ri '/^[^#]*SELINUX=/s#=.+$#=disabled#' /etc/selinux/config

构建高可用ZooKeeper集群

匆匆过客 提交于 2020-04-03 10:21:27
构建高可用ZooKeeper集群 2017/01/23 | 分类: 技术架构 | 0 条评论 | 标签: ZOOKEEPER 分享到: 9 原文出处: cyfonly ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效、高可用的分布式协调服务,提供了诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知和分布式锁等分布式基础服务。由于 ZooKeeper 便捷的使用方式、卓越的性能和良好的稳定性,被广泛地应用于诸如 Hadoop、HBase、Kafka 和 Dubbo 等大型分布式系统中。 本文的目标读者是对 ZooKeeper 有一定了解的技术人员,将从 ZooKeeper 运行模式、集群组成、容灾和水平扩容四方面逐步深入,最终构建出高可用的 ZooKeeper 集群。 一、运行模式 Zookeeper 有三种运行模式:单机模式、伪集群模式和集群模式。 1.1 单机模式 这种模式一般适用于开发测试环境,一方面我们没有那么多机器资源,另外就是平时的开发调试并不需要极好的稳定性。 在 Linux 环境下运行单机模式需要执行以下步骤: 1. 准备 Java 运行环境 安装 Java 1.6 或更高版本的 JDK,并配置好 Java 相关的环境变量 $JAVA_HOME 。 2. 下载 ZooKeeper 安装包 下载地址: http://zookeeper

Redis分布式集群搭建

此生再无相见时 提交于 2020-04-03 05:33:21
Redis 集群架构图 上图蓝色为 redis 集群的节点。 节点之间通过 ping 命令来测试连接是否正常,节点之间没有主区分,连接到任何一个节点进行操作时,都可能会转发到其他节点。 1、Redis 的容错机制 节点之间会定时的互相发送 ping 命令,测试节点的健康状态,当节点接受到 ping 命令后,会返回一个 pong 字符串。 投票机制:如果一个节点 A 给节点 B 发送 ping 没有得到 pong 返回,会通知其他节点再次给 B 发送 ping ,如果集群中有超过一半的节点收不 B 节点的 pong 。那么就认为 B 节点挂了。一般会为每个节点提供一个备份节点,如果挂掉会切换到备份节点。 2、Redis 集群存储原理 Redis 对于每个存放的 key 会进行 hash 操作,生成一个 [ 0-16384] 的 hash 值(先进行 crc 算法再对 16384 取余)。 集群的情况下,就是把 [0-16384] 的区间进行拆分,放到不同的 redis 中。 3、Redis 的持久化 Snapshotting :定时的将 Redis 内存中的数据保存到硬盘中 AOF :将所有的 command 操作保存到 aof 中, AOP 的同步频率很高,数据即使丢失,粒度也很小,但会在性能上造成影响。 二、Redis 集群准备工作 Redis 安装 源码下载 下载地址

搭建RocketMQ集群

99封情书 提交于 2020-04-03 04:48:19
一、环境及准备 集群环境: 软件版本: 部署前操作: 关闭防火墙,关闭selinux(生产环境按需关闭或打开) 同步服务器时间,选择公网ntpd服务器或者自建ntpd服务器 [root@es1 ~]# crontab -l #为了方便直接使用公网服务器 #update time */5 * * * * /usr/bin/rdate -s time-b.nist.gov &>/dev/null 安装配置Java环境 参考此文章配置jvm部分https://www.cnblogs.com/panwenbin-logs/p/10369402.html 配置hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.150.134 rocketmq-nameserver1 172.16.150.134 rocketmq-master1 172.16.150.135 rocketmq-nameserver2 172.16.150.135 rocketmq-master2 172.16.150.136 rocketmq

Docker部署Nginx、Tomcat集群

前提是你 提交于 2020-04-02 14:29:34
Tomcat集群由多个tomcat组成,使用Nginx的好处是可以实现负载均衡和动静分离。 使用Docker的好处是~~~我们不需要复杂的配置,只需要执行简单的命令就能拉取已有的官方docker镜像,再通过一条命令就能运行我们的实例了。对于多个Tomcat,我们使用相同的镜像,然后使用简单的命令,就能创建不同的tomcat container实例。 1.拉去镜像 $ docker pull tomcat:8-jre8-alpine $ docker pull nginx:latest $ docker images 2.创建tomcat文件夹和webapps的交换文件夹,并创建container $ docker run --name tomcat1 -p 18080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps -d tomcat:8-jre8-alpine # cc8d9b8bc8a90d0768df15f94ae2cb37694021cf637d0610d10eaee669b0d5bad $ docker run --name tomcat2 -p 28080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps -d tomcat:8-jre8-alpine #