集群服务器

GFS分布式文件系统集群——理论

一个人想着一个人 提交于 2019-12-19 08:53:13
GFS分布式文件系统集群 GlusterFS概述 GlusterFS简介 开源的分布式文件系统 由存储服务器,客户端以及NFS/Samba存储网关组成 无元数据服务器 RDMA:负责数据传输 GlusterFS的特点 扩展性和高性能 高可用性 全局统一的命名空间 弹性卷管理 基于标准协议 GlusterFS术语 Brick : 存储节点 Volume : 卷 FUSE : 内核模块,用户端的交互模块 VFS : 虚拟端口 Glusterd : 服务 模块化堆栈架构 模块化、堆栈式的架构 通过对模块的组合,实现负责的功能 GlusterFS工作模式 Application:客户端或应用程序通过GlusterFSync的挂载点访问数据 VFS:linux系统内核通过VFS API收到请求并处理 FUSE : VFS 将数据递交给FUSE内核文件系统,fuse 文件系统则是将数据通过/dev/fuse设备文件递交给了GlusterFS client端 GlusterFS Client ; 通过网络将数据传递至远端的GlusterFS Server,并且写入到服务器存储设备上 GlusterFS工作原理 GlusterFS工作流程 弹性HASH算法 通过HASH算法得到一个32位的整数 划分为N个连续的子空间,每个空间对应一个Brick 弹性HASH算法的优点

压箱底的干货!干货!——Redis面试系列(一)

浪尽此生 提交于 2019-12-19 07:59:54
一、什么是 Redis? Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库,可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。 与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。另外,Redis 也经常用来做分布式锁。除此之外,Redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。 Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库。 二、Redis 与其他 key - value 缓存产品有以下三个特点: (1)Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 (2)Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。 (3)Redis 支持数据的备份,即 master-slave 模式的数据备份。 三、Redis有哪些优缺点 优点 (1)性能极高 – Redis 能读的速度是

redis 安装与集群

落花浮王杯 提交于 2019-12-19 05:30:31
一. 环境准备:安装GCC环境 安装Redis需要依托GCC环境,先检查Linux是否已经安装了GCC,如果没有安装,则需要进行安装 检查GCC是否安装,可以看看版本号,如没安装,则我们可以通过命令yum install gcc-c++进行在线安装 gcc -vyum install gcc-c++yum -y install wget 二.安装Redis 1、获取redis资源 解压 安装Redis 转到Redis的存放目录,然后通过命令解压Redis压缩包 $ wget http://download.redis.io/releases/redis-3.2.9.tar.gz$ tar -zxvf redis-4.0.8.tar.gz$ make && make PREFIX=/usr/local/redis install //make 这里如果不指定PREFIX,默认将安装在/usr/local/bin下 安装完后,在/usr/local/redis/bin下有几个可执行文件, redis-benchmark ----性能测试工具 redis-check-aof ----AOF文件修复工具 redis-check-rdb ----RDB文件检查工具(快照持久化文件) redis-cli ----命令行客户端 redis-server ----redis服务器启动命令 2

Apache+tomcat 集群配置

一笑奈何 提交于 2019-12-19 03:03:47
集群: apache、nginx tomcat: 理论上 单节点tomcat能够稳定的 处理请求并发量 200-300 集群的好处 负载均衡 失败迁移 服务端集群方式: 水平集群:将服务器安装在各个不同的计算机上(失败迁移) 垂直集群:将多个服务器安装在同一个计算机上(负载均衡) 搭建集群: apache:特点是处理静态资源 html 图片 js 这里的apache是一个服务器工具, tomcat: 特点是处理动态资源 apache+tomcat: 动静分离 apache:对请求进行分流操作 集群配置 需要的文件: 1.apache 2.tomcat 3.整合需要的文件mod_jk.so apache 下载地址 : httpd.apache.org 点击download 点击版本号 点击file for window 点击ApacheHaus 选择一个版本进行下载 下载完成后解压 tomcat 之前写过tomcat的配置,这里只需要参考下载的部分 https://blog.csdn.net/weixin_44643735/article/details/102683175 整合需要的文件mod_jk.so 下载地址: http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/ Ctrl+F

Zookeeper原理

心已入冬 提交于 2019-12-19 01:24:28
一 什么是 ZooKeeper ZooKeeper 的由来 下面这段内容摘自《从Paxos到Zookeeper 》第四章第一节的某段内容,推荐大家阅读以下: Zookeeper最早起源于雅虎研究院的一个研究小组。在当时,研究人员发现,在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系统往往都存在分布式单点问题。所以, 雅虎的开发人员就试图开发一个通用的无单点问题的分布式协调框架,以便让开发人员将精力集中在处理业务逻辑上。 关于“ZooKeeper”这个项目的名字,其实也有一段趣闻。在立项初期,考虑到之前内部很多项目都是使用动物的名字来命名的(例如著名的Pig项目),雅虎的工程师希望给这个项目也取一个动物的名字。时任研究院的首席科学家RaghuRamakrishnan开玩笑地说:“在这样下去,我们这儿就变成动物园了!”此话一出,大家纷纷表示就叫动物园管理员吧一一一因为各个以动物命名的分布式组件放在一起, 雅虎的整个分布式系统看上去就像一个大型的动物园了,而Zookeeper正好要用来进行分布式环境的协调一一于是,Zookeeper的名字也就由此诞生了。 1.1 ZooKeeper 概览 ZooKeeper 是一个开源的分布式协调服务,ZooKeeper框架最初是在“Yahoo!"上构建的,用于以简单而稳健的方式访问他们的应用程序。 后来,Apache

redis5集群搭建(不需要ruby)

