目录

 前期准备

Redis的环境搭建

1、Redis的下载安装 

2、Redis的单节点配置

2.1 创建目录

2.2 编辑配置文件

2.3 启动Redis

2.4 连接测试

2.5 基本读写测试

2.6 停止单节点

3、Redis的集群搭建

3.1 修改核心配置文件

3.2 文件分发

3.3 修改从节点配置文件

3.4 集群启动脚本

3.4 集群启动

3.5 查看状态

3.6  集群停止脚本

3.7 集群停止


 前期准备

查看网卡:

配置静态IP

vi /etc/sysconfig/network-scripts/ifcfg-ens32  ----  根据自己网卡设置。

设置主机名

hostnamectl --static set-hostname  主机名

例如:

hostnamectl --static set-hostname  hadoop001

配置IP与主机名映射

vi /etc/hosts

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

配置免密登录

传送门


Redis的环境搭建

1、Redis的下载安装 

1.1. 下载

cd /opt/module

wget https://download.redis.io/releases/redis-6.2.6.tar.gz

此处是安装路径是 /opt/module

​​​

1.3 解压重命名

tar -zxvf redis-6.2.6.tar.gz 

mv redis-6.2.6 redis

​​

1.4 进行编译

cd  /opt/module/redis

make -j $(nproc)

1.5 编译结果校验

src/redis-server --version

1.6 配置环境变量

vi  /etc/profile
#REDIS_HOME
export REDIS_HOME=/opt/module/redis
export PATH=\$PATH:\$REDIS_HOME/bin

1.6 加载环境变量

source /etc/profile

验证环境变量是否生效:

env | grep REDIS_HOME

env | grep PATH

2、Redis的单节点配置

2.1 创建目录

mkdir -p /opt/module/redis/conf
mkdir -p /opt/module/redis/data/6379
mkdir -p /opt/module/redis/logs

2.2 编辑配置文件

vi \$REDIS_HOME/conf/redis-standalone.conf

# ============ 基础配置 ============
bind 0.0.0.0
port 6379
daemonize yes
pidfile /opt/module/redis/redis_6379.pid
logfile /opt/module/redis/logs/redis_6379.log
dir /opt/module/redis/data/6379

# ============ 安全配置(测试环境可简化) ============
# 测试阶段可以不设密码,便于调试
# requirepass Redis@2026

# ============ 内存策略 ============
maxmemory 2gb
maxmemory-policy allkeys-lru

# ============ 持久化 ============
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb

2.3 启动Redis

\$REDIS_HOME/src/redis-server \$REDIS_HOME/conf/redis-standalone.conf

# 检查进程是否运行
ps aux | grep redis | grep -v grep

2.4 连接测试

# 本地连接测试
\$REDIS_HOME/src/redis-cli -h 127.0.0.1 -p 6379 ping
# 返回 PONG 表示正常

# 使用主机名连接测试
\$REDIS_HOME/src/redis-cli -h hadoop001 -p 6379 ping
# 返回 PONG 表示正常

2.5 基本读写测试

$REDIS_HOME/src/redis-cli -h hadoop001 -p 6379

# 写入测试
set test_key "hello redis"
# 返回 OK

# 读取测试
get test_key
# 返回 "hello redis"

# 查看节点信息
info server
info memory

# 退出
exit

2.6 停止单节点

# 正常停止
\$REDIS_HOME/src/redis-cli -h hadoop001 -p 6379 shutdown

# 验证已停止
ps aux | grep redis | grep -v grep

3、Redis的集群搭建

3.1 修改核心配置文件

cp \$REDIS_HOME/conf/redis-standalone.conf \$REDIS_HOME/conf/redis.conf

vi \$REDIS_HOME/conf/redis.conf

# ============ 网络与端口 ============
bind 0.0.0.0
port 6379

# ============ 运行模式 ============
daemonize yes
pidfile /opt/module/redis/redis_6379.pid
logfile /opt/module/redis/logs/redis_6379.log
dir /opt/module/redis/data/6379

