你好,游客 登录 注册 搜索
背景:
阅读新闻

Redis集群搭建简述

[日期:2017-11-14] 来源:Linux社区  作者:jacklovejia [字体: ]

  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

    

3.Redis启动

  1) 前端模式启动

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

   

 

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

  

 

   2) 后端模式启动

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

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

    

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

    

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

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

    输入ping

    

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

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-3.0.0.gem 运行环境包,

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

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

      

    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的文章您也可能喜欢,不妨参考下:

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

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款