节点服务器

高可用系列之Nginx

拈花ヽ惹草 提交于 2020-02-29 12:30:55
1.1 Keepalived 高可用软件 Keepalived 起初是专为 LVS 设计的, 专门用来监控 LVS 集群系统中各个服务节点的状态 ,后来又加入了 VRRP 的功能,因此除了配合 LVS 服务外,也可以作为其他服务( Nginx,Haproxy )的高可用软件, VRRP 是 Virtual Router Redundancy Protocol (虚拟路由器冗余协议)的缩写, VRRP 出现的目的就是为了解决 静态路由 出现的单点故障问题,它能够保证网络的不间断、稳定的运行。所以, keepalived 以方面具有 LVS Cluster nodes healthchecks 功能,另一方面也具有 LVS directors failover 功能。 1.1.1 LVS Directors failover 功能 Ha failover 功能:实现 LB Master 主机和 Backup 主机之间故障转义和自动切换。 这是针对有两个负载均衡器 Director 同时工作而采取的故障转移措施。当主负载均衡器( MASTER )失效或出现故障时,备份负载均衡器( BACKUP )将自动接管主负载均衡的所有工作( vip 资源及相应服务)一旦主负载均衡器( MASTER )故障修复, MASTER 又会接管回它原来处理的工作,而备份负载均衡器( BACKUP )会释放

转帖-Centos修改时区时间日期

孤街浪徒 提交于 2020-02-29 05:32:42
Centos修改时区时间日期 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 修改时区 找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai 替换当前的/etc/localtime。 修改/etc/sysconfig/clock文件的内容为: ZONE="Asia/Shanghai" UTC=false ARC=false 修改日期 时间设定成2008年9月10日的命令如下: #date -s 09/10/2008 修改时间 将系统时间设定成上午10点25分0秒的命令如下。 #date -s 10:25:00 同步biso时间 同步BIOS时钟,强制把系统时间写入CMOS,命令如下: #clock -w 附 ntpq 详解: 命令 "ntpq -q" 输出下面这样的一个表: remote refid st t when poll reach delay offset jitter ============================================================================== LOCAL(0) .LOCL. 10 l 96h 64 0 0.000 0.000 0.000 *ns2.example.com 10.193.2.20 2 u

LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法)

孤者浪人 提交于 2020-02-28 23:37:16
-------------------LVS专题------------------------ LVS原理详解及部署之一:ARP原理准备 LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法) LVS原理详解及部署之三:手动部署LVS LVS原理详解及部署之四:keepalived介绍 LVS原理详解及部署之五:LVS+keepalived实现负载均衡&高可用 ------------------------------------------------- 一、集群简介 什么是集群 计算机集群 简称 集群 是一种 计算机系统 ,它通过一组松散集成的 计算机软件 和/或硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。 集群系统 中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。 集群计算机 通常用来改进单个计算机的计算速度和/或可靠性。一般情况下 集群计算机 比单个计算机,比如工作站或 超级计算机 性能价格比要高得多。 集群就是一组独立的计算机,通过网络连接组合成一个组合来共同完一个任务 LVS在企业架构中的位置: 以上的架构只是众多企业里面的一种而已。绿色的线就是用户访问请求的数据流向。用户-->LVS负载均衡服务器--->apahce服务器--->mysql服务器&memcache服务器&共享存储服务器

解释Apache ZooKeeper

别说谁变了你拦得住时间么 提交于 2020-02-28 19:33:28
我试图了解ZooKeeper,它是如何工作的以及它的作用。 有没有可与ZooKeeper相媲美的应用程序? 如果你知道,那么你如何向外行描述ZooKeeper? 我已经尝试过apache wiki,zookeeper sourceforge ......但我仍然无法与之相关。 我只是通过 http://zookeeper.sourceforge.net/index.sf.shtml 阅读,所以不是有更多这样的服务吗? 它只是复制服务器服务这么简单吗? #1楼 Zookeeper是一个集中式开源服务器,用于维护和管理分布式集群环境的配置信息,命名约定和同步。 Zookeeper通过提供低延迟和高可用性来帮助分布式系统降低管理复杂性。 Zookeeper最初是Hadoop的子项目,但现在它是Apache Software Foundation的顶级独立项目。 更多信息 #2楼 Zookeeper是最好的开源服务器和服务之一,有助于可靠地协调分布式进程。 Zookeeper是一个CP系统(参考CAP定理),它提供一致性和分区容差。 在所有节点上复制Zookeeper状态使其成为最终一致的分布式服务。 此外,如果追随者遗失了许多提案,任何新当选的领导人都会更新其关注者的遗失提案或国家快照。 Zookeeper还提供了一个非常易于使用的API。 这篇博文, Zookeeper Java

