集群服务器

redis

China☆狼群 提交于 2019-12-10 22:36:28
1. redis介绍 1.1. 什么是redis ​ Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如 下: 字符串类型 散列类型 (对应Java中的Object,它主要用来存储对象) 列表类型 (List) 集合类型 (Set) 有序集合类型。 (TreeSet) 1.2. redis的应用场景 缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用) 分布式集群架构中的session分离。 聊天室的在线好友列表。 任务队列。(秒杀、抢购、12306等等) 应用排行榜。 网站访问统计。 数据过期处理(可以精确到毫秒) 2. Redis的安装 2.1 在Windows上安装 2.2 在Linux上安装 redis是C语言开发,建议在linux上运行,示例使用CentOS7作为安装环境。 安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc yum install gcc-c++ 阿里云的CentOS7默认已经内置了gcc,可以跳过这一步 下载redis 从官网下载 http://download.redis.io/releases/redis-5.0.5.tar.gz 将redis-5.0.5.tar

Apache ZooKeeper

£可爱£侵袭症+ 提交于 2019-12-10 19:20:56
1、Zookeeper基本知识 1.1、ZooKeeper集群搭建 Zookeeper 集群搭建指的是ZooKeeper分布式模式安装。通常由2n+1台servers组成。这是因为为了保证Leader选举(基于Paxos算法的实现)能得到多数的支持,所以ZooKeeper集群的数量一般为奇数。 Zookeeper运行需要java环境,所以需要提前安装jdk.对于安装leader+follower模式的集群,大致过程如下: 配置主机名到IP地址映射配置 修改ZooKeeper配置文件费 远程复制分发安装文件 设置myid 启动ZooKeeper集群 如果要想使用Observer模式,可在对应节点的配置文件添加如下配置: peerType=observer 其次,必须在配置文件指定哪些节点被指定为Observer,如: server.1:node-1:2181:3181:observer 1.2、ZooKeeper概述 Zookeeper是一个分布式协调服务的开源框架。主要用来解决分布式集群中应用系统的一致性问题。 ZooKeeper本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以到达基于数据的集群管理。 1.3、ZooKeeper特性 1

Apache ZooKeeper

我们两清 提交于 2019-12-10 17:29:50
1、Zookeeper基本知识 1.1、ZooKeeper集群搭建 Zookeeper集群搭建指的是ZooKeeper分布式模式安装。通常由2n+1台servers组成。这是因为为了保证Leader选举(基于Paxos算法的实现)能过得到多数的支持,所以ZooKeeper集群的数量一般为奇数。 Zookeeper运行需要java环境,所以需要提前安装jdk。对于安装leader+follower模式的集群,大致过程如下: 配置主机名称到IP地址映射配置 修改ZooKeeper配置文件 远程复制分发安装文件 设置myid 启动ZooKeeper集群 1.2、ZooKeeper概述 Zookeeper是一个 分布式协调服务的开源框架 。主要用来解决分布式集群中应用系统的一致性问题。 ZooKeeper本质上是一个 分布式的小文件存储系统 。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于 2、数据的集群管理。 ZooKeeper特性 1. 全局数据一致 :集群中每个服务器保存一份相同的数据副本,client无论连接到哪个服务器,展示的数据都是一致的,这是最重要的特征; 2. 可靠性 :如果消息被其中一台服务器接受,那么将被所有的服务器接受。 3. 顺序性

HAZELCAST

