提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、主从,哨兵模式搭建
- 1.主从
- 1.哨兵
- 二、集群搭建
- 1.安装
- 2.修改配置文件redis.conf
- 3.复制
- 4.写个批处理启动
- 5.创建Redis集群(创建时Redis里不要有数据)
- 6.使用
- 7.扩容
- 1.添主
- 2.添从
- 8.缩容
- 总结
前言
我们采用Redis多机和集群的方式来保证Redis的高可用性。
单进程+单线程 + 多机 (集群)。
redis下载: https://www.redis.net.cn/download/.
虚拟机地址:192.168.142.135
提示:以下是本篇文章正文内容,下面案例可供参考
一、主从,哨兵模式搭建
1.主从
1.安装redis到redis-master下
[root@localhost redis-ms]# cd /install/redis-4.0.9/src/
[root@localhost src]# make install PREFIX=/install/redis-ms/redis-master
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
[root@localhost src]# cp /install/redis-4.0.9/redis.conf /install/redis-ms/redis-master/bin
2.主redis.conf
# 将`daemonize`由`no`改为`yes`
daemonize yes
# 默认绑定的是回环地址,默认不能被其他机器访问
# bind 127.0.0.1
# 是否开启保护模式,由yes该为no
protected-mode no
3.从库
[root@localhost bin]# cp -r /install/redis-ms/redis-master/* /install/redis-ms//redis-slave1
[root@localhost bin]# cp -r /install/redis-ms/redis-master/* /install/redis-ms//redis-slave2
#redis.conf
port 6380
replicaof 127.0.0.1 6379
1.哨兵
sentinel.conf
sentinel monitor mymaster 127.0.0.1 6379 2
二、集群搭建
1.安装
安装到指定目录,并复制redis.conf到bin下
[root@localhost src]# cd /install/redis-5.0.4/src/
[root@localhost src]# make install PREFIX=/install/redis-cluster-5.0.4/7001
[root@localhost src]# cp /install/redis-5.0.4/redis.conf /install/redis-cluster-5.0.4/7001/bin
[root@localhost src]# cd /install/redis-cluster-5.0.4/7001/bin
2.修改配置文件redis.conf
第一步:daemonize no(默认),改成 yes,意思是是否要后台启动
第二步:创建7001实例,并编辑redis.conf文件,修改port为7001。
第三步:修改redis.conf配置文件,打开cluster-enable yes
第四步:#bind 127.0.0.1
第五步:protected-mode yes修改为no支持程序代码访问
3.复制
[root@localhost bin]# cp -r /install/redis-cluster-5.0.4/7001/* /install/redis-cluster-5.0.4/7002
[root@localhost bin]# cp -r /install/redis-cluster-5.0.4/7001/* /install/redis-cluster-5.0.4/7003
[root@localhost bin]# cp -r /install/redis-cluster-5.0.4/7001/* /install/redis-cluster-5.0.4/7004
[root@localhost bin]# cp -r /install/redis-cluster-5.0.4/7001/* /install/redis-cluster-5.0.4/7005
[root@localhost bin]# cp -r /install/redis-cluster-5.0.4/7001/* /install/redis-cluster-5.0.4/7006
依次修改redis.conf的端口
4.写个批处理启动
[root@localhost redis-cluster-5.0.4]# 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.confcd ..
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 ..
chmod u+x start.sh (赋写和执行的权限)
./start.sh(启动RedisCluster)
补充,清空集群数据
.、rvCluserData.sh
# 删除集群遗留任何数据
cd /install/redis-cluster-5.0.4/7001/bin/;rm -rf dump.rdb nodes.conf
cd /install/redis-cluster-5.0.4/7002/bin/;rm -rf dump.rdb nodes.conf
cd /install/redis-cluster-5.0.4/7003/bin/;rm -rf dump.rdb nodes.conf
cd /install/redis-cluster-5.0.4/7004/bin/;rm -rf dump.rdb nodes.conf
cd /install/redis-cluster-5.0.4/7005/bin/;rm -rf dump.rdb nodes.conf
cd /install/redis-cluster-5.0.4/7006/bin/;rm -rf dump.rdb nodes.conf
cd /install/redis-cluster-5.0.4/7007/bin/;rm -rf dump.rdb nodes.conf
cd /install/redis-cluster-5.0.4/7008/bin/;rm -rf dump.rdb nodes.conf
cd ..
cd ..
5.创建Redis集群(创建时Redis里不要有数据)
去到7001/bin
# cluster-replicas : 1 1从机 前三个为主
[root@localhost bin]# ./redis-cli --cluster create 192.168.142.135:7001 192.168.142.135:7002 192.168.142.135:7003 192.168.142.135:7004 192.168.142.135:7005 192.168.142.135:7006 --cluster-replicas 1
>>> Performing Cluster Check (using node 192.168.142.135:7001)
M: ad3d314b361a338ed170a08d049ad878bcc9756d 192.168.142.135:7001
slots:[0-5460] (5461 slots) master
1 additional replica(s)
M: 3139586b034b30b7d75ce6957ab214d67843e60c 127.0.0.1:7002
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: 678db4d37645df694b4fd5fd61341ef413759969 127.0.0.1:7004
slots: (0 slots) slave
replicates ad3d314b361a338ed170a08d049ad878bcc9756d
S: 4ab1d59ea380e4317940a1a1bfd0848f20620f70 127.0.0.1:7006
slots: (0 slots) slave
replicates 5d1aebcfa1cc994aa4d062d82e4091934e125135
M: 5d1aebcfa1cc994aa4d062d82e4091934e125135 127.0.0.1:7003
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
S: ed75bb177e02a7549d1128fe3163870b26baea18 127.0.0.1:7005
slots: (0 slots) slave
replicates 3139586b034b30b7d75ce6957ab214d67843e60c
Could not connect to Redis at 192.168.142.135:7001: Connection refusednot connected>
解决方法:bind 127.0.0.1 192.168.142.135
注释掉redis配置文件/etc/redis.conf中bind指令 # bind 127.0.0.1
分配成功后查看node.conf
6.使用
注意加-c,重定向作用
[root@localhost bin]# ./redis-cli -h 192.168.142.135 -p 7001 -c
192.168.142.135:7001> get name
-> Redirected to slot [5798] located at 127.0.0.1:7002
"zhangfei"
127.0.0.1:7002>
查看状态
127.0.0.1:7002> cluster info
查看节点
127.0.0.1:7003> cluster nodes
7.扩容
1.添主
[root@localhost bin]# ./redis-cli --cluster add-node 192.168.142.135:7007 192.168.142.135:7001
分槽,hash槽重新分配(数据迁移)
./redis-cli --cluster reshard 192.168.142.135:7007
三段槽说明每一个都分了一段给7007
2.添从
./redis-cli --cluster add-node 192.168.142.135:7008 192.168.142.135:7007 --cluster-slave --cluster-master-id abd1bd088d588030a5d0c787911b0a276573ef52(7007的节点id)
8.缩容
./redis-cli --cluster del-node 192.168.127.128:7008 6be94480315ab0dd2276a7f70c82c578535d6666
删除已经占有hash槽的结点会失败,报错如下:
[ERR] Node 192.168.127.128:7008 is not empty! Reshard data away and try again.
需要将该结点占用的hash槽分配出去。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。