分布式集群架构学习笔记

为君一笑 提交于 2020-02-28 03:09:21
分布式和集群 分布式和集群是不⼀样的,分布式⼀定是集群,但是集群不⼀定是分布式(因为集群就是多个实例⼀起 ⼯作,分布式将⼀个系统拆分之后那就是多个实例;集群并不⼀定是分布式,因为复制型的集群不是拆 分⽽是复制) 第⼀部分 ⼀致性Hash算法 Hash算法,⽐如说在安全加密领域MD5、SHA等加密算法,在数据存储和查找⽅⾯有Hash表等, 以上 都应⽤到了Hash算法。 为什么需要使⽤Hash? Hash算法较多的应⽤在数据存储和查找领域,最经典的就是Hash表,它的查询效率⾮常之⾼,其中的 哈希算法如果设计的⽐较ok的话,那么Hash表的数据查询时间复杂度可以接近于O(1),示例 需求:提供⼀组数据 1,5,7,6,3,4,8,对这组数据进⾏存储,然后随便给定⼀个数n,请你判断n是否存在 于刚才的数据集中? list:List[1,5,7,6,3,4,8] // 通过循环判断来实现 for(int element: list) { if(element == n) { 如果相等,说明n存在于数据集中 } } 以上这种⽅法叫做顺序查找法 :这种⽅式我们是通过循环来完成,⽐较原始,效率也不⾼ ⼆分查找:排序之后折半查找,相对于顺序查找法会提⾼⼀些效率,但是效率也并不是特别好 我能否不循环!不⼆分!⽽是通过⼀次查询就把数据n从数据集中查询出来???可以! 定义⼀个数组,数组⻓度

Zookeeper知识梳理

丶灬走出姿态 提交于 2020-02-27 13:23:31
转载自: https://hadyang.github.io/interview/docs/architecture/distributed/zk/ 分布式应用 分布式应用可以在给定时间(同时)在网络中的多个系统上运行,通过协调它们以快速有效的方式完成特定任务。通常来说, 对于复杂而耗时的任务,非分布式应用(运行在单个系统中)需要几个小时才能完成,而分布式应用通过使用所有系统涉及的计算能力可以在几分钟内完成 。 通过将分布式应用配置为在更多系统上运行,可以进一步减少完成任务的时间。分布式应用正在运行的一组系统称为 集群 ,而在集群中运行的每台机器被称为 节点 。 分布式应用的优点 可靠性:单个或几个系统的故障不会使整个系统出现故障。 可扩展性:可以在需要时增加性能,通过添加更多机器,在应用程序配置中进行微小的更改,而不会有停机时间。 透明性:隐藏系统的复杂性,并将其显示为单个实体/应用程序。 分布式应用的挑战 竞争条件:两个或多个机器尝试执行特定任务,实际上只需在任意给定时间由单个机器完成。例如,共享资源只能在任意给定时间由单个机器修改。 死锁:两个或多个操作等待彼此无限期完成。 不一致:数据的部分失败。 ZooKeeper基础 Apache ZooKeeper是由集群(节点组)使用的一种服务,用于在自身之间协调,并通过稳健的同步技术维护共享数据

MySQL读写分离(ProxySQL)

六眼飞鱼酱① 提交于 2020-02-26 16:01:55
MySQL读写分离(ProxySQL) 读写分离原理 读写分离就是用户在发送请求时,请求经过中间件,中间件将请求中的读和写操作分辨出来将读请求发送给后端的从服务器,将写请求发送给后端的主服务器,再又主服务器通过主从复制将数据复制给其他从服务器 常见MySQL中间件 名称 公司 站点地址 mysql-proxy Oracle https://downloads.mysql.com/archives/proxy Atlas Qihoo https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md dbproxy 美团 https://github.com/Meituan-Dianping/DBProxy Cetus 网易乐得 https://github.com/Lede-Inc/cetus Amoeba https://sourceforge.net/projects/amoeba/ Cobar 阿里巴巴 Amoeba的升级版 Mycat 基于Cobar http://www.mycat.io ProxySQL https://proxysql.com/ 本文以ProxySQL为例来介绍读写分离的使用方法 ProxySQL简介 ProxySQL为MySQL的中间件,其有两个版本官方版和percona版