情到浓时终转凉″ 提交于 2019-12-10 15:51:06
1.1Hazelcast概述 Hazelcast是基于内存的数据网格开源项目,同时也是该公司的名称。Hazelcast提供弹性可扩展的分布式内存计算,Hazelcast被公认是提高应用程序性能和扩展性最好的方案。Hazelcast通过开放源码的方式提供以上服务。更重要的是,Hazelcast通过提供对开发者友好的Map、Queue、ExecutorService、Lock和JCache接口使分布式计算变得更加简单。例如,Map接口提供了内存中的键值存储,这在开发人员友好性和开发人员生产力方面提供了NoSQL的许多优点。 除了在内存中存储数据外,Hazelcast还提供了一组方便的api来访问集群中的cpu,以获得最大的处理速度。轻量化和简单易用是Hazelcast的设计目标。Hazelcast以Jar包的方式发布,因此除Java语言外Hazelcast没有任何依赖。Hazelcast可以轻松地内嵌已有的项目或应用中,并提供分布式数据结构和分布式计算工具。 Hazelcast 具有高可扩展性和高可用性(100%可用,从不失败)。分布式应用程序可以使用Hazelcast进行分布式缓存、同步、集群、处理、发布/订阅消息等。Hazelcast基于Java实现,并提供C/C++,.NET,REST,Python、Go和Node.js客户端。Hazelcast遵守内存缓存协议

主从复制同步

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-10 15:12:44
day12 部署集群环境 IP 规划 • redis 服务器 ip 地址及端口规划 – redisA 192.168.4.51 6351 – redisB 192.168.4.52 6352 – redisC 192.168.4.53 6353 – redisD 192.168.4.54 635 4 – redisE 192.168.4.55 6355 – redisF 192.168.4.56 6355 拓展图 集群工作原理 创建 Redis 集群 装包 • 在 6 台主机上做如下配置 , 并运行 redis 服务 #yum -y install gcc gcc-c++ #tar -zxvf redis-4.0.8.tar.gz #cd redis-4.0.8/ #make #make install #./utils/install_server.sh • 修改配置文件 #vim /etc/redis/redis.conf bind IP 地址 // 只写物理接口 IP 地址 daemonize yes // 守护进程方式运行 port xxxx // 端口号不要使用默认的 6379 cluster-enabled yes // 开启集群 cluster-config-file nodes.conf // 集群的配置文件不要使用默认的名称 cluster-node

Spring quartz 集群模式下trigger_state error问题原因

我的未来我决定 提交于 2019-12-10 12:22:43
问题描述 在项目中采用了Spring quartz调度任务来执行定时任务,quartz本身是支持集群化方式的,可以配置一个数据源,quartz会在数据库中创建一系列的表,使用这些表来存储调度的信息,集群中所有的节点都访问这一个数据库,这样可以实现集群环境下的定时任务调度。 但是在最近生产环境出现了这样的问题,新增的一个定时调度任务,当服务启动后,执行两次以后,该任务就不再执行了,但是其他原有的定时任务并没有出现问题,只有这个新增的任务无法执行,检查qrtz_triggers表,发现该条调度任务的记录的trigger_state变成了”error”状态。 问题分析 1、检查是否新增的定时任务抛出异常,导致了任务中断,加入大量的日志以及异常捕获,未发现任何异常的日志,排除了代码报错的可能 2、猜测是否是因为数据库中调度相关表存在脏数据,导致了新增的调度任务不执行;随后将相关表全部清空,重启集群中所有节点,观察,发现仍然是执行两次后变为”error” 3、检查qrtz_scheduler_state表,发现存在多条记录,根据网上查找的信息,将多条记录删除,只保留一条,再重启集群,观察,发现仍然不行 4、由第三条可知,qrtz_scheduler_state表中有多条记录,仔细观察instance_name的记录,发现是由服务器节点的实例名加数字组成

部署MYSQL高可用集群

拈花ヽ惹草 提交于 2019-12-10 12:14:17
mysql-day08 部署 MYSQL 高可用集群 u 集群架构 MHA 工作过程 • MHA Manager 会定时探测集群中的 master 节点 , 当 master 出现故障时 , 它可以自动将最新数据的 sl ave 提升为新的 master , 然后将所有其他的 slave 重新指向新的 master 。整个故障转移过程对应用程 序完全透明。 – ( 1 ) 从宕机崩溃的 master 保存二进制日志事件 ( binlog events) – ( 2 ) 识别含有最新更新的 slave – ( 3 ) 应用差异的中继日志 ( relay log ) 到其他的 slave – ( 4 ) 应用从 master 保存的二进制日志事件 ( binlog events ) – ( 5 ) 提升一个 slave 为新的 master ; – ( 6 ) 使其他的 slave 连接新的 master 进行复制 ; u 准备环境 一、集群定义:使用多台服务提供相同的服务 二、高可用集群定义:主备模式,被客户端访问的称作主,当主宕机时,备用 服务器自动接收客户端访问。 拓扑结构 client | | --> vip 192.168.4.100 《 51 , 52 , 53 》 _____________________________________________________

