1. 选下载安装单个redis:
具体步骤查看如下文章: https://blog.csdn.net/qq_34707456/article/details/101421904
2.因为服务器的原因这里是在一台服务器上安装6个redis,通过设置不同的端口来完成集群的。
3.在 /usr/local 目录下新建 redis-cluster 目录用来存放集群redis。
cd /usr/local
mkdir redis-cluster
4.在redis-cluster目录下新建bin (用来存放集群运行脚本,并把安装好的 Redis 的 src 路径下的运行脚本拷贝过来)
进入到安装的redis的src目录下(我是安装到 redis-cluster/redis 目录下的) 执行如下语句复制:
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server redis-trib.rb /usr/local/redis-cluster/bin
5.在redis-cluster目录下新建redis7001,redis7002,redis7003,redis7004,redis7005,redis7006,用来存放端口7001-7006的6个redis
其中的redis是安装的单个redis,忽略不管。
6.在redis7001-redis-7006下,新建data文件用来存放数据。
cd /usr/local/redis-cluster/redis7001
mkdir data
..........后面7002-7006一样的做法
7.配置redis7001--redis7006的配置文件redis.conf:具体修改如下几项(后面的redis,把7001改成各自的端口号)
port 7001(每个节点的端口号)
daemonize yes
bind 39.108.107.163(绑定当前机器 IP)
dir /usr/local/redis-cluster/7001/data/(数据文件存放位置)
pidfile /var/run/redis_7001.pid(pid 9001和port要对应)
cluster-enabled yes(启动集群模式)
cluster-config-file nodes7001.conf(7001和port要对应)
cluster-node-timeout 15000
appendonly yes
8.启动6个redis:
启动redis7001:
cd /usr/local/redis-cluster/redis7001/bin
./redis-server /usr/local/redis-cluster/redis7001/redis.conf
---------其余的启动方式类似(吧7001改成700*就行)
9.安装集群所需软件ruby:
yum install ruby
yum install rubygems
gem install redis 使用本地上传方式(在linux上应该直接下载不下来)
redis-3.2.1.gem提取地址:https://pan.baidu.com/s/1vewxGiCk4RDmEbR7PNkYDw
下载后上传到 /usr/local目录下:
然后在/usr/local目录下执行:gem install -l redis-3.2.1.gem
10.运行redis集群:
运行如下命令开启集群:
/usr/local/redis-cluster/bin/redis-trib.rb create --replicas 1 39.108.107.163:7001 39.108.107.163:7002 39.108.107.163:7003 39.108.107.163:7004 39.108.107.163:7005 39.108.107.163:7006
简单解释一下这个命令:调用 ruby 命令来进行创建集群,--replicas 1 表示主从复制比例为 1:1,即一个主节点对应一个从节点;然后,默认给我们分配好了每个主节点和对应从节点服务,以及 solt 的大小,因为在 Redis 集群中有且仅有 16384(0-16383)个 solt ,默认情况会给我们平均分配,当然你可以指定,后续的增减节点也可以重新分配。
运行后效果如下:
11.选择一个节点连接集群测试:
进入到redis7002目录下测试:
cd /usr/local/redis-cluster/redis7002/bin
./redis-cli -c -h 39.108.107.163 -p 7002 (连接集群命令 要加-c)
然后测试:
在7002设置name,然后在7001去获取,然后集群自动定向到7002获取。