# ============ 安全认证(主节点启用,从节点注释) ============
# 主节点:启用,从节点:注释掉或删掉
requirepass Redis@2026

# ============ 内存与持久化 ============
maxmemory 2gb
maxmemory-policy allkeys-lru
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb

# ============ 主从复制(从节点启用) ============
# 从节点:启用,主节点:注释掉或删掉
# replicaof hadoop001 6379
# masterauth Redis@2026
# replica-read-only yes

3.2 文件分发

注意:在分发文件前要做好三台机器的IP与主机名映射 /etc/hosts 

进行分发文件
scp -r \$REDIS_HOME root@hadoop002:/opt/module/
scp -r \$REDIS_HOME  root@hadoop003:/opt/module/

scp -r /etc/profile root@hadoop002:/etc/profile
scp -r /etc/profile root@hadoop003:/etc/profile


让三台机器文件生效
ssh hadoop001; source /etc/profile
ssh hadoop002; source /etc/profile
ssh hadoop003; source /etc/profile

3.3 修改从节点配置文件

从节点 hadoop002

---------------------------------------------------

vi \$REDIS_HOME/conf/redis.conf
replicaof hadoop001 6379
masterauth Redis@2026
replica-read-only yes

--------------------------------------------------

从节点 hadoop003

--------------------------------------------------

vi \$REDIS_HOME/conf/redis.conf
replicaof hadoop001 6379
masterauth Redis@2026
replica-read-only yes

--------------------------------------------------

3.4 集群启动脚本

touch \$REDIS_HOME/start-cluster.sh
chmod +x \$REDIS_HOME/start-cluster.sh

vi \$REDIS_HOME/start-cluster.sh

#!/bin/bash
REDIS_HOME=/opt/module/redis
NODES=("hadoop001" "hadoop002" "hadoop003")

echo "========== 启动 Redis 集群 =========="
for node in "\${NODES[@]}"; do
    echo -n "启动 \$node ... "
    ssh \$node "source /etc/profile; \$REDIS_HOME/src/redis-server \$REDIS_HOME/conf/redis.conf"
    if [ \$? -eq 0 ]; then
        echo "✅ 成功"
    else
        echo "❌ 失败"
    fi
done
echo "========== 启动完成 =========="

3.4 集群启动

\$REDIS_HOME/start-cluster.sh

3.5 查看状态

ssh hadoop001 "ps aux | grep redis | grep -v grep"

ssh hadoop002 "ps aux | grep redis | grep -v grep"

ssh hadoop003 "ps aux | grep redis | grep -v grep"

# 在主节点查看复制状态
\$REDIS_HOME/src/redis-cli -h hadoop001 -p 6379 -a Redis@2026 INFO replication

显示结果:

# Replication
role:master
connected_slaves:2
slave0:ip=hadoop002,port=6379,state=online,offset=12345,lag=1
slave1:ip=hadoop003,port=6379,state=online,offset=12345,lag=1

3.6  集群停止脚本

touch \$REDIS_HOME/stop-cluster.sh
chmod +x \$REDIS_HOME/stop-cluster.sh

vi \$REDIS_HOME/stop-cluster.sh

#!/bin/bash
REDIS_HOME=/opt/module/redis
NODES=("hadoop001" "hadoop002" "hadoop003")
PASSWORD="Redis@2026"

echo "========== 停止 Redis 集群 =========="
for node in "\${NODES[@]}"; do
    echo -n "停止 \$node ... "
    ssh \$node "source /etc/profile; \$REDIS_HOME/src/redis-cli -h \$node -p 6379 -a Redis@2026  shutdown" 2>/dev/null
    if [ \$? -eq 0 ]; then
        echo "✅ 成功"
    else
        echo "⚠️  可能未运行"
    fi
done
echo "========== 停止完成 =========="

3.7 集群停止

\$REDIS_HOME/stop-cluster.sh

更多推荐