Redis Cluster集群搭建(基于redis-6.2.1)
下载redis并安装
wget http://download.redis.io/releases/redis-6.2.1.tar.gz
tar -zxvf /usr/local/redis-6.2.1.tar.gz
cd /usr/local/redis-6.2.1.tar.gz
make
准备配置文件
1、新建目录,并拷贝出6个节点的配置文件
cd /usr/local/redis-6.1.1
mkdir -p /usr/local/redis-6.2.1/config
mkdir -p /usr/local/redis-6.2.1/log
mkdir -p /usr/local/redis-6.2.1/data
mkdir -p /usr/local/redis-6.2.1/node
cp redis.conf ./config/redis-7000.conf
2、修改每个节点的配置文件内容
远程访问需要把bind注释掉
# bind 127.0.0.1
修改端口号
port 7000
默认启动时为后台启动,yes为后台启动
daemonize yes
指定进程信息存储文件
pidfile /var/run/redis_7000.pid
指定日志文件
logfile "/usr/local/redis-6.2.1/log/redis-7000.log"
指定数据文件路径
dir "/usr/local/redis-6.2.1/data"
指定rdb持久化文件名
dbfilename "dump-7000.rdb"
指定aof持久化文件名(默认情况不会生成,因为默认 appendonly no)
appendonly yes
appendfilename "appendonly-7000.aof"
以集群方式启动
cluster-enabled yes
集群节点nodes信息配置文件(是自动生成的)
cluster-config-file "/usr/local/redis-6.2.1/node/nodes-7000.conf"
设置访问密码
requirepass redis123
3、准备其他节点的配置文件
将 redis-7000.conf 文件都复制一份并修改,附sed命令:sed 's/要被取代的字串/新的字串/g'
cd /usr/local/redis-6.0.6/config
sed "s/7000/7001/g" redis-7000.conf > redis-7001.conf
sed "s/7000/7002/g" redis-7000.conf > redis-7002.conf
sed "s/7000/7003/g" redis-7000.conf > redis-7003.conf
sed "s/7000/7004/g" redis-7000.conf > redis-7004.conf
sed "s/7000/7005/g" redis-7000.conf > redis-7005.conf
启动6个Redis实列
cd /usr/local/redis-6.2.1
./src/redis-server ./config/redis-7000.conf
启动其他5个实例
通过 ps -ef | grep redis,查看实列数量,检查是否6个实例已启动。
搭建集群
cd /usr/local/redis-6.2.1/src
./redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1 -a redis123
选项–replicas 1 : 表示我们希望为集群中的每个主节点创建一个从节点
后面的节点,前3个是主节点,(若节点在不同的机器上,注意主节点的书写位置,要避免主节点在同一台机器上,影响性能)
验证集群
1、查看集群状态
./redis-cli -h 127.0.0.1 -p 7000 -a redis123 cluster info
2、查看集群节点信息
./redis-cli -h 127.0.0.1 -p 7000 -a redis123 cluster nodes
可以查看到各节点的信息,槽的分配
集群重启
第一步:先关闭各个Redis节点。
./src//redis-cli -p 7000 -a redis123 shutdown
第二步:再启动各个Redis节点即可。
./src/redis-server ./config/redis-7000.conf