#!/bin/sh REDIS_HOME=/usr/local/redis-cluster $REDIS_HOME/bin/redis-server $REDIS_HOME/65_6001/redis.conf $REDIS_HOME/bin/redis-server $REDIS_HOME/65_6002/redis.conf $REDIS_HOME/bin/redis-server $REDIS_HOME/65_6003/redis.conf
chmod +x /usr/local/redis-cluster/start-redis-cluster.sh /usr/local/redis-cluster/start-redis-cluster.sh
#redis66 6001配置文件
[root@redis66 /]# cd /usr/local/redis-cluster [root@redis66 redis-cluster]# cat >> 66_6001/redis.conf << EOF bind 0.0.0.0 protected-mode no port 6001 daemonize no dir /usr/local/redis-cluster/66_6001 cluster-enabled yes cluster-config-file /usr/local/redis-cluster/66_6001/nodes.conf cluster-node-timeout 5000 appendonly yes daemonize yes pidfile /usr/local/redis-cluster/66_6001/redis.pid logfile /usr/local/redis-cluster/66_6001/redis.log EOF
#redis66 6002配置文件
[root@redis66 redis-cluster]# sed 's/6001/6002/g' 66_6001/redis.conf > 66_6002/redis.conf
#redis66 6003配置文件
[root@redis66 redis-cluster]# sed 's/6001/6003/g' 66_6001/redis.conf > 66_6003/redis.conf
[root@redis66 /]#cat /usr/local/redis-cluster/start-redis-cluster.sh
#!/bin/sh REDIS_HOME=/usr/local/redis-cluster $REDIS_HOME/bin/redis-server $REDIS_HOME/66_6001/redis.conf $REDIS_HOME/bin/redis-server $REDIS_HOME/66_6002/redis.conf $REDIS_HOME/bin/redis-server $REDIS_HOME/66_6003/redis.conf
chmod +x /usr/local/redis-cluster/start-redis-cluster.sh
#启动redis
/usr/local/redis-cluster/start-redis-cluster.sh
#查看redis进程启动状态
ps -ef | grep redis
#创建redis cluster,如果只是想快速创建和启动redis集群,可使用redis官方提供的脚本create-cluster,注意redis-5.0.0版本开始才支持“--cluster”
cd /usr/local/redis-cluster/bin ./redis-cli --cluster create 192.168.5.65:6001 192.168.5.65:6002 192.168.5.65:6003 192.168.5.66:6001 192.168.5.66:6002 192.168.5.66:6003 --cluster-replicas 1
如果配置项cluster-enabled的值不为yes,则执行时会报错“[ERR] Node 192.168.5.65:6001 is not configured as a cluster node.”。这个时候需要先将cluster-enabled的值改为yes,然后重启redis-server进程,之后才可以重新执行redis-cli创建集群。
redis-cli的参数说明:
1) create
表示创建一个redis集群。
2) --cluster-replicas 1
表示为集群中的每一个主节点指定一个从节点,即一比一的复制
#查看redis进程是否已切换为集群状态(cluster)
ps -ef|grep redis
#停止redis实例,直接使用kill命令即可
kill -9 15025
#命令行工具redis-cli
[root@redis65 /]# ln -s /usr/local/redis-cluster/bin/redis-cli /bin/redis-cli [root@redis65 bin]# redis-cli -c -p 6001
#查看集群中的节点:
127.0.0.1:6001> cluster nodes
127.0.0.1:6002> set name 65-7001 -> Redirected to slot [5798] located at 192.168.5.66:6001 OK 192.168.5.66:6001> quit [root@redis65 bin]# redis-cli -c -p 6003 127.0.0.1:6003> get name -> Redirected to slot [5798] located at 192.168.5.66:6001 "65-7001"
[root@redis65 bin]# redis-cli -h 192.168.5.66 -p 6002
#检查节点状态
[root@redis65 bin]# redis-cli --cluster check 192.168.5.66:6001
#查看集群信息
[root@redis65 bin]# redis-cli -c -p 6003 127.0.0.1:6003> cluster info
#给redis cluster集群加上认证,登录到redis节点执行下面的操作
[root@redis65 /]# redis-cli -h 192.168.5.65 -p 6001 -c > config set masterauth zxc789 > config set requirepass zxc789 > auth zxc789 > config rewrite
#各个节点都完成上面的3条config操作,重启redis各节点,看下各节点的redis.conf,可以发现最后多了3行内容
[root@redis65 /]# killall redis-server [root@redis65 /]# /usr/local/redis-cluster/start-redis-cluster.sh [root@redis66 ~]# cat /usr/local/redis-cluster/66_6001/redis.conf
#加了认证的redis登录
redis-cli -h 192.168.5.65 -p 6001 -c -a 'zxc789'
二、安装php的redis扩展
1、在现有的web服务器上安装php的redis扩展