|NO.Z.00041|——————————|^^ 部署 ^^|——|Hadoop&Redis.V09|——|Redis.v09|普通Hash|一致性Hash|
一、RedisCluster创建:集群搭建
### --- RedisCluster最少需要三台主服务器,三台从服务器。
~~~ 伪分布式端口号规划: 7001~7006
~~~ 主服务器: 7001/7002/7003
~~~ 从服务器: 7004/7005/7006
二、创建7001~7006实例
### --- 创建7001实例
~~~ 创建7001实例,并编辑redis.conf文件,修改port为7001。
~~~ 注意:创建实例,即拷贝单机版安装时,生成的bin目录,为7001目录。
[root@hadoop ~]# mkdir -p /opt/yanqi/servers/redis-cluster/7001
[root@hadoop ~]# cd /opt/yanqi/software/
[root@hadoop software]# tar -zxvf redis-5.0.5.tar.gz
[root@hadoop ~]# cd /opt/yanqi/software/redis-5.0.5/src/
[root@hadoop src]# make
[root@hadoop src]# make install PREFIX=/opt/yanqi/servers/redis-cluster/7001/
[root@hadoop src]# cp ../redis.conf /opt/yanqi/servers/redis-cluster/7001/bin/
~~~ # 修改redis.conf配置文件,打开cluster-enable yes
[root@hadoop ~]# vim /opt/yanqi/servers/redis-cluster/7001/bin/redis.conf
protected-mode no # 更改为no
port 7001 # 修改端口号为:7001
cluster-enabled yes # 去掉前面的注释
daemonize yes # 更改为yes
#bind 127.0.0.1 # 注释掉
### --- 创建7002到7006实例
~~~ 创建7002~7006实例目录
[root@hadoop ~]# mkdir -p /opt/yanqi/servers/redis-cluster/7002
[root@hadoop ~]# mkdir -p /opt/yanqi/servers/redis-cluster/7003
[root@hadoop ~]# mkdir -p /opt/yanqi/servers/redis-cluster/7004
[root@hadoop ~]# mkdir -p /opt/yanqi/servers/redis-cluster/7005
[root@hadoop ~]# mkdir -p /opt/yanqi/servers/redis-cluster/7006
~~~ # 拷贝7001的实例文件到7002~7006
[root@hadoop ~]# cp -r /opt/yanqi/servers/redis-cluster/7001/* /opt/yanqi/servers/redis-cluster/7002/
[root@hadoop ~]# cp -r /opt/yanqi/servers/redis-cluster/7001/* /opt/yanqi/servers/redis-cluster/7003/
[root@hadoop ~]# cp -r /opt/yanqi/servers/redis-cluster/7001/* /opt/yanqi/servers/redis-cluster/7004/
[root@hadoop ~]# cp -r /opt/yanqi/servers/redis-cluster/7001/* /opt/yanqi/servers/redis-cluster/7005/
[root@hadoop ~]# cp -r /opt/yanqi/servers/redis-cluster/7001/* /opt/yanqi/servers/redis-cluster/7006/
~~~ # 修改7002~7006实例端口号
[root@hadoop ~]# vim /opt/yanqi/servers/redis-cluster/7002/bin/redis.conf
port 7002
[root@hadoop ~]# vim /opt/yanqi/servers/redis-cluster/7003/bin/redis.conf
port 7003
[root@hadoop ~]# vim /opt/yanqi/servers/redis-cluster/7004/bin/redis.conf
port 7004
[root@hadoop ~]# vim /opt/yanqi/servers/redis-cluster/7005/bin/redis.conf
port 7005
[root@hadoop ~]# vim /opt/yanqi/servers/redis-cluster/7006/bin/redis.conf
port 7006
三、启动所有实例
### --- 创建start.sh,启动所有的实例
[root@hadoop ~]# cd /opt/yanqi/servers/redis-cluster
[root@hadoop redis-cluster]# vim start.sh
cd 7001/bin
./redis-server redis.conf
cd ..
cd ..
cd 7002/bin
./redis-server redis.conf
cd ..
cd ..
cd 7003/bin
./redis-server redis.conf
cd ..
cd ..
cd 7004/bin
./redis-server redis.conf
cd ..
cd ..
cd 7005/bin
./redis-server redis.conf
cd ..
cd ..
cd 7006/bin
./redis-server redis.conf
cd ..
cd ..
### --- 启动实例并验证
[root@hadoop redis-cluster]# chmod u+x start.sh # (赋写和执行的权限)
[root@hadoop redis-cluster]# ./start.sh # (启动RedisCluster)
[root@hadoop redis-cluster]# ps -ef | grep redis
root 14026 1 1 19:48 ? 00:00:00 ./redis-server *:7001 [cluster]
root 14031 1 0 19:48 ? 00:00:00 ./redis-server *:7002 [cluster]
root 14036 1 1 19:48 ? 00:00:00 ./redis-server *:7003 [cluster]
root 14041 1 0 19:48 ? 00:00:00 ./redis-server *:7004 [cluster]
root 14046 1 0 19:48 ? 00:00:00 ./redis-server *:7005 [cluster]
root 14051 1 0 19:48 ? 00:00:00 ./redis-server *:7006 [cluster]
四、创建集群
### --- 创建Redis集群(创建时Redis里不要有数据)
~~~ # 进去实例目录
[root@hadoop ~]# cd /opt/yanqi/servers/redis-cluster/7001/bin/
### --- 创建集群
~~~ redis-cli创建集群
~~~ cluster-replicas 1:表示备份一份 :一主一从,若是一主2从:后面配置是2
~~~ 前三个是主,后三个是从
[root@hadoop bin]# ./redis-cli --cluster create \
192.168.1.111:7001 192.168.1.111:7002 192.168.1.111:7003 \
192.168.1.111:7004 192.168.1.111:7005 192.168.1.111:7006 \
--cluster-replicas 1
~~~ # 输出参数
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.1.111:7005 to 192.168.1.111:7001
Adding replica 192.168.1.111:7006 to 192.168.1.111:7002
Adding replica 192.168.1.111:7004 to 192.168.1.111:7003
>>> Trying to optimize slaves allocation for anti-affinity
[WARNING] Some slaves are in the same host as their master
M: d1831c06b14dcc935549734a65c9973f59dcb1b1 192.168.1.111:7001
slots:[0-5460] (5461 slots) master
M: 313fcb7e815bab87426f81d21176f58fde9d0fc7 192.168.1.111:7002
slots:[5461-10922] (5462 slots) master
M: c2e99f75b566197ded715bdf12ff5607d5c793c9 192.168.1.111:7003
slots:[10923-16383] (5461 slots) master
S: 16fa61286c999777ef0f56156750a7d18a8afd04 192.168.1.111:7004
replicates 313fcb7e815bab87426f81d21176f58fde9d0fc7
S: 96033b241c0f1a328d95b59cb5b52fc043802958 192.168.1.111:7005
replicates c2e99f75b566197ded715bdf12ff5607d5c793c9
S: 2e591b916b6fb7280341bbc6b7d4256bce56e066 192.168.1.111:7006
replicates d1831c06b14dcc935549734a65c9973f59dcb1b1
Can I set the above configuration? (type 'yes' to accept): yes # 键入yes即可
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
..
>>> Performing Cluster Check (using node 192.168.1.111:7001)
M: d1831c06b14dcc935549734a65c9973f59dcb1b1 192.168.1.111:7001
slots:[0-5460] (5461 slots) master
1 additional replica(s)
S: 2e591b916b6fb7280341bbc6b7d4256bce56e066 192.168.1.111:7006
slots: (0 slots) slave
replicates d1831c06b14dcc935549734a65c9973f59dcb1b1
S: 96033b241c0f1a328d95b59cb5b52fc043802958 192.168.1.111:7005
slots: (0 slots) slave
replicates c2e99f75b566197ded715bdf12ff5607d5c793c9
M: c2e99f75b566197ded715bdf12ff5607d5c793c9 192.168.1.111:7003
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
S: 16fa61286c999777ef0f56156750a7d18a8afd04 192.168.1.111:7004
slots: (0 slots) slave
replicates 313fcb7e815bab87426f81d21176f58fde9d0fc7
M: 313fcb7e815bab87426f81d21176f58fde9d0fc7 192.168.1.111:7002
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
### --- 命令客户端连接集群
~~~ # 注意:-c 表示是以redis集群方式进行连接
[root@hadoop ~]# cd /opt/yanqi/servers/redis-cluster/7001/bin/
[root@hadoop bin]# ./redis-cli -h 127.0.0.1 -p 7001 -c
127.0.0.1:7001> set name1 aaa
-> Redirected to slot [12933] located at 192.168.1.111:7003
OK
五、查看集群的命令
### --- 查看集群状态
127.0.0.1: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:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:205
cluster_stats_messages_pong_sent:199
cluster_stats_messages_sent:404
cluster_stats_messages_ping_received:194
cluster_stats_messages_pong_received:205
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:404
### --- 查看集群中的节点:
127.0.0.1:7001> cluster nodes
2e591b916b6fb7280341bbc6b7d4256bce56e066 192.168.1.111:7006@17006 slave d1831c06b14dcc935549734a65c9973f59dcb1b1 0 1631997294143 6 connected
96033b241c0f1a328d95b59cb5b52fc043802958 192.168.1.111:7005@17005 slave c2e99f75b566197ded715bdf12ff5607d5c793c9 0 1631997292000 5 connected
c2e99f75b566197ded715bdf12ff5607d5c793c9 192.168.1.111:7003@17003 master - 0 1631997295151 3 connected 10923-16383
16fa61286c999777ef0f56156750a7d18a8afd04 192.168.1.111:7004@17004 slave 313fcb7e815bab87426f81d21176f58fde9d0fc7 0 1631997295000 4 connected
d1831c06b14dcc935549734a65c9973f59dcb1b1 192.168.1.111:7001@17001 myself,master - 0 1631997294000 1 connected 0-5460
313fcb7e815bab87426f81d21176f58fde9d0fc7 192.168.1.111:7002@17002 master - 0 1631997293134 2 connected 5461-10922
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv012-redis
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)