Redis-3.x集群安装(三主三从)

什么是Redis

Redis是目前一个非常优秀的key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set有序集合)和hash(哈希类型)

为什么要基于3.x安装集群

3.x以前,redis仅支持主从模式,并不支持集群模式。

安装redis3.x集群

本次安装redis集群,共用三台Centos 6.5机器,其中每台机器分别安装两个节点(一主一从)。

  1. 下载redis3稳定版本,本文章基于最新redis-3.2.8版本安装配置。

redis-3.2.8下载

2. 将安装包上传到服务器

3. 解压redis源码包

  1. tar -zxvf redis-3.2.8.tar.gz -C /usr/local/src/

4. 进入源码包、编译并安装

  1. cd /usr/local/src/redis-3.2.8/
  2. make && make install

如果报错,判断是否缺少依赖包

安装redis依赖rpm包

  1. yum -y install gcc

如果报error: jemalloc/jemalloc.h: No such file or directory

原因是没有安装jemalloc内存分配器,可以安装jemalloc或者直接输入

  1. make MALLOC=libc && make install

5. 用同样的方式在其他机器上编译安装redis

配置Master节点

6. 在所有机器的/usr/local/下创建redis目录,然后拷贝redis自带的配置文件redis.conf/usr/local/redis/

  1. mkdir /usr/local/redis
  2. cp /usr/local/src/redis-3.2.8/redis.conf /usr/local/redis

7. 修改所有机器的配置文件redis.conf

  1. bind 0.0.0.0 #redis绑定的ip
  2. daemonize yes  #redis后台运行
  3. cluster-enabled yes  #开启集群把注释去掉
  4. appendonly yes  #开启aof日志,它会每次写操作都记录一条日志
配置slave节点

8. 在所有机器的/usr/local/redis/下创建7000目录(7000是区分我们的slave节点端口),然后拷贝master的配置文件redis.conf/usr/local/redis/7000/

  1. mkdir /usr/local/redis/7000
  2. cp /usr/local/redis/redis.conf /usr/local/redis/7000/

9.修改所有机器的/usr/local/redis/7000/redis.conf

  1. bind 0.0.0.0 #redis绑定的ip
  2. port 7000 #端口要与其所在的文件名一致
  3. pidfile /var/run/redis-7000.pid  #pid要与其所在的文件名一致
  4. daemonize yes  #redis后台运行
  5. cluster-enabled yes  #开启集群把注释去掉
  6. appendonly yes  #开启aof日志,它会每次写操作都记录一条日志

10. 启动所有redis的master节点

  1. cd /usr/local/redis
  2. redis-server redis.conf #启动master
  3. redis-server 7000/redis.conf #启动slave

11. 查看redis进程状态

  1. ps -ef | grep redis

12. 配置集群:安装ruby和ruby gem工具(redis3集群配置需要ruby的gem工具,类似yum)

  1. yum -y install ruby rubygems

13. 使用gem下载redis集群的配置脚本

  1. gem install redis

14. 使用脚本配置redis集群(在一台机器上执行即可)

  1. cd /usr/local/src/redis-3.2.8/src/
  2. service iptables stop #停止防火墙
  3. #这个命令在这里用于创建一个新的集群, 选项–replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。主节点为前三个,从节点为后三个。
  4. ./redis-trib.rb create --replicas 1 192.168.31.51:6379 192.168.31.52:6379 192.168.31.53:6379 192.168.31.51:7000 192.168.31.52:7000 192.168.31.53:7000

15. 安装完成,并测试

  1. redis-cli -c -p 6379

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏How things work?

30分钟了解同步,异步,阻塞,非阻塞

同步,异步,阻塞,非阻塞,在一些场景下,它们是同一个概念的不同名字;在另一些场景下,它们是不同的概念。

1.2K15
来自专栏小狼的世界

Mac环境下配置Tomcat+Eclipse

首先在 Tomcat官方网站 找到自己合适的版本,下载 tar.gz 版本的,下载完成后解压缩到一个目录,进入这个目录下的 bin 执行 startup.sh,...

1062
来自专栏Java技术分享

手把手教你用Mysql-Cluster-7.5搭建数据库集群

当你的业务到达一定的当量,肯定需要一定数量的数据库来负载均衡你的数据库请求,我在之前的博客中已经说明了,如何实现负载均衡,但是还有一个问题就是数据同步,因为负载...

4538
来自专栏简单聊聊Spark

大数据在实际生产环境的前期准备

eg:  bigdata-cdh01.test.com. bigdata-cdh02.test.com. bigdata-cdh03.test.com

953
来自专栏小狼的世界

CentOS中设置系统级代理

proxy=http://username:password@proxy_ip:port/

1102
来自专栏企鹅号快讯

基于python3.5+的web框架sanic中文入门

sanic是一款用 python3.5+ 写的 web framework,用法和 flask 类似,特点是非常快。 Github 官网:https://git...

2567
来自专栏谈补锅

iOS项目groups和folder的区别(组和文件夹)

   在引用一个第三方框架的时候,已经拖进去了,但是引用框架里面的文件时,竟然报错说找不到.......查了一下,原来在拖进去时没有注意group和folder...

1053
来自专栏散尽浮华

linux下的缓存机制及清理buffer/cache/swap的方法梳理

1)缓存机制介绍 在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存...

3288
来自专栏Jed的技术阶梯

Kafka 源码编译

进入 kafka 源码根目录下,执行gradle wrapper命令,下载 wrapper 包:

3433
来自专栏WindCoder

intellij 出现“Usage of API documented as @since 1.6+”的解决办法

今天玩wafer时,发现代码中出现“Usage of API documented as @since 1.6+”的错误提示。

1061

扫码关注云+社区