1、redis从官网下载。本文5.0.7
2、解压 tar -zxvf
3、编译 make
4、make install 在src出现redis-server
5、在redis同目录建立 8001 8002 8003 8004 8005 8006文件夹
6、将redis安装目录/usr/local/redis-4.0.6下的redis.conf文件拷贝至8001文件夹,并修改以下配置:
daemonize yes #开启后台运行
port 8001 #工作端口
bind 172.16.0.15 #绑定机器的内网IP,一定要设置呀老铁,不要用127.0.0.1
dir /usr/local/redis-cluster/8001/ #指定工作目录,rdb,aof持久化文件将会放在该目录下,不同实例一定要配置不同的工作目录
cluster-enabled yes #启用集群模式
cluster-config-file nodes-8001.conf #生成的集群配置文件名称,集群搭建成功后会自动生成,在工作目录下
cluster-node-timeout 5000 #节点宕机发现时间,可以理解为主节点宕机后从节点升级为主节点时间
appendonly yes #开启AOF模式
pidfile /var/run/redis_8001.pid #pid file所在目录
7、把8001文件夹下的redis.conf文件拷贝到其他5个目录,并重新修改port 、dir、cluster-config-file 三个属性
8、由于创建集群需要用到redis-trib这个命令,它依赖Ruby和RubyGems,因此我们要先安装一下。可能出现ruby版本太旧需要更新
9、Ruby安装完成之后,我们开始启动6个节点
[root@VM_0_15_centos redis-4.0.6]# ./src/redis-server redis-cluster/8001/redis.conf [root@VM_0_15_centos redis-4.0.6]# ./src/redis-server redis-cluster/8002/redis.conf [root@VM_0_15_centos redis-4.0.6]# ./src/redis-server redis-cluster/8003/redis.conf [root@VM_0_15_centos redis-4.0.6]# ./src/redis-server redis-cluster/8004/redis.conf [root@VM_0_15_centos redis-4.0.6]# ./src/redis-server redis-cluster/8005/redis.conf [root@VM_0_15_centos redis-4.0.6]# ./src/redis-server redis-cluster/8006/redis.conf
10、.查看一下服务是否正常起来了
[root@VM_0_15_centos redis-4.0.6]# ps -ef|grep redis
root 20290 1 0 18:33 ? 00:00:02 ./src/redis-server *:8001 [cluster]
root 20295 1 0 18:33 ? 00:00:02 ./src/redis-server *:8002 [cluster]
root 20300 1 0 18:33 ? 00:00:02 ./src/redis-server *:8003 [cluster]
root 20305 1 0 18:33 ? 00:00:02 ./src/redis-server *:8004 [cluster]
root 20310 1 0 18:33 ? 00:00:02 ./src/redis-server *:8005 [cluster]
root 20312 1 0 18:33 ? 00:00:02 ./src/redis-server *:8006 [cluster]
root 22913 15679 0 19:31 pts/2 00:00:00 grep --color=auto redis
11、开始创建集群
[root@VM_0_15_centos redis-4.0.6]# ./src/redis-trib.rb create --replicas 1 172.16.0.15:8001 172.16.0.15:8002 172.16.0.15:8003 172.16.0.15:8004 172.16.0.15:8005 172.16.0.15:8006
redis命令5.0更改为
./redis-5.0.7/src/redis-cli --cluster create 172.17.13.145:8001 172.17.13.145:8002 172.17.13.145:8003 172.17.13.145:8004 172.17.13.145:8005 172.17.13.145:8006 --cluster-replicas 1
12由控制台可以看到,集群已经创建完毕,那么我们到8001这个节点看一下集群节点状态
Tips :
- 如果想重新创建集群,需要登录到每个节点,执行flushdb,然后执行cluster reset,重启节点;
- 如果要批量杀掉Redis进程,可以使用pkill redis-server命令;
- 如果redis开启了密码认证,则需要在redis.conf中增加属性 : masterauth yourpassword ,并且需要修改/usr/local/share/gems/gems/redis-3.3.3/lib/redis目录下的client.rb文件,将password属性设置为redis.conf中的requirepass的值,不同的操作系统client.rb的位置可能不一样,可以使用 find / -name "client.rb"全盘查找一下;
- Redis开启密码认证后,在集群操作时问题会比较多,因此建议不要开启密码认证,搭配使用防火墙保证Redis的安全。