运行环境:CentOS 7(版本号:1503)

Redis版本:3.0.5

参考文档:① http://www.redis.cn/topics/cluster-tutorial.html

② http://www.linuxidc.com/Linux/2015-08/121845.htm

注意:redis集群需要至少6个节点,也就是六台服务器。如果服务器数量不足可在每台服务器上建立多个节点,如2台服务器,每台服务器上建立3个节点

一、      为所有服务器安装Redis

1.使用ssh工具连接服务器,下载和解包。

cd /usr/local/

wget http://download.redis.io/releases/redis-3.0.5.tar.gz

tar -zxvf redis-3.0.5.tar.gz

2.重命名文件夹

mv redis-3.0.5 redis

3.编译安装

cd redis

make && make install

在这里可能会碰到一个错误导致编译不过(如下)

make[1]: Entering directory `/redis/src'
CC adlist.o
In file included from adlist.c:34:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/redis/src'
make: *** [all] Error 2

原因是没有安装jemalloc内存分配器,可以安装jemalloc 或 直接 输入make MALLOC=libc  && make install

二、      配置节点

注意:以下方法是每台服务器单节点配置,如果需要在每台服务器上配置多个节点,可在cluster目录下创建多个文件夹,文件夹名任意取,最好使用节点端口号:如7000 7001 7002 再将redis.conf复制到每个文件夹中,配置步骤与单节点相同,注意配置时6379需要换成当前结点目录的端口号

1.创建cluster文件夹

mkdir cluster

2.复制配置文件

cp ./redis.conf ./cluster/

3.修改配置文件

cd ./cluster/

vim ./redis.conf

修改如下

daemonize    yes                   //redis后台运行
pidfile  /var/run/redis_6379.pid    //pidfile文件对应6379
port  6379                           //端口6379
cluster-enabled  yes                //开启集群  把注释#去掉
cluster-config-file  nodes.conf      //集群的配置  配置文件首次启动自动生成
cluster-node-timeout  5000        //请求超时  设置5秒够了
appendonly  yes                     //aof日志开启  有需要就开启,它会每次写操作都记录一条日志

bind 本机ip地址                              //不要使用127.0.0.1

保存退出

4.修改防火墙规则,开放6379端口,由于redis自身的机制,需要再开放10000+6379 端口,否则最后集群通讯会出错

firewall-cmd --zone=public --add-port=6379/tcp –permanent

firewall-cmd --zone=public --add-port=16379/tcp --permanent

firewall-cmd --reload

5.启动节点

redis-server ./redis.conf

6.测试是否正常运行

ps –ef | grep redis

显示如下即可

如果是多节点配置则会显示多条进程

三、      启动集群功能(只需给其中一台服务器配置)

运行 /usr/local/redis/src/redis-trib.rb由于这是用ruby写的程序,需要先安装ruby。

yum -y install ruby ruby-devel rubygems rpm-build

从ruby的gem工具包安装redis

gem install redis

这个命令可能会出现下载错误,原因是链接错误,下载地址使用http协议而非https协议,先执行以下命令修改下载地址

gem sources -r https://rubygems.org

gem sources -a http://rubygems.org

再执行gem install redis命令就可以了

现在可以执行redis-trib.rb了

cd ../src

./redis-trib.rb create --replicas 1 本机ip:节点端口号 …(后面加上所有服务器上的所有节点,格式为ip地址:节点端口号)

--replicas  1  表示 自动为每个master节点分配一个slave节点    如果有6个节点,程序会按照一定规则选举生成 3个master(主)3个slave(从)。

执行之后redis-trib 会打印出一份预想中的配置出来,没问题的话,就可以输入 yes , redis-trib 就会将这份配置应用到集群当中,让各个节点开始互相通讯,最后可以得到如下信息:

[OK] All 16384 slots covered

这表示集群中的 16384 个槽都有至少一个主节点在处理, 集群运作正常。

如果出现Waiting for the cluster to join..........一直等待没反应,说明配置过程有问题,

转载于:https://www.cnblogs.com/viva-la-vida/p/5653362.html

Redis集群安装及配置步骤相关推荐

  1. redis集群(主从配置)

    摘要: redis集群(主从配置) 市面上太多kv的缓存,最常用的就属memcache了,但是memcache存在单点问题,不过小日本有复制版本,但是使用的人比较少,redis的出现让kv内存存储的想 ...

  2. Hadoop集群安装及其配置(三台虚拟机)

    Hadoop集群安装及其配置(三台虚拟机) 利安装配置前准备--安装虚拟机 利用cat查看配置文件 修改主机名称 配置IP映射 配置网卡设备的mac地址 Xshell的安装与配置 ssh的配置 JDK ...

  3. mysql 数据库集群状态查看_MySQL数据库集群进行正确配置步骤

    MySQL数据库集群进行正确配置步骤 2010-06-09 10:47 arrowcat 博客园 字号: 我们今天是要和大家一起分享的是对MySQL数据库集群进行正确配置,我前两天在相关网站看见的资料 ...

  4. redis集群搭建与配置

    redis集群搭建与配置

  5. 基于zookeeper(集群)+LevelDB的ActiveMq高可用集群安装、配置、测试

    Linux 环境 zookeeper集群安装.配置.测试https://blog.csdn.net/weixin_40816738/article/details/100576259 MQ集群部署规划 ...

  6. Kettle分布式集群安装部署详细步骤和使用分布式Kettle集群示例

    Kettle分布式集群安装部署详细步骤和使用分布式Kettle集群示例 一.下载kettle和mysql驱动 二.相关技术博客 三.Kettle分布式集群环境准备 四.解压kettle 五.执行Kit ...

  7. Redis集群安装问题记录 RVM

    Redis集群安装问题记录 RVM 1.问题描述 2.问题分析 3.问题解决 4.总结 1.问题描述   使用gem安装redis出现以下错误. ERROR: Error installing red ...

  8. win10下Redis集群搭建的详细步骤

    win10下安装Redis集群,目前已经安装成功,记录下安装过程. 1)准备安装所需要的4个组件: Redis.Ruby语言运行环境.Redis的Ruby驱动redis-3.2.2.gem.创建Red ...

  9. redis集群和主从配置

    Redis简介 Redis 是完全开源免费的,是一个高性能的key-value数据库. Redis与其他key-value缓存缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保 ...

最新文章

  1. sudo重定向失败解决方法
  2. GitHub上如何进行PR(Pull Request)操作——简版
  3. ov7725摄像头调试经验-寄存器配置
  4. PSPad 免费文本编辑器推荐
  5. Office Live Workspace让协同办公无处不在
  6. css 图片等比例缩小_12个令人惊叹的CSS实验项目
  7. 游戏开发之C++Vector动态数组及其迭代器的实现--简单版(C++基础)
  8. 华为5500v3多路径linux6,CentOS7 DM-Multipath+HUAWEI OceanStor存储多路径配置
  9. mac 修改 hosts 文件之后,刷新 DNS 缓存
  10. 小学最简单的计算机微课PPT,小学音乐微课课件
  11. Java自由虾旅行平台菜单功能
  12. lesson 20 one man in a boat 独坐孤舟-for hours数小时做时间状语,having done于句首非谓语做状语,its wasteof time,do nothing
  13. Qt5中使用lambda表达式
  14. 搭建xamppWeb服务器和TestLink、Mantis环境
  15. php iis 上传文件大小限制,IIS上传和下载文件大小限制
  16. Ngrok的注册使用
  17. 如果有人证明出来哥德巴赫猜想会有啥成就?
  18. CSU 1726: 你经历过绝望吗?两次!
  19. nas服务器硬盘,明明白白了解NAS:网络存储服务器浅析(转载)
  20. 云适配陈本峰谈前端:移动端浏览器很快就会赶上PC浏览器

热门文章

  1. css之多行文本输出
  2. 谈谈我的跳槽感想,从日资企业到互联网的转变
  3. [转载]Windows 2012 R2安装SharePoint 2013 手动安装工具软件
  4. citrix xendesktop edition
  5. 如何设置cout的输出格式(转)
  6. cad命令栏还原默认_CAD十五个必学的命令 掌握后能走天下了
  7. 24个整点报时_大连交通广播整点报时广告怎么做?大连交通广播全新广告价格...
  8. 用户 sa 登录失败。_Sqlserver2008R2特定用户只能查看管理指定的数据库
  9. 基础总结篇之八:创建及调用自己的ContentProvider
  10. ImageView的属性android:scaleType