我这边准备三台机器
IP:10.0.0.11 port:7000、7001
IP:10.0.0.12 port:7000、7001
IP:10.0.0.13 port:7000、7001
1、关闭三台服务器的防火墙和selinux,三台机器都执行此操作
[root@localhost ~]# systemctl stop firewalld [root@localhost ~]# setenforce 0
2、将redis源码包上传到三台服务器
[root@localhost ~]# ls anaconda-ks.cfg redis-5.0.6.tar.gz
3、三台服务器都执行此操作,安装依赖包并解压redis安装包,进行编译安装
[root@localhost ~]# tar -zxvf redis-5.0.6.tar.gz [root@localhost ~]# cd redis-5.0.6 [root@localhost redis-5.0.6]# make MALLOC=libc [root@localhost redis-5.0.6]# make PREFIX=/root/redis/ install [root@localhost redis-5.0.6]# cd [root@localhost ~]# ls anaconda-ks.cfg redis redis-5.0.6 redis-5.0.6.tar.gz [root@localhost ~]# cd redis [root@localhost redis]# mkdir 7000 7001 [root@localhost redis]# ls 7000 7001 bin [root@localhost redis]# cd ../redis-5.0.6/ [root@localhost redis-5.0.6]# cp redis.conf /root/redis/ root@localhost redis-5.0.6]# cd ../redis/ [root@localhost redis]# ls 7000 7001 bin redis.conf [root@localhost redis]# mv redis.conf redis_7000.conf [root@localhost redis]# cp redis_7000.conf redis_7001.conf [root@localhost redis]# ls 7000 7001 bin redis_7000.conf redis_7001.conf
4、修改redis配置文件,三台服务器上redis文件均要修改
bind 10.0.0.11 #哪个配置文件就改哪个IP port 7000 #哪个配置文件就改哪个端口 daemonize yes pidfile /var/run/redis_7000.pid dir /root/redis/7000/ logfile "/root/redis/7000/redis_7000.log" cluster-enabled yes
5、启动每个节点的redis服务
[root@localhost redis]# cd bin/
[root@localhost bin]# ./redis-server /root/redis/redis_7000.conf [root@localhost bin]# ./redis-server /root/redis/redis_7001.conf [root@localhost bin]# ps -ef |grep redis root 19155 1 0 18:25 ? 00:00:00 ./redis-server 10.0.0.11:7000 [cluster] root 19162 1 0 18:26 ? 00:00:00 ./redis-server 10.0.0.11:7001 [cluster] root 19167 7861 0 18:26 pts/0 00:00:00 grep --color=auto redis
6、在其中一台服务器中安装ruby,然后进入到redis源码存放目录redis/redis-5.0.6/src下./redis-cli
[root@localhost ~]# yum -y install ruby [root@localhost ~]# cd redis-5.0.6/src/ [root@localhost src]# ./redis-cli --cluster create 10.0.0.11:7000 10.0.0.11:7001 10.0.0.12:7000 10.0.0.12:7001 10.0.0.13:7000 10.0.0.13:7001 >>> Performing hash slots allocation on 6 nodes... Master[0] -> Slots 0 - 2730 Master[1] -> Slots 2731 - 5460 Master[2] -> Slots 5461 - 8191 Master[3] -> Slots 8192 - 10922 Master[4] -> Slots 10923 - 13652 Master[5] -> Slots 13653 - 16383 M: 299344da6a3cf5dba9a4c42e8541dae1f900ae64 10.0.0.11:7000 slots:[0-2730] (2731 slots) master M: 01ce403147d54cd0e63da073e51318ead5114afd 10.0.0.11:7001 slots:[8192-10922] (2731 slots) master M: a29369f73dcc9e742acf241970e5c6fe6b23869c 10.0.0.12:7000 slots:[2731-5460] (2730 slots) master M: 26d8990e4aa3950b1cefabb004f7cd34503842e1 10.0.0.12:7001 slots:[10923-13652] (2730 slots) master M: 3936a03e33fb9555f98d9465fb7d78668c8d11bd 10.0.0.13:7000 slots:[5461-8191] (2731 slots) master M: 06ac58061b7a08a1f94be06f5c274538c91096cb 10.0.0.13:7001 slots:[13653-16383] (2731 slots) maste Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join ...... >>> Performing Cluster Check (using node 10.0.0.11:7000) M: 299344da6a3cf5dba9a4c42e8541dae1f900ae64 10.0.0.11:7000 slots:[0-2730] (2731 slots) master M: 26d8990e4aa3950b1cefabb004f7cd34503842e1 10.0.0.12:7001 slots:[10923-13652] (2730 slots) master M: a29369f73dcc9e742acf241970e5c6fe6b23869c 10.0.0.12:7000 slots:[2731-5460] (2730 slots) master M: 01ce403147d54cd0e63da073e51318ead5114afd 10.0.0.11:7001 slots:[8192-10922] (2731 slots) master M: 3936a03e33fb9555f98d9465fb7d78668c8d11bd 10.0.0.13:7000 slots:[5461-8191] (2731 slots) master M: 06ac58061b7a08a1f94be06f5c274538c91096cb 10.0.0.13:7001 slots:[13653-16383] (2731 slots) master [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
7、查看一下redis_cluster集群是否创建
[root@localhost src]# netstat -antup|grep redis tcp 0 0 10.0.0.11:17000 0.0.0.0:* LISTEN 19155/./redis-serve tcp 0 0 10.0.0.11:17001 0.0.0.0:* LISTEN 19162/./redis-serve tcp 0 0 10.0.0.11:7000 0.0.0.0:* LISTEN 19155/./redis-serve tcp 0 0 10.0.0.11:7001 0.0.0.0:* LISTEN 19162/./redis-serve tcp 0 0 10.0.0.11:33980 10.0.0.12:17001 ESTABLISHED 19155/./redis-serve tcp 0 0 10.0.0.11:17000 10.0.0.12:35492 ESTABLISHED 19155/./redis-serve tcp 0 0 10.0.0.11:43739 10.0.0.11:17001 ESTABLISHED 19155/./redis-serve tcp 0 0 10.0.0.11:41849 10.0.0.13:17001 ESTABLISHED 19162/./redis-serve tcp 0 0 10.0.0.11:17001 10.0.0.11:43739 ESTABLISHED 19162/./redis-serve tcp 0 0 10.0.0.11:17001 10.0.0.13:39088 ESTABLISHED 19162/./redis-serve tcp 0 0 10.0.0.11:38376 10.0.0.12:17000 ESTABLISHED 19155/./redis-serve tcp 0 0 10.0.0.11:17000 10.0.0.13:35282 ESTABLISHED 19155/./redis-serve tcp 0 0 10.0.0.11:17001 10.0.0.12:43253 ESTABLISHED 19162/./redis-serve tcp 0 0 10.0.0.11:38490 10.0.0.13:17001 ESTABLISHED 19155/./redis-serve tcp 0 0 10.0.0.11:37877 10.0.0.13:17000 ESTABLISHED 19155/./redis-serve tcp 0 0 10.0.0.11:17001 10.0.0.12:35505 ESTABLISHED 19162/./redis-serve tcp 0 0 10.0.0.11:17000 10.0.0.12:42925 ESTABLISHED 19155/./redis-serve tcp 0 0 10.0.0.11:45274 10.0.0.13:17000 ESTABLISHED 19162/./redis-serve tcp 0 0 10.0.0.11:17000 10.0.0.11:39136 ESTABLISHED 19155/./redis-serve tcp 0 0 10.0.0.11:17001 10.0.0.13:36414 ESTABLISHED 19162/./redis-serve tcp 0 0 10.0.0.11:17000 10.0.0.13:42254 ESTABLISHED 19155/./redis-serve tcp 0 0 10.0.0.11:37559 10.0.0.12:17001 ESTABLISHED 19162/./redis-serve tcp 0 0 10.0.0.11:33997 10.0.0.12:17000 ESTABLISHED 19162/./redis-serve tcp 0 0 10.0.0.11:39136 10.0.0.11:17000 ESTABLISHED 19162/./redis-serve
整个redis_cluster集群创建完毕