1、安装redis
# 下载redis安装包
wget -c http://download.redis.io/releases/redis-6.0.8.tar.gz
# 安装redis依赖组件
yum -y install gcc
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
# 启动gcc
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
yum -y install tcl
# 解压并编译redis源码包
tar xzf redis-6.0.8.tar.gz
cd redis-6.0.8
make PREFIX=/usr/local/redis install
# 启动redis server
src/redis-server
2、修改redis配置文件
cd /usr/local/redis-6.0.8
# 编辑redis配置文件,修改以下配置信息:
vim redis.conf
# 后台方式运行redis
daemonize yes
# redis server运行端口号,配置文件拷贝到redisCluster文件中后这里的端口号要根据实际情况修改
port 7000
# bind 127.0.0.1 要改成0.0.0.0,不然redis客户端无法通过ip连接服务端
bind 0.0.0.0
# 在 REDIS CLUSTER 配置模块下开启以下配置
# 开启redis集群支持
cluster-enabled yes
# 集群配置文件,redis首次启动时会在redis.conf所在的文件夹下自动创建该文件,注意这里的node-7000.conf要根据实例启动的端口号自行修改
cluster-config-file node-7000.conf
# pidfile的端口号也需要根据实际启动的端口号自行修改
pidfile /var/run/redis_7000.pid
# 请求超时时间
cluster-node-timeout 15000
3、创建redisCluster目录用于运行redis实例
# 创建redis主从实例文件夹
mkdir -p /usr/local/redisCluster/7000
mkdir -p /usr/local/redisCluster/7001
mkdir -p /usr/local/redisCluster/7002
# 拷贝配置文件到redisCluster文件夹中,并各自修改配置文件的port, cluster-config-file 这两个参数
cp /usr/local/redis-6.0.8/redis.conf /usr/local/redisCluster/7000
cp /usr/local/redis-6.0.8/redis.conf /usr/local/redisCluster/7001
cp /usr/local/redis-6.0.8/redis.conf /usr/local/redisCluster/7002
# 拷贝redis目录下的bin目录文件到redisCluster文件夹中
cp -r /usr/local/redis/bin/ /usr/local/redisCluster/7000
cp -r /usr/local/redis/bin/ /usr/local/redisCluster/7001
cp -r /usr/local/redis/bin/ /usr/local/redisCluster/7002
# 将redis-server, redis-cli拷贝到RedisCluster目录下,便于启动服务和通过客户端连接
cp /usr/local/redis-6.0.8/src/redis-server /usr/local/redisCluster/
cp /usr/local/redis-6.0.8/src/redis-cli /usr/local/redisCluster/
4、创建redis集群启动脚本
# 将redis添加到系统变量中
vim /etc/profile
export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$REDIS_HOME/bin
# 生效环境变量
source /etc/profile
# 创建redis集群启动文件
vim /usr/local/redisCluster/start.sh
# 集群启动脚本内容
cd /usr/local/redisCluster
./redis-server /usr/local/redisCluster/7000/redis.conf
./redis-server /usr/local/redisCluster/7001/redis.conf
./redis-server /usr/local/redisCluster/7002/redis.conf
5、执行redis-cli redis集群启动命令
![image-1654599584600.png](/upload/image-1654599584600.png)
# 创建redis集群,运行命令后会有一个确认的提示,必须输入 yes 才能创建集群
./redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002
# 连接redis集群,命令格式:redis-cli -h <ip> -p <port> -a <password> -c
# 如果集群配置为3主3从则需要6个redis实例
--cluster-replicas 1:表示希望为集群中的每个主节点创建一个从节点(一主一从)。
--cluster-replicas 2:表示希望为集群中的每个主节点创建两个从节点(一主二从)。
# ./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
![image-1654599986194.png](/upload/image-1654599986194.png)
6、设置集群连接密码
在所有redis服务器上执行以下命令,执行完命令之后会自动在redis.conf文件末尾添加
masterauth “123456”
requirepass 123456
这两个密码参数配置,无需重启redis服务即可完成密码修改。
注意:如果是redis集群要保证所有服务的密码都是一样的,否则跨服务连接会出现异常。
7、关闭集群
vim shutdown.sh
cd /usr/local/redisCluster
./redis-cli -p 7000 shutdown
./redis-cli -p 7001 shutdown
./redis-cli -p 7002 shutdown