阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Redis集群搭建简述

90次阅读
没有评论

共计 3811 个字符,预计需要花费 10 分钟才能阅读完成。

1. 什么是 Redis

Redis是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止 Redis 支持的键值数据类型如 下:字符串类型, 散列类型, 列表类型, 集合类型, 有序集合类型。

2.Redis 安装

redis 是 C 语言开发, 安装 redis 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,需要安装gccyum install gcc-c++

注: redis3.0 版本 增加 redis 集群功能。

下载地址: http://download.redis.io/releases/redis-3.0.0.tar.gz

1) 我这里先将下载好的包上传到服务器 /usr/local/src/redis 下

2) 解压 tar -zxvf redis-3.0.0.tar.gz    (z: 标识解压格式,x: 解压缩,v: 显示解压进度,f: 解压文件)

3) 进入解压后的目录进行编译

cd /redis-3.0.0

make

4) 安装到指定目录 我这里安装到 /usr/local/redis

make PREFIX=/usr/local/redis insatll   注意大写

5) 复制配置文件到安装目录,

redis 编译后会有一个默认的配置文件, 安装目录中没有, 我们如果做配置需要把 redis 默认的配置文件拷贝到 redis 的安装目录下

cp /usr/local/src/redis/redis-3.0.0/redis.conf  /usr/local/redis/bin

Redis 集群搭建简述

3.Redis 启动

1) 前端模式启动

在安装目录 bin 下, 直接运行 ./redis-server 将以前端模式启动,前端模式启动的缺点是 ssh 命令窗口关闭则 redis-server 程序结束

  Redis 集群搭建简述

 

  这里我们可以看到 redis 默认端口为 6379, 此时在命令行下面的光标会一直闪烁, 如果此时按下 CTRL+C 会关闭服务

Redis 集群搭建简述

 

  2) 后端模式启动

需要将复制过来的 redis 配置文件 redis.conf  做修改

[root@localhost bin]# vi redis.conf  在 37 行 daemonize 改为 yes 以后端模式启动(输入 i 进入编辑模式, 修改好以后按一下 ESC, 输入 ”:wq” 保存并退出)

Redis 集群搭建简述Redis 集群搭建简述

[root@localhost bin]# ./redis-server redis.conf 

Redis 集群搭建简述

这里可以看到 redis 启动了, 下面咱们测试一下,

[root@localhost bin]# ./redis-cli     执行命令 进入 redis 命令号客户端

输入 ping

Redis 集群搭建简述

标识我们的服务启动成功没有问题。

4. 集群搭建

1) 说明

1> 集群中每个 redis 服务作为一个 redis 节点, 各个节点之间彼此互联(PING–>PONG 机制)

2> 节点的 fail 是通过集群中超过半数的节点检测失效时才生效.

3> 客户端与 redis 节点直连 , 不需要中间 proxy.客户端不需要连接集群所有节点 , 连接集群中任何一个可用节点即可

4> redis-cluster把所有的物理节点映射到 [0-16383]slot,cluster 负责维护node<->slot<->value

Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点

 

2) 配置 redis 集群需要一个 ruby 环境

redis集群管理工具 redis-trib.rb 依赖 ruby 环境,首先需要安装 ruby 环境:

  安装ruby

yum install ruby

yum install rubygems

我们需要使用 redis 创建集群的脚本在 redis 的源码包 src 中

Redis 集群搭建简述

这个脚本运行需要一个 redis-3.0.0.gem 运行环境包,

我这里将这个包放到 /usr/local/src/redis 和 redis 源码文件在一个目录下,

然后 安装执行 gem install /usr/local/redis-3.0.0.gem

Redis 集群搭建简述

3) redis 集群因为内置存在的投票容错机制, 即上述说明中的第二点, 超过半数的节点检测失效时才生效, 所以我们的 redis 集群至少有三个节点 ,

这三个节点作为主节点, 当然我们还需要需要三个从节点, 这样我们需要弄出 6 个 redis, 我这里只装了一个虚拟机作为服务器, 那我这里先创建 6 个 redis 实例来模拟。

创建 redis 实例, 这里简要说明一下, 我这里在 /usr/local 下面创建一个文件下 redis-cluster 文件夹

mkdir redis-cluster

cd /usr/local/redis/bin

  cp -r bin ../redis-cluster/redis01

  cd /usr/local/redis-cluster/redis01

  删除文件夹中 dump.rdb 文件删除

  修改配置文件

端口改为 7001,

cluster-enabled yes 的注释放开  默认是注释掉的, 指定要做集群,

之后就复制这个 redis01 分别命名 redis02,redis03,***redis06 同时修改端口分别为 7002,7003,****7006 保存

创建实例完成后, 把 ruby 脚本 redis-trib.rb (在 redis 源码 src 路径下的) 复制到 redis-cluster 目录下

在创建 redis 集群之前启动这 6 个 redis 实例

在 /usr/local/redis-cluster 目录下执行

./redis-trib.rb create –replicas 1 IP 地址:7001 IP 地址:7002 IP 地址:7003 IP 地址:7004 IP 地址:7005  IP 地址:7006

提示输入 yes  

4) 测试 redis 集群

因为 redis 集群是相互连接的, 我没不需要一个个连接, 只需要连接 redis 实例中的一个就可以 执行以下命令

[root@localhost redis-cluster]# redis01/redis-cli -h IP 地址 -p 7001 -c 

其中 -c 表示以集群方式连接 redis-h 指定 ip 地址,-p指定端口号

Redis 集群搭建简述

下面关于 Redis 的文章您也可能喜欢,不妨参考下:

Ubuntu 14.04 下 Redis 安装及简单测试 http://www.linuxidc.com/Linux/2014-05/101544.htm

Redis 主从复制基本配置 http://www.linuxidc.com/Linux/2015-03/115610.htm

Redis 集群搭建与简单使用  http://www.linuxidc.com/Linux/2017-03/142210.htm

CentOS 7 下 Redis 的安装与配置 http://www.linuxidc.com/Linux/2017-02/140363.htm

Ubuntu 14.04 安装 Redis 与简单配置 http://www.linuxidc.com/Linux/2017-01/139075.htm

Ubuntu 16.04 环境中安装 PHP7.0 Redis 扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm

Redis 单机 & 集群离线安装部署 http://www.linuxidc.com/Linux/2017-03/141403.htm

CentOS 7.0 安装 Redis 3.2.1 详细过程和使用常见问题 http://www.linuxidc.com/Linux/2016-09/135071.htm

Ubuntu 16.04 环境中安装 PHP7.0 Redis 扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm

Ubuntu 15.10 下 Redis 集群部署文档 http://www.linuxidc.com/Linux/2016-06/132340.htm

Redis 实战 中文 PDF http://www.linuxidc.com/Linux/2016-04/129932.htm

Redis 热迁移实战总结  http://www.linuxidc.com/Linux/2017-02/141083.htm

Redis3.0 配置文件详解  http://www.linuxidc.com/Linux/2017-03/141369.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148596.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计3811字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中