环境阿里云centos 7.0
下载并安装redis
//安装Redis编译环境gcc
#yum -y install gcc
//下载redis,此步骤需要服务器连上公网。可自行去redis官网下载,然后上传至服务器
# wget http://download.redis.io/releases/redis-5.0.5.tar.gz
//解压redis
# tar -zxvf redis-5.0.5.tar.gz
//cd进入解压目录 make编译至自定义路径/redis
# cd redis-5.0.5
# make install PREFIX=/redis
进入redis解压目录中的bin目录修改redis.conf文件
// 修改redis.conf
# vim redis.conf
修改以下几个属性(输入 /属性名 可快速定位至该属性) 我这里并未设置密码,如果想设置密码请自行百度redis.conf的密码属性配置
- port 7001 #端口
- bind 0.0.0.0 #对所有域开放 生产环境改为需要连接redis集群的服务器IP
- cluster-enabled yes #启用集群模式
- cluster-node-timeout 5000 #超时时间
- appendonly yes # 是否启用aof
- daemonize yes #后台运行
- protected-mode no #非保护模式
- cluster-config-file nodes_7001.conf # redis启动自己创建 集群每个节点的该文件名应不同
- pidfile /var/run/redis_7001.pid #daemonize的值为yes时,才会产生这个文件。集群节点使用了同一个名称未报错,但还是每个节点配置个唯一名称
创建redisCluster目录并在下面创建7001,7002,7003,7004,7005,7006 目录 拷贝redis.conf到这6个路径,我的redisCluster的全路径为 /redisCluster
# mkdir redisCluster
# cd redisCluster
# mkdir 7001 7002 7003 7004 7005 7006
# cp /redis/bin/redis.conf /redisCluster/7001
# cp /redis/bin/redis.conf /redisCluster/7002
# cp /redis/bin/redis.conf /redisCluster/7003
# cp /redis/bin/redis.conf /redisCluster/7004
# cp /redis/bin/redis.conf /redisCluster/7005
# cp /redis/bin/redis.conf /redisCluster/7006
修改这几个目录下的redis.conf文件,修改以下属性
- port 目录名 #端口
- cluster-config-file nodes_目录名.conf
- pidfile /var/run/redis_目录名.pid
进入redis的编译安装目录,就是之前的PREFIX=/redis这个路径 写一个集群启动的可执行文件 和一个集群关闭的可执行文件
// 创建集群启动的可执行文件
# mkdir redisClusterStart.sh
# vim redisClusterStart.sh
在里面添加如下内容(其实就是将6个节点的启动命令写入):
./redis-server /redisCluster/7001/redis.conf
./redis-server /redisCluster/7002/redis.conf
./redis-server /redisCluster/7003/redis.conf
./redis-server /redisCluster/7004/redis.conf
./redis-server /redisCluster/7005/redis.conf
./redis-server /redisCluster/7006/redis.conf
// 将文件变为可执行文件
# chmod u+x redisClusterStart.sh
集群关闭
// 创建集群关闭的可执行文件
# mkdir redisClusterShutdown.sh
# vim redisClusterShutdown.sh
在里面添加如下内容:
./redis-cli -p 7001 shutdown
./redis-cli -p 7002 shutdown
./redis-cli -p 7003 shutdown
./redis-cli -p 7004 shutdown
./redis-cli -p 7005 shutdown
./redis-cli -p 7006 shutdown
// 将文件变为可执行文件
# chmod u+x redisClusterShutdown.sh
开放端口
我使用的是阿里云服务器,因此在安全组开放了7001-7006 和 17001-17006 端口,如果不是云服务器,请在防火墙配置端口开放,如果只是做demo,可以将防火墙关闭(但不推荐这么做)
端口+10000是redis节点间的通信端口,如果你不是单服务器集群,请在每个节点服务器上配置相应端口开放。
启动所有节点
# ./redisClusterStart.sh
将所有节点连接为集群
关联所有节点,变为集群 注意这里的ip为公网IP
# ./redis-cli --cluster create --cluster-replicas 1 123.56.245.163:7001 123.56.245.163:7002 123.56.245.163:7003 123.56.245.163:7004 123.56.245.163:7005 123.56.245.163:7006
出现下图所示既是部署成功
图片是引用其他博客的,所以里面的内容跟我上面操作有所不同
引用链接:https://www.zhaolog.com/2017/12/04/91.html