负载均衡中间件(二)LVS负载均衡软件和基于云计算平台的架构

孤人 提交于 2020-02-26 11:46:56
一、LVS简介 LVS全称Linux Virtual Server,即Linux虚拟服务器。它是我国章文嵩博士的一个开源项目。在linux内核2.6中,已经成为了内核的一部分,在此之前的内核需要重新编译内核。 主要用于服务器的负载均衡,它工作在网络4层,开源实现高性能,搞可用的服务器集群技术。它廉价,可把许多低性能的服务器组合在一起形成一个超级服务器。它易用,配置简单,且有多种负载均衡方法。它稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不影响整体效果。另外扩展性非常好。 针对高伸缩、高可用网络服务的需求,我们给出了基于IP层和基于内容请求分发的负载平衡调度解决方法,并在linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器。 虚拟服务器的体系结构如上图所示,一组服务器通过高速的局域网或地理分布的广域网相互连接,在它们的前端有一个负载均衡调度器(Load Balancer)。负载均衡调度器能无缝地将网络请求调度到真实服务器上,从而使得服务器集群的结构对客户是透明的,客户访问集群系统提供的网络服务就像访问一台高性能、高可用的服务器一样。由于我们的负载调度技术是在linux内核中实现的,我们称之为linux虚拟服务器。 项目目标:使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,它具有很好的伸缩性、可靠性和可管理性。 目前

Windows 2016中安装SQLServer2016 Failover Cluster

安稳与你 提交于 2020-02-26 03:32:59
本文主要介绍如何在Windows Server 2016中部署SQLServer2016 Failover Cluster;什么是Failover Cluster,请查看 微软技术文档 。 部署环境 编号 服务器名称 IP地址 操作系统 001 AD1 192.168.100.250 Windows Server 2016 Datacenter Evaluation 002 Storage 192.168.100.252 Windows Server 2016 Datacenter Evaluation 003 SQL1 192.168.100.242 Windows Server 2016 Datacenter Evaluation 004 SQL2 192.168.100.243 Windows Server 2016 Datacenter Evaluation 005 CSQL 192.168.100.244 SQLServer Cluster 006 MSSQL 192.168.100.245 SQLServer Service 先决条件设置 1、配置AD域控制器,如何配置AD域控制器请查看 创建AD域 2、部署Storage,如何配置存储请查看 部署Storage 3、设置IP地址,DNS指向域控制器IP 4、安装用户这里使用域管理员,或者新建一个域用户

MySQL高可用之KeepAlived+双主

元气小坏坏 提交于 2020-02-25 23:36:25
MySQL高可用之KeepAlived双主 生产环境中一台mysql主机存在单点故障,所以要确保mysql的高可用性,即两台MySQL服务器。如果其中有一台MySQL服务器挂掉后,另外一台能立马接替其进行工作。 MySQL的高可用方案一般有如下几种:keepalived+双主,MHA,PXC,MMM,Heartbeat+DRBD等,比较常用的是keepalived+双主,MHA和PXC。 主要介绍利用 keepalived 实现 MySQL 数据库的高可用。 Keepalived+mysql双主来实现MySQL-HA,我们必须保证两台MySQL数据库的数据完全一样。 基本思路 两台MySQL互为主从关系,通过Keepalived配置虚拟IP,实现当其中的一台MySQL数据库宕机后,应用能够自动切换到另外一台MySQL数据库,保证系统的高可用。 环境 Mysql版本:mysql 5.7 Keepalived: keepalived-1.2.20 主机 操作系统 mysql-VIP IP地址 mysql-master01 CentOS 7 192.168.10.100 192.168.1.1 mysql-master02 CentOS 7 192.168.10.100 192.168.1.8 一、配置两台服务器主主同步 该过程的第一部分就是master记录二进制日志