Redis 安装(RPM 自给自足安装)

felix.shao2025-02-18

Redis 安装(RPM 自给自足安装)

1 概述

 具体脚本等资源未对外开放,放在本人的阿里云盘中。

  • 本文档都是基于 root 用户来进行安装。
  • 便于安装拷贝命令,不建议使用 word 和 pdf 文档。

1.1 资源清单

资源名描述
redis-6.2.9-1.x86_64.rpm使用 Redis RPM 制作 文档中制作好的 rpm 文件
ruby-2.7.8-1.el7.centos.x86_64.rpmruby(github 下载的 rpm 文件)

2 自给自足 RPM 单机安装

 RPM 单机安装命令如下。

$ rpm -i ruby-2.7.8-1.el7.centos.x86_64.rpm
$ rpm -i redis-6.2.9-1.x86_64.rpm

3 自给自足 RPM 集群安装

3.1 3主3从安装(单主机)

 3主3从安装。

主机描述
redis01主 1、2、3,从 1、2、3

 安装命令示意如下:

$ rpm -i ruby-2.7.8-1.el7.centos.x86_64.rpm
$ rpm -i redis-6.2.9-1.x86_64.rpm
$ mkdir -p /usr/local/redis/redis-cluster && cd /usr/local/redis/redis-cluster && mkdir 7000 7001 7002 7003 7004 7005
$ vi ./7000/redis.conf
bind 0.0.0.0
port 7000

masterauth passwd123 
requirepass passwd123 

daemonize yes

pidfile /var/run/redis_7000.pid

logfile "./redis-cluster/7000/redis.log"

dir ./redis-cluster/7000/

cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 5000

appendonly yes
appendfsync always
# 复制配置文件
$ cd ../
$ cp ./redis-cluster/7000/redis.conf ./redis-cluster/7001/redis.conf && grep 7000 -rl ./redis-cluster/7001 | xargs -t sed -i "s/7000/7001/g"
$ cp ./redis-cluster/7000/redis.conf ./redis-cluster/7002/redis.conf && grep 7000 -rl ./redis-cluster/7002 | xargs -t sed -i "s/7000/7002/g"
$ cp ./redis-cluster/7000/redis.conf ./redis-cluster/7003/redis.conf && grep 7000 -rl ./redis-cluster/7003 | xargs -t sed -i "s/7000/7003/g"
$ cp ./redis-cluster/7000/redis.conf ./redis-cluster/7004/redis.conf && grep 7000 -rl ./redis-cluster/7004 | xargs -t sed -i "s/7000/7004/g"
$ cp ./redis-cluster/7000/redis.conf ./redis-cluster/7005/redis.conf && grep 7000 -rl ./redis-cluster/7005 | xargs -t sed -i "s/7000/7005/g"

# 分别启动 6 个实例
$ ./src/redis-server ./redis-cluster/7000/redis.conf &
$ ./src/redis-server ./redis-cluster/7001/redis.conf &
$ ./src/redis-server ./redis-cluster/7002/redis.conf &
$ ./src/redis-server ./redis-cluster/7003/redis.conf &
$ ./src/redis-server ./redis-cluster/7004/redis.conf &
$ ./src/redis-server ./redis-cluster/7005/redis.conf &

# 创建 redis 集群
$ redis-cli -a passwd123 --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
# 查看集群信息
$ redis-cli -a passwd123 -c -h 127.0.0.1 -p 7000 cluster info
# 查看集群节点信息 
$ redis-cli -a passwd123 -c -h 127.0.0.1 -p 7000 cluster nodes

# > 5.0 版本创建集群命令参考
$ cd /opt/rh/rh-ruby23/root/usr/local/share/gems/gems/redis-4.1.0/lib/redis
$ vi client.rb
修改密码项即可
$ ./src/redis-trib.rb create --replicas 1 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

 启动集群脚本如下。

$ vi startRC.sh
#!/bin/sh

./src/redis-server ./redis-cluster/7000/redis.conf &
./src/redis-server ./redis-cluster/7001/redis.conf &
./src/redis-server ./redis-cluster/7002/redis.conf &
./src/redis-server ./redis-cluster/7003/redis.conf &
./src/redis-server ./redis-cluster/7004/redis.conf &
./src/redis-server ./redis-cluster/7005/redis.conf &

$ chmod u+x startRC.sh

 停止集群脚本如下。

$ vi stopRC.sh
#!/bin/sh

./src/redis-cli -a passwd123 -p 7000 shutdown
./src/redis-cli -a passwd123 -p 7001 shutdown
./src/redis-cli -a passwd123 -p 7002 shutdown
./src/redis-cli -a passwd123 -p 7003 shutdown
./src/redis-cli -a passwd123 -p 7004 shutdown
./src/redis-cli -a passwd123 -p 7005 shutdown

$ chmod u+x stopRC.sh

