Linux环境 安装 Redis-6.2.6 配置运行_01
https://gblfy.blog.csdn.net/article/details/105583077
文章目录
- 一、节点分布总览
- 二、软件配置初始化
- 2.1. 下载
- 2.2. 解压
- 2.3. 编译安装
- 2.4. 配置抽离
- 2.5. 配置编辑
- 2.6. 101节点操作
- 2.7. 102 节点操作
- 2.8. 103节点操作
- 三、软件配置集群化
- 3.1. 101节点执行
- 3.2. 102节点执行
- 3.3. 103节点执行
- 四、节点握手
- 4.1. 关闭防火墙
- 4.2. 节点握手
- 五、槽位分配
- 5.1. 槽位分配
- 5.2. 查看集群信息
- 5.3. 日志操作信息
- 六、配置主从
- 6.1. 配置主从
- 6.2. 操作记录
- 七、集群验证
- 7.1. 登录7001节点
- 7.2. 查看集群信息
- 7.3. 操作记录
Redis 分布式集群能解决的问题 | 集群 概念 |
---|---|
解决现有系统单节点并发压力和物理上限问题 | 通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定、高效的状态 |
一、节点分布总览
演示案例
3主3从 横向扩展
服务器 | 端口 | 节点说明 |
---|---|---|
192.168.0.101 | 7001 | master |
192.168.0.101 | 7002 | slave |
192.168.0.102 | 7003 | master |
192.168.0.102 | 7004 | slave |
192.168.0.103 | 7005 | master |
192.168.0.103 | 7006 | slave |
二、软件配置初始化
2.1~2.5属于公共部分,101/102/103服务器需要依次执行
2.1. 下载
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
2.2. 解压
cd /app
tar -zxvf redis-6.2.6.tar.gz
2.3. 编译安装
cd redis-6.2.6/
make install
2.4. 配置抽离
mkdir /app/redis-cluster/
cp /app/redis-6.2.6/redis.conf /app/redis-cluster/
2.5. 配置编辑
vim /app/redis-cluster/redis.conf
2.6. 101节点操作
把bind 127.0.0.1 -::1调整为bind 0.0.0.0
port 6379 改为 port 7001
把daemonize no修改为yes 允许后台启动
pidfile /var/run/redis_6379.pid 改为 pidfile /var/run/redis_7001.pid注释打开 cluster-enabled yes
注释打开 cluster-node-timeout 15000
注释打开并修改node节点 cluster-config-file nodes-7001.conf
保存退出
2.7. 102 节点操作
把bind 127.0.0.1 -::1调整为bind 0.0.0.0
port 6379 改为 port 7003
把daemonize no修改为yes 允许后台启动
pidfile /var/run/redis_6379.pid 改为 pidfile /var/run/redis_7003.pid注释打开 cluster-enabled yes
注释打开 cluster-node-timeout 15000
注释打开并修改node节点 cluster-config-file nodes-7003.conf
保存退出
2.8. 103节点操作
把bind 127.0.0.1 -::1调整为bind 0.0.0.0
port 6379 改为 port 7005
把daemonize no修改为yes 允许后台启动
pidfile /var/run/redis_6379.pid 改为 pidfile /var/run/redis_7005.pid注释打开 cluster-enabled yes
注释打开 cluster-node-timeout 15000
注释打开并修改node节点 cluster-config-file nodes-7005.conf
保存退出
三、软件配置集群化
3.1. 101节点执行
- 配置抽离
cd /app/redis-cluster/
cp redis.conf redis-7001.conf
cp redis.conf redis-7002.conf
vim redis-7002.conf
-
具体修改详细
把 port7001
修改为7002
把pidfile /var/run/redis_7001
.pid 改为 pidfile /var/run/redis_7002
.pid
把修改node节点 cluster-config-file nodes-7001
.conf 调整为cluster-config-file nodes-7002
.conf -
启动redis
/app/redis-6.2.6/src/redis-server /app/redis-cluster/redis-7001.conf
/app/redis-6.2.6/src/redis-server /app/redis-cluster/redis-7002.conf
ps -ef |grep redis
3.2. 102节点执行
- 配置抽离
cd /app/redis-cluster/
cp redis.conf redis-7003.conf
cp redis.conf redis-7004.conf
vim redis-7004.conf
- 具体修改详细
把 port 7003
修改为 7004
把pidfile /var/run/redis_ 7003
.pid 改为 pidfile /var/run/redis_ 7004
.pid
把修改node节点 cluster-config-file nodes- 7003
.conf调整为cluster-config-file nodes- 7004
.conf
- 启动redis
/app/redis-6.2.6/src/redis-server /app/redis-cluster/redis-7003.conf
/app/redis-6.2.6/src/redis-server /app/redis-cluster/redis-7004.conf
ps -ef |grep redis
3.3. 103节点执行
- 配置抽离
cd /app/redis-cluster/
cp redis.conf redis-7005.conf
cp redis.conf redis-7006.conf
vim redis-7006.conf
- 具体修改详情
把 port 7005
修改为 7006
把pidfile /var/run/redis_ 7005
.pid 改为 pidfile /var/run/redis_ 7006
.pid
把修改node节点 cluster-config-file nodes- 7005
.conf 调整为cluster-config-file nodes- 7006
.conf
- 启动redis
/app/redis-6.2.6/src/redis-server /app/redis-cluster/redis-7005.conf
/app/redis-6.2.6/src/redis-server /app/redis-cluster/redis-7006.confps -ef |grep redis
四、节点握手
上面仅仅是搭建了集群,6个节点之间还没有关系,下面通过 节点握手让集群各节点之间,发生关系。
4.1. 关闭防火墙
centos7.x
systemctl stop firewalld
centos6.x
service iptables stop
4.2. 节点握手
登录101服务器的7001节点,依次执行(一条一条复制粘贴)以下命令:
/app/redis-6.2.6/src/redis-cli -h 192.168.0.101 -p 7001
cluster meet 192.168.0.101 7002
cluster meet 192.168.0.102 7003
cluster meet 192.168.0.102 7004
cluster meet 192.168.0.103 7005
cluster meet 192.168.0.103 7006
五、槽位分配
登录101服务器的7001节点,依次执行(一条一条复制粘贴)以下命令:
5.1. 槽位分配
/app/redis-6.2.6/src/redis-cli -h 192.168.0.101 -p 7001 cluster addslots {0..5461}
/app/redis-6.2.6/src/redis-cli -h 192.168.0.102 -p 7003 cluster addslots {5462..10922}
/app/redis-6.2.6/src/redis-cli -h 192.168.0.103 -p 7005 cluster addslots {10923..16383}
5.2. 查看集群信息
/app/redis-6.2.6/src/redis-cli -h 192.168.0.101 -p 7001
查看集群信息:cluster info
查看节点信息:cluster nodes
5.3. 日志操作信息
root@redis-cluster]# /app/redis-6.2.6/src/redis-cli -h 192.168.0.101 -p 7001
192.168.0.101:7001> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:5
cluster_my_epoch:1
cluster_stats_messages_ping_sent:670
cluster_stats_messages_pong_sent:676
cluster_stats_messages_meet_sent:5
cluster_stats_messages_sent:1351
cluster_stats_messages_ping_received:676
cluster_stats_messages_pong_received:675
cluster_stats_messages_received:1351
192.168.0.101:7001> cluster nodes
86002bbf6c62cd5d7511473ee1947531c25e1348 192.168.0.102:7003@17003 master - 0 1647941463270 3 connected 5462-10922
5f1128f200cd4446432e499a1a16f17c5a6178a7 192.168.0.103:7006@17006 master - 0 1647941462000 5 connected
895cfd76481d0ceba0fa5c5ba715980d08c2af83 192.168.0.102:7004@17004 master - 0 1647941464276 4 connected
59423855a7d7062a73f3de80826cbcd1021631de 192.168.0.101:7001@17001 myself,master - 0 1647941461000 2 connected 0-5461
4c9c2e112fded275bd02ab579ab8333c1cc98030 192.168.0.101:7002@17002 master - 0 1647941461000 1 connected
8de49a5b81ab20c4e087dcaeba9aa126773f0657 192.168.0.103:7005@17005 master - 0 1647941462266 0 connected 10923-16383
192.168.0.101:7001>
注:目前都是master,节点信息等会要用,这个窗口先不要关闭,
再新开一个窗口,进行下一步操作
六、配置主从
登录101服务器的7001节点,依次执行(一条一条复制粘贴)以下命令:
6.1. 配置主从
主从复制原则(交叉复制):7004复制7001、7006复制7003、7002复制7005
/app/redis-6.2.6/src/redis-cli -h 192.168.0.102 -p 7004 cluster replicate 59423855a7d7062a73f3de80826cbcd1021631de
/app/redis-6.2.6/src/redis-cli -h 192.168.0.103 -p 7006 cluster replicate 86002bbf6c62cd5d7511473ee1947531c25e1348
/app/redis-6.2.6/src/redis-cli -h 192.168.0.101 -p 7002 cluster replicate 8de49a5b81ab20c4e087dcaeba9aa126773f0657
6.2. 操作记录
[root@ ~]# /app/redis-6.2.6/src/redis-cli -h 192.168.0.102 -p 7004 cluster replicate 59423855a7d7062a73f3de80826cbcd1021631de
OK
[root@ ~]# /app/redis-6.2.6/src/redis-cli -h 192.168.0.103 -p 7006 cluster replicate 86002bbf6c62cd5d7511473ee1947531c25e1348
OK
[root@ ~]# /app/redis-6.2.6/src/redis-cli -h 192.168.0.101 -p 7002 cluster replicate 8de49a5b81ab20c4e087dcaeba9aa126773f0657
OK
[root@ ~]#
七、集群验证
登录101服务器的7001节点,依次执行(一条一条复制粘贴)以下命令:
7.1. 登录7001节点
/app/redis-6.2.6/src/redis-cli -h 192.168.0.101 -p 7001
7.2. 查看集群信息
/app/redis-6.2.6/src/redis-cli -h 192.168.0.101 -p 7001
查看集群信息:cluster info
查看节点信息:cluster nodes
注:目前3主3从 当主节点挂掉之后,从节点自动上位
7.3. 操作记录
[root@ ~]# /app/redis-6.2.6/src/redis-cli -h 192.168.0.101 -p 7001
192.168.0.101:7001> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:5
cluster_my_epoch:1
cluster_stats_messages_ping_sent:1365
cluster_stats_messages_pong_sent:1344
cluster_stats_messages_meet_sent:5
cluster_stats_messages_sent:2714
cluster_stats_messages_ping_received:1344
cluster_stats_messages_pong_received:1370
cluster_stats_messages_received:2714
192.168.0.101:7001> cluster nodes
8de49a5b81ab20c4e087dcaeba9aa126773f0657 192.168.0.103:7005@17005 master - 0 1647932952097 4 connected 10923-16383
86002bbf6c62cd5d7511473ee1947531c25e1348 192.168.0.102:7003@17003 master - 0 1647932951094 2 connected 5462-10922
59423855a7d7062a73f3de80826cbcd1021631de 192.168.0.101:7001@17001 myself,master - 0 1647932950000 1 connected 0-5461
4c9c2e112fded275bd02ab579ab8333c1cc98030 192.168.0.101:7002@17002 slave 8de49a5b81ab20c4e087dcaeba9aa126773f0657 0 1647932950092 4 connected
5f1128f200cd4446432e499a1a16f17c5a6178a7 192.168.0.103:7006@17006 slave 86002bbf6c62cd5d7511473ee1947531c25e1348 0 1647932949000 2 connected
895cfd76481d0ceba0fa5c5ba715980d08c2af83 192.168.0.102:7004@17004 slave 59423855a7d7062a73f3de80826cbcd1021631de 0 1647932951000 1 connected
192.168.0.101:7001> exit
[root@~]#