守給你的承諾、 提交于 2019-12-19 01:20:03
1、介绍 集群中至少应该有奇数个节点,所以搭建集群最少需要3台主机。同时每个节点至少有一个备份节点,所以下面最少需要创建使用6台机器,才能完成Redis Cluster集群(主节点、备份节点由redis-cluster集群确定) 1、真集群: 准备6台服务器 192.168.1.1:6739 192.168.1.2:6739 192.168.1.3:6739 192.168.1.4:6739 192.168.1.5:6739 192.168.1.6:6739 2、伪集群:一台服务器存在6个redis服务 192.168.1.1:7001 192.168.1.1:7002 192.168.1.1:7003 192.168.1.1:7004 192.168.1.1:7005 192.168.1.1:7006 2、搭建伪集群 1、创建Redis节点安装目录 mkdir /usr/local/redis_cluster //指定目录下 创建 redis_cluster 之后所有命令都在redis_cluster目录下操作 2、在redis_cluster目录下,把/usr/local/redis/bin/目录下的文件全部放入redis01-redis06目录中(会自动创建redis01-redis06目录),并删除redis01-redis06目录中的dump.rdb cp -r /usr

Zookeeper简介

南楼画角 提交于 2019-12-19 00:27:20
什么是Zookeeper? Zookeeper是一个高效的分布式协调服务,它暴露了一些公用服务,比如命名/配置管理/同步控制/群组服务等。我们可以使用ZK来实现比如达成共识/集群管理/leader选举等。   Zookeeper是一个高可用的分布式管理与协调框架,基于ZAB算法(原子消费广播协议)的实现。该框架能够很好地保证分布式环境中数据的一致性。也正是基于这样的特性,使得Zookeeper成为了解决分布式一致性问题的利器。    顺序一致性:从一个客户端发起的事务请求,最终将会严格地按照其发起的顺序被应用到Zookeeper中去。   原子性:所有事务请求的处理结果在整个集群中所有机器上的应用情况是一致的,也就是说,要么整个集群所有的机器都成功应用了某一事务,要么有没有应用,一定不会出现部分机器应用了该事务,而另一部分没有应用的情况。   单一视图:无论客户端连接的是哪一个Zookeeper服务器,其看到的服务器端数据模型都是一致的。   可靠性:一旦服务器成功地应用了一个事务,并完成对客户端的响应,那么该事务所引起的服务端状态将会被一致保留下来,除非有另一个事务对其更改。   实时性:通常所说的实时性就是指一旦事务被成功应用,那么客户端就能立刻从服务器上获取变更后的新数据,Zookeeper仅仅能保证一段时间内,客户端最终一定能从服务器端读取最新的数据状态。

GFS分布式文件系统集群(实例!!!)

坚强是说给别人听的谎言 提交于 2019-12-18 23:44:29
GFS分布式文件系统集群项目 群集环境 卷类型 卷名称 卷类型 空间大小 Brick dis-volume 分布式卷 40G node1(/b1)、node2(/b1) stripe-volume 条带卷 40G node1(/c1)、node2(/c1) rep-volume 复制卷 20G node3(/b1)、node4(/b1) dis-stripe 分布式条带卷 40G node1(/d1)、node2(/d1)、node3(/d1)、node4(/d1) dis-rep 分布式复制卷 20G node1(/e1)、node2(/e1)、node3(/e1)、node4(/e1) 实验准备 1、为四台服务器服务器每台添加4个磁盘 2、修改服务器的名称 分别修改为node1、node2、node3、node4 [root@localhost ~]#hostnamectl set-hostname node1 [root@localhost ~]# su 3、将四台服务器上的磁盘格式化,并挂载 在这里我们使用脚本执行挂载 #进入opt目录 [root@node1 ~]# cd /opt #磁盘格式化、挂载脚本 [root@node1 opt]# vim a.sh #! /bin/bash echo "the disks exist list:" fdisk -l |grep

第七章· Redis Cluster 核心技术

為{幸葍}努か 提交于 2019-12-18 23:19:57
一、Redis Cluster 分布式集群 1.什么是Redis Cluster 1)Redis集群是一个可以在多个Redis节点之间进行数据共享的设施(installation)。 2)Redis集群不支持那些需要同时处理多个键的Redis命令,因为执行这些命令需要在多个Redis节点之间移动数据,并且在高负载的情况下,这些命令将降低Redis集群的性能,并导致不可预测的行为。 3)Redis集群通过分区(partition)来提供一定程度的可用性(availability):即使集群中有一部分节点失效或者无法进行通讯,集群也可以继续处理命令请求。 4)Redis集群有将数据自动切分(split)到多个节点的能力。 2.Redis Cluster的特点 高性能 1.在多酚片节点中,将16384个槽位,均匀分布到多个分片节点中 2.存数据时,将key做crc16(key),然后和16384进行取模,得出槽位值(0-16384之间) 3.根据计算得出的槽位值,找到相对应的分片节点的主节点,存储到相应槽位上 4.如果客户端当时连接的节点不是将来要存储的分片节点,分片集群会将客户端连接切换至真正存储节点进行数据存储 高可用 在搭建集群时,会为每一个分片的主节点,对应一个从节点,实现slaveof功能,同时当主节点down,实现类似于sentinel的自动failover的功能。 3

linux下redis 集群配置

我的梦境 提交于 2019-12-18 22:50:58
redis.conf 配置文件说明 daemonize no --是否把redis-server启动在后台,默认是“否”。若改成yes pidfile /var/run/redis.pid --当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 prot 6379 --指定Redis监听端口,默认端口为6379 bind 10.252.1.14 ---绑定的主机地址 timeout 0 ---当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能 loglevel notice ---指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose logfile /mnt/redis/log/redis.log --日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null databases 16 设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id save 900 1 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合 Redis默认配置文件中提供了三个条件: save 900 1