面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)

耗尽温柔 提交于 2019-12-10 11:45:42
Redis 面试题 1、什么是 Redis?. 2、Redis 的数据类型? 3、使用 Redis 有哪些好处? 4、Redis 相比 Memcached 有哪些优势? 5、Memcache 与 Redis 的区别都有哪些? 6、Redis 是单进程单线程的? 7、一个字符串类型的值能存储最大容量是多少? 8、Redis 的持久化机制是什么?各自的优缺点? 9、Redis 常见性能问题和解决方案: 10、redis 过期键的删除策略? 11、Redis 的回收策略(淘汰策略)? 12、为什么 edis 需要把所有数据放到内存中? 13、Redis 的同步机制了解么? 14、Pipeline 有什么好处,为什么要用 pipeline? 15、是否使用过 Redis 集群,集群的原理是什么? 16、Redis 集群方案什么情况下会导致整个集群不可用? 17、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个? 18、Jedis 与 Redisson 对比有什么优缺点? 19、Redis 如何设置密码及验证密码? 20、说说 Redis 哈希槽的概念? 21、Redis 集群的主从复制模型是怎样的? 22、Redis 集群会有写操作丢失吗?为什么? 23、Redis 集群之间是如何复制的? 24、Redis 集群最大节点个数是多少? 25、Redis 集群如何选择数据库? 26

Zookeeper系列之高级篇

一笑奈何 提交于 2019-12-10 09:57:21
Zookeeper系列之高级篇 1. NIO、ZAB协议、2PC提交相关概念 2. Leader选举 3. 手写分布式锁,配置中心 ==================================== 一. NIO、ZAB协议、2PC提交相关概念 1 NIO NIO中的几个概念 Channel 可以将NIO中的Channel同传统IO中的Stream来类比,但是要注意,传统IO中,Stream是单向的,比如InputStream只能进行读取操作,OutStream只能写操作。而Channel是双向的,即可用来进行读操作,又可用来进行写操作 Buffer 在NIO中所有数据的读和写都离不开Buffer,读取的数据只能放在Buffer中,写入的数据也是先写入到Buffer中 Seletor 将Channel和Seletor配合使用,必须将channel注册到Seletor上,通过SelectableChannel.register()方法来实现 2 2PC (Two Phase Commitment Protocol)当一个事务操作需要跨越多个分布式节点的时候,为了保持事务处理的ACID 特性,就需要引入一个“协调者”(TM)来统一调度所有分布式节点的执行逻辑,这些被调度的分布式节点被称为AP。TM负责调度AP的行为,并最终决定这些AP是否要把事务真正进行提交

LVS工作原理及集群类型

雨燕双飞 提交于 2019-12-10 09:47:15
Cluster概念 Cluster:集群,为解决某个特定问题将多台计算机组合起来形成的单个系统 Linux Cluster类型: LB:Load Balancing,负载均衡 HA:High Availiablity,高可用,SPOF(single Point Of failure) MTBF:Mean Time Between Failure 平均无故障时间 MTTR:Mean Time To Restoration( repair)平均恢复前时间 A=MTBF/(MTBF+MTTR) (0,1):99%, 99.5%, 99.9%, 99.99%, 99.999% HPC:High-performance computing,高性能 www.top500.org 分布式系统: 分布式存储: Ceph,GlusterFS,FastDFS,MogileFS 分布式计算:hadoop,Spark ① 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其 任务调度 则是集群系统中的核心技术。 ② 集群是一组 相互独立的、通过高速网络互联 的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。 ③ 集群组成后