一、先部署单机
部署单机的方法详见我以前写的博文:redis单机部署-CSDN博客 和 debian系统安装redis
二、复制单机版本到集群的各节点的目录
cd ~
mkdir redis-cluster
cd redis-cluster
mkdir redis01
mkdir redis02
mkdir redis03
cp ~/redis-6.2.14 redis01
cp ~/redis-6.2.14 redis02
cp ~/redis-6.2.14 redis03
三、修改配置文件
以redis01为例
vim redis/redis.conf
主要是开启集群参数、修改端口号和文件路径,redis01使用端口号6381,redis02用6382,redis03用6383
redis.conf修改如下:
#大概位置
bind 192.168.1.111 #修改IP,本机可以是127.0.0.1 #75行
protected-mode no #允许其他服务访问,默认为yes #94行
port 6381 #绑定端口号 #98
timeout 300 #超时时间 #119行
daemonize yes #开启后台运行 #257行
pidfile /home/redis/redis-6.2.14/logs/6381/redis.pid #修改pid进程文件路径和名称 #289行
logfile /home/redis/redis-6.2.14/logs/6381/redis.log #修改日志文件路径和名称 #302行
dir /home/redis/redis-6.2.14/data/6381 #修改数据文件存放地址 #454行
appendfsync always #发生改变就记录日志 #1282行
cluster-enabled yes
cluster-config-file node-6381.conf
dbfilename dump-6381.rdb
四、写脚本启动各节点
cp ~/redis-6.2.14/redis-cluster
touch start-all.sh
vim start-all.sh
chmod +x start-all.sh
文件内容如下:
cd ./redis01
./src/redis-server redis.conf
cd ../redis02
./src/redis-server redis.conf
cd ../redis03
./src/redis-server redis.conf
./start-all.sh
五、各节点加入集群
cp ~/redis-6.2.14/redis-cluster
./redis01/src/redis-cli --cluster create 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 --cluster-replicas 1
#查看单机和集群的状态
./redis01/src/redis-cli -p 6381
>cluster nodes
>cluster info
#如果nodes显示节点是完整的,并且cluster state是ok那么添加成功
#查看槽位分配
>cluster slots
#查看key被hash到哪个槽位
>cluster keyslot [key]
六、集群测试
#登录集群任意节点
./redis01/src/redis-cli -p 6381
>set k1 v1
#如果显示moved [其他节点ip],那么说明key不在本节点槽位,需要登录对应的其他节点set和get,否则get也会报错
七、集群主从复制
待更新,敬请期待