# 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
2
- 复制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
2
3
# 安装redis
- 进入安装目录,执行
# 安装依赖
yum install gcc gcc-c++
# 进入解压目录
cd redis-5.0.5
make
make install
1
2
3
4
5
6
2
3
4
5
6
- 创建集群目录,修改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
2
3
4
5
- 修改集群目录下配置文件
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
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
- 打包复制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
2
3
4
5
- 其他服务器解压,并修改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
2
3
4
5
6
7
8
9
10
11
- 各节点分别启动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
2
3
4
5
6
- 创建集群
- 注意开放防火墙端口
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --add-port=6380/tcp --permanent
firewall-cmd --reload
1
2
3
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
2
3
- 后续重启只需要启动节点即可
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
2
3
- 如果需要删除集群重新创建,需要删除数据文件,任意一个节点执行 cluster flushslots 。删除各个Redis安装目录下的节点配置文件nodes.conf、数据文件dump.rdb