第一步:环境准备

我们准备两台虚拟机
image.png
局域网IP 分别是 192.168.1.109和192.168.1.110
我们约定把192.168.1.109作为集群控制端,需要安装redis-trib.rb

第二步:安装Redis

前面已经安装过了 不解释,
192.168.1.109虚拟机里,Reids安装包里有个集群工具,要复制到/usr/local/bin里去

  1. cp redis-3.2.9/src/redis-trib.rb /usr/local/bin

第三步:修改配置,创建节点

首先我们在192.168.1.109虚拟机里创建三个节点,端口分别是7001,7002,7003
我们先在root目录下新建一个redis_cluster目录,然后该目录下再创建3个目录,
分别是7001,7002,7003,用来存redis配置文件;
这里我们要使用redis集群,要先修改redis的配置文件redis.conf

  1. mkdir redis_cluster 新建目录
  2. [root@localhost ~]# cd redis_cluster/
  3. [root@localhost redis_cluster]# mkdir 7001 7002 7003
  4. [root@localhost redis_cluster]# ll
  5. 总用量 0
  6. drwxr-xr-x. 2 root root 6 7 27 19:49 7001
  7. drwxr-xr-x. 2 root root 6 7 27 19:49 7002
  8. drwxr-xr-x. 2 root root 6 7 27 19:49 7003

先复制一份配置文件到7001目录下

  1. [root@localhost ~]# cp redis-3.2.9/redis.conf redis_cluster/7001/

我们修改下这个配置文件

  1. vi redis_cluster/7001/redis.conf

修改以下几个
port 7001 //六个节点配置文件分别是7001-7003
bind 192.168.1.109 //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访,和单机集群有区别
daemonize yes //redis后台运行
pidfile /var/run/redis_7001.pid //pidfile文件对应7001-7003
cluster-enabled yes //开启集群
cluster-config-file nodes_7001.conf //保存节点配置,自动创建,自动更新对应7001-7003
cluster-node-timeout 5000 //集群超时时间,节点超过这个时间没反应就断定是宕机
appendonly yes //存储方式,aof,将写操作记录保存到日志中

7001下的修改完后,我们把7001下的配置分别复制到7002-7003 然后对应的再修改下配置即可;

  1. [root@localhost ~]# cp redis_cluster/7001/redis.conf redis_cluster/7002/
  2. [root@localhost ~]# cp redis_cluster/7001/redis.conf redis_cluster/7003/
  3. [root@localhost ~]# vi redis_cluster/7002/redis.conf
  4. [root@localhost ~]# vi redis_cluster/7003/redis.conf
  5. [root@localhost ~]# vi redis_cluster/7004/redis.conf

编辑后面5个配置文件,把 port ,pidfile,cluster-config-file 分别修改下即可;
同理 192.168.1.110机器,也搞一个redis_cluster目录,然后再新建7004,7005,7006目录,
复制三份配置文件 其他一样,就端口和bind地址改下即可;这里不啰嗦了;

第四步:启动两台机器的六个节点

192.168.1.109机器

  1. [root@localhost ~]# /usr/local/redis/bin/redis-server redis_cluster/7001/redis.conf
  2. [root@localhost ~]# /usr/local/redis/bin/redis-server redis_cluster/7002/redis.conf
  3. [root@localhost ~]# /usr/local/redis/bin/redis-server redis_cluster/7003/redis.conf
  4. [root@localhost ~]# ps -ef | grep redis
  5. root 2242 1 0 19:55 ? 00:00:00 /usr/local/redis/bin/redis-server 192.168.1.109:7001 [cluster]
  6. root 2252 1 0 19:59 ? 00:00:00 /usr/local/redis/bin/redis-server 192.168.1.109:7002 [cluster]
  7. root 2256 1 0 19:59 ? 00:00:00 /usr/local/redis/bin/redis-server 192.168.1.109:7003 [cluster]
  8. root 2260 2214 0 19:59 pts/0 00:00:00 grep --color=auto redis

192.168.1.110机器

  1. [root@localhost ~]# /usr/local/redis/bin/redis-server redis_cluster/7004/redis.conf
  2. [root@localhost ~]# /usr/local/redis/bin/redis-server redis_cluster/7005/redis.conf
  3. [root@localhost ~]# /usr/local/redis/bin/redis-server redis_cluster/7006/redis.conf
  4. [root@localhost ~]# ps -ef | grep redis
  5. root 2347 1 0 20:31 ? 00:00:00 /usr/local/redis/bin/redis-server 192.168.1.110:7004 [cluster]
  6. root 2351 1 0 20:31 ? 00:00:00 /usr/local/redis/bin/redis-server 192.168.1.110:7005 [cluster]
  7. root 2355 1 0 20:31 ? 00:00:00 /usr/local/redis/bin/redis-server 192.168.1.110:7006 [cluster]
  8. root 2363 2270 0 20:32 pts/0 00:00:00 grep --color=auto redis

第五步:设置防火墙,开放集群端口

两台机器的防火墙我们直接关掉

  1. systemctl stop firewalld.service

第六步:创建集群

192.168.1.109机器作为集群控制端
redis官方提供了redis-trib.rb工具,第一步里已经房到里bin下 ;
但是在使用之前 需要安装ruby,以及redis和ruby连接

  1. yum -y install ruby ruby-devel rubygems rpm-build
  2. gem install redis
  3. redis-trib.rb create --replicas 1 192.168.1.109:7001 192.168.1.109:7002 192.168.1.109:7003 192.168.1.110:7004 192.168.1.110:7005 192.168.1.110:7006

最后问我们是否接受上面的设置,输入yes 就表示接受,我们输入yes