Redis集群安装

前言

Redis的集群模式有三种:主从复制模式哨兵模式Cluster 集群模式(Redis官方),本次使用的是cluster集群模式,对应的Redis版本为6.2.7。

集群规划如下:

主机 端口 类型
Hadoop01 6379 Master01
Hadoop01 6380 Salve01
Hadoop02 6379 Master02
Hadoop02 6380 Slave02
Hadoop03 6379 Master03
Hadoop03 6380 Slave03

下载Redis

  1. Redis官网:https://redis.io/
  2. 下载地址: https://download.redis.io/releases/redis-6.2.7.tar.gz
1
wget https://download.redis.io/releases/redis-6.2.7.tar.gz

编译安装

1
2
3
4
5
6
7
8
# 安装依赖,编译需要
yum install -y gcc gcc-c++

# 解压
tar -zxf redis-6.2.7.tar.gz

# 编译安装到/data/software/redis/redis-dir
make PREFIX=/data/software/redis/redis-dir install

创建配置文件

创建相关文件夹

1
2
3
4
5
6
7
8
9
10
# 创建用于存放配置文件的文件夹
cd /data/software/redis/redis-dir
mkdir -p /data/software/redis/redis-dir/conf/cluster

# 创建用于存放数据的文件夹
mkdir -p /data/software/redis/redis-dir/data/cluster/6379
mkdir -p /data/software/redis/redis-dir/data/cluster/6380

# 创建用于存放日志文件的文件夹
mkdir -p /data/software/redis/redis-dir/logs/cluster

修改redis配置文件

  1. 把解压的redis默认的配置文件,放到redis-dir/conf文件夹中

    1
    cp /data/software/redis/redis-6.2.7/redis.conf /data/software/redis/redis-dir/conf
  2. 修改redis.conf文件 注释掉bind 127.0.0.1,bind自己服务器的IP。并将protected -mode yes改为no。daemonize 默认是no,需要改成yes

  3. 创建redis-6379.conf, redis-6380.conf配置文件,写入以下配置:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    include /data/software/redis/redis-dir/conf/redis.conf
    pidfile /var/run/redis_6379.pid
    dir /data/software/redis/redis-dir/data/cluster/6379
    logfile "/data/software/redis/redis-dir/logs/cluster/redis-6379.log"
    port 6379
    dbfilename dump6379.rdb
    cluster-enabled yes
    cluster-node-timeout 15000
    cluster-config-file nodes-6379.conf
    cluster-require-full-coverage no
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    include /data/software/redis/redis-dir/conf/redis.conf
    pidfile /var/run/redis_6380.pid
    dir /data/software/redis/redis-dir/data/cluster/6380
    logfile "/data/software/redis/redis-dir/logs/cluster/redis-6380.log"
    port 6380
    dbfilename dump6380.rdb
    cluster-enabled yes
    cluster-node-timeout 15000
    cluster-config-file nodes-6380.conf
    cluster-require-full-coverage no
  4. 把redis-dir同步到hadoop02,hadoop03

启动redis集群

  • 依次在Hadoop01,02,03上执行以下命令,启动单个实例的redis:
1
2
/data/software/redis/redis-dir/bin/redis-server /data/software/redis/redis-dir/conf/cluster/redis-6379.conf
/data/software/redis/redis-dir/bin/redis-server /data/software/redis/redis-dir/conf/cluster/redis-6380.conf
1
ps auxf|grep redis

  • 初始化集群
1
/data/software/redis/redis-dir/bin/redis-cli  --cluster create 10.10.10.58:6379 10.10.10.58:6380 10.10.10.68:6379 10.10.10.68:6380 10.10.10.69:6379 10.10.10.69:6380 --cluster-replicas 1


1
2
3
4
5
# redis-cli - h ip -p 端口
/data/software/redis/redis-dir/bin/redis-cli -h xxxx -p 6379

# 输入 info replication
info replication


到这里,一个Redis集群就安装成功了!

停止redis

1
ps aux | grep -v grep|grep  redis | awk '{print $2}' |xargs kill -9