3.2 3主3从安装(3主机)

 以下安装说明请重点注意。

  • 本文档是基于3主机安装3主3从。如下表所示。
  • 便于安装人员拷贝命令,就不做 word 和 pdf 了。
  • redis-install 需要 root 用户进行安装,redis-install 文件夹放在任意有权限的目录操作即可(里面脚本都是基于相对路径处理)。
主机描述
redis01主 1 从 1
redis02主 2 从 2
redis03主 3 从 3

 redis 安装资源清单如下,后续安装说明以该清单相对目录来进行,如 ./redis-install/cluster/scripts/install_redis.sh

├─redis-install/cluster
│  ├─_rpm:rpm 安装包
│  │  ├─redis-6.2.9-1.x86_64.rpm 
│  │  └─ruby-2.7.8-1.el7.centos.x86_64.rpm
│  │  └─epel-release-latest-7.noarch.rpm
│  │  └─jemalloc-3.6.0-1.el7.x86_64.rpm
│  ├─_scripts:辅助安装脚本
│  │  └─quick_install_redis.sh:快速安装脚本,整合了多个脚本
│  │  └─install_redis.sh 安装 redis 脚本
│  │  └─config_redis_cluster.sh: 配置 redis 集群脚本
│  │  └─start_rc_nodes.sh: 启动集群节点脚本,即启动该主机上的主、从 redis 节点
│  │  └─stop_rc_nodes.sh: 停止集群节点脚本,即停止该主机上的主、从 redis 节点
│  ├─_conf:默认配置文件
│  │  └─redis.conf 

3.2.1 安装并配置 Redis 集群

 redis01、redis02、redis03 主机均要安装,效果见下图。
 (1)安装 Redis 命令如下。

# 进入脚本目录,并执行安装命令,注意必须是在脚本目录里面执行,否则相对路径会找不到对应的 rpm 文件
$ cd ./redis-install/cluster/scripts  
$ chmox +x *
$ sh ./install_redis.sh
install_redis.png

 (2)接上,此时在 ./redis-install/cluster/scripts 目录,redis01、redis02、redis03 主机都需执行以下集群配置命令。

$ sh ./config_redis_cluster.sh

 (3)启动全部的节点,即 redis01、redis02、redis03 主机执行以下命令。

$ sh start_rc_nodes.sh
# 启动后可以使用 netstat -anp|grep redis 命令查看 redis 进程信息

 (4)注意在 redis01、redis02、redis03 主机中任意找一台执行以下配置 Redis 集群命令。注意将 IP 改为实际的地址。
 注意 IP 不能用 127.0.0.1 或者 localhost 等,否则 redis 客户端解析时会解析为客户端的 IP 地址,而不是 redis 服务器的 ip 地址。

$ redis-cli --cluster create 192.168.37.101:7000 192.168.37.101:7001 192.168.37.102:7000 192.168.37.102:7001 192.168.37.103:7000 192.168.37.103:7001 --cluster-replicas 1

 (5)验证集群和节点状态(可选、非必须)。

$ redis-cli -c -h 127.0.0.1 -p 7000 cluster info
$ redis-cli -c -h 127.0.0.1 -p 7000 cluster nodes

 注意,使用下面命令可以优化(1)、(2)、(3)步骤的命令为一个,即。

$ cd ./redis-install/cluster/scripts 
$ sh ./quick_install_redis.sh

2.2.2 集群配置密码

 如果集群需要密码,安装好后进行如下配置后重启即可。
 注意 redis01、redis02、redis03 服务器都需要改密码,具体步骤如下。
 (1)redis01 主节点修改密码。

$ vi /usr/local/redis/redis-cluster/7000/redis.conf
masterauth passwd123 
requirepass passwd123 

 (2)redis01 从节点修改密码。

$ vi /usr/local/redis/redis-cluster/7001/redis.conf
masterauth passwd123 
requirepass passwd123 

 (3)依次对 redis02、redis03 节点进行(1)、(2) 操作修改密码。
 (4)所有 redis 节点主机停止、然后启动服务,命令如下

$ sh /usr/local/redis/redis-cluster/stop_rc_nodes.sh
$ sh /usr/local/redis/redis-cluster/start_rc_nodes.sh

 (5)验证集群和节点状态(可选、非必须)。使用的 redis-cli 命令多了个 -a passwd123 参数。

$ redis-cli -c -h 127.0.0.1 -p 7000 -a passwd123 cluster info
$ redis-cli -c -h 127.0.0.1 -p 7000 -a passwd123 cluster nodes

3.2.3 卸载 redis

 如果安装出现问题,可以卸载后重新安装。
 进入要卸载的 redis 节点,执行以下命令卸载 redis,如果是集群需要全部节点都卸载干净后再重装。

$ rpm -e redis

3.2.3 常用命令

# 启动集群节点
$ sh /usr/local/redis/redis-cluster/start_rc_nodes.sh

# 停止集群节点
$ sh /usr/local/redis/redis-cluster/stop_rc_nodes.sh
Last Updated 2/18/2025, 5:05:12 PM