# Redis集群

# 单机版安装

单机版部署文档

# ES集群安装

# 示例服务器

IP 内存 硬盘
xxx.xxx.xxx.xx1 32G 500G
xxx.xxx.xxx.xx2 32G 500G
xxx.xxx.xxx.xx3 32G 500G

# 安装包下载

cd /home/cluster/software
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
1
2

img

  • 复制redis-5.0.5.tar.gz至 /home/cluster 目录下并解压
cp /home/cluster/software/redis-5.0.5.tar.gz /home/cluster/
cd /home/cluster
tar -zxvf redis-5.0.5.tar.gz
1
2
3

img

# 安装redis

  1. 进入安装目录,执行
# 安装依赖
yum install gcc gcc-c++ 
# 进入解压目录
cd redis-5.0.5
make
make install
1
2
3
4
5
6
  1. 创建集群目录,修改redis.conf配置文件
cd redis-5.0.5
mkdir -p redis-cluster/6379
mkdir -p redis-cluster/6380
cp redis.conf redis-cluster/6379
cp redis.conf redis-cluster/6380
1
2
3
4
5
  1. 修改集群目录下配置文件
cd redis-5.0.5

-------------------------------------6379--------------------------------------------
vi redis-cluster/6379/redis.conf
--------------------------redis.conf----------------------------
bind 当前节点服务器ip
port 6379
daemonize yes
pidfile /var/run/redis_6379.pid
dbfilename dump6379.rdb
logfile "/home/cluster/redis-5.0.5/redis-cluster/6379/redis.log"
dir /home/cluster/redis-5.0.5/redis-cluster/6379
appendonly yes
appendfilename “appendonly6379.aof”
appendfsync always
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
--------------------------redis.conf----------------------------

-------------------------------------6380--------------------------------------------
vi redis-cluster/6379/redis.conf
--------------------------redis.conf----------------------------
bind 当前节点服务器ip
port 6380
daemonize yes
pidfile /var/run/redis_6380.pid
dbfilename dump6380.rdb
logfile "/home/cluster/redis-5.0.5/redis-cluster/6380/redis.log"
dir /home/cluster/redis-5.0.5/redis-cluster/6380
appendonly yes
appendfilename “appendonly6380.aof”
appendfsync always
cluster-enabled yes
cluster-config-file nodes-6380.conf
cluster-node-timeout 15000
--------------------------redis.conf----------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  1. 打包复制redis目录至其他服务器节点
cd /home/cluster
tar -zcvf redis-5.0.5.tar.gz redis-5.0.5/
# 发送至其他服务器
scp redis-5.0.5.tar.gz root@192.168.41.134:/home/cluster
scp redis-5.0.5.tar.gz root@192.168.41.135:/home/cluster
1
2
3
4
5

img

  1. 其他服务器解压,并修改redis.conf的bind 为当前服务器ip
 tar -zxvf redis-5.0.5.tar.gz
 cd redis-5.0.5
 vi redis-cluster/6379/redis.conf
 -----------------6379redis.conf ---------------------
 bind 本机IP
 -----------------6379redis.conf ---------------------
 
 vi redis-cluster/6380/redis.conf
 -----------------6380redis.conf ---------------------
 bind 本机IP
 -----------------6380redis.conf ---------------------
1
2
3
4
5
6
7
8
9
10
11

img

  1. 各节点分别启动redis
cd redis-5.0.5/src
./redis-server /home/cluster/redis-5.0.5/redis-cluster/6379/redis.conf
./redis-server /home/cluster/redis-5.0.5/redis-cluster/6380/redis.conf

# 查看状态
ps -ef | grep redis
1
2
3
4
5
6

img

  1. 创建集群
  • 注意开放防火墙端口
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --add-port=6380/tcp --permanent
firewall-cmd --reload
1
2
3
  • 选择一台服务器,创建集群
 cd redis-5.0.5/src/
./redis-cli --cluster create 192.168.41.133:6379 192.168.41.133:6380 192.168.41.134:6379 192.168.41.134:6380 192.168.41.135:6379 192.168.41.135:6380 --cluster-replicas 1
# 出现下图集群部署成功
1
2
3

img

img

  1. 后续重启只需要启动节点即可
cd redis-5.0.5/src
./redis-server /home/cluster/redis-5.0.5/redis-cluster/6379/redis.conf
./redis-server /home/cluster/redis-5.0.5/redis-cluster/6380/redis.conf
1
2
3
  1. 如果需要删除集群重新创建,需要删除数据文件,任意一个节点执行 cluster flushslots 。删除各个Redis安装目录下的节点配置文件nodes.conf、数据文件dump.rdb