redis-5.0.8主从集群搭建、不重启修改配置文件

一、环境准备

192.168.5.100 redis-01

192.168.5.101 redis-02

192.168.5.102 redis-03

关闭防火墙、能够通网

二、安装redis

复制代码
[root@localhost ~]# wget http://download.redis.io/releases/redis-5.0.8.tar.gz
[root@localhost ~]# tar xf redis-5.0.8.tar.gz -C /usr/local/
[root@localhost ~]# yum -y install gcc gcc-c++
[root@localhost ~]# cd /usr/local/redis-5.0.8
[root@localhost ~]# make && make install

确认能启动、退出

复制代码
[root@localhost redis-5.0.8]# redis-server --daemonize yes
12523:C 15 Nov 2023 10:02:04.043 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
12523:C 15 Nov 2023 10:02:04.043 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=12523, just started
12523:C 15 Nov 2023 10:02:04.043 # Configuration loaded
[root@localhost redis-5.0.8]# ps -ef |grep redis
root      12508  12476  0 09:59 pts/1    00:00:00 redis-cli
root      12524      1  0 10:02 ?        00:00:00 redis-server *:6379
root      12529   8205  0 10:02 pts/0    00:00:00 grep --color=auto redis
[root@localhost redis-5.0.8]# redis-cli ping
PONG


[root@localhost redis-5.0.8]# pkill redis-server
[root@localhost redis-5.0.8]# redis-cli ping
Could not connect to Redis at 127.0.0.1:6379: Connection refused

三、开始搭建集群

1.首先创建6个空文件

复制代码
[root@redis-01 ~]# mkdir -p /usr/local/redis-cluster/9001
[root@redis-01 ~]# mkdir -p /usr/local/redis-cluster/9002
[root@redis-02 ~]# mkdir -p /usr/local/redis-cluster/9003
[root@redis-02 ~]# mkdir -p /usr/local/redis-cluster/9004
[root@redis-03 redis-5.0.8]# mkdir -p /usr/local/redis-cluster/9005
[root@redis-03 redis-5.0.8]# mkdir -p /usr/local/redis-cluster/9006

2.copy redis.conf redis-server

复制代码
[root@redis-01 redis-5.0.8]# cp redis.conf /usr/local/redis-cluster/9001
[root@redis-01 redis-5.0.8]# cp redis.conf /usr/local/redis-cluster/9002
[root@redis-02 redis-5.0.8]# cp redis.conf /usr/local/redis-cluster/9003
[root@redis-02 redis-5.0.8]# cp redis.conf /usr/local/redis-cluster/9004
[root@redis-03 redis-5.0.8]# cp redis.conf /usr/local/redis-cluster/9005
[root@redis-03 redis-5.0.8]# cp redis.conf /usr/local/redis-cluster/9006

[root@redis-01 src]# cp redis-server /usr/local/redis-cluster/9001/
[root@redis-01 src]# cp redis-server /usr/local/redis-cluster/9002/
[root@redis-02 src]# cp redis-server /usr/local/redis-cluster/9003/
[root@redis-02 src]# cp redis-server /usr/local/redis-cluster/9004/
[root@redis-03 src]# cp redis-server /usr/local/redis-cluster/9005/
[root@redis-03 src]# cp redis-server /usr/local/redis-cluster/9006/

3.修改redis.conf

复制代码
在vim里你可以使用以下命令查找并删除注释行:

:g/^#/d

1)port 9001 //设置端口号

2)dir /usr/local/redis_cluster/9001/ //数据存放位置,必须要指定

3)cluster-enabled yes //启动集群模式

4)cluster-config-file nodes-9001.conf //集群节点信息文件

6)cluster-node-timeout 5000

bind 127.0.0.1 //去掉bind绑定访问ip信息

protected-mode no //关闭保护模式

9)appendonly yes //开启AOF模式,默认的持久化上RDB

[root@redis-01 redis-cluster]# cp 9001/redis.conf 9002/redis.conf 
cp:是否覆盖"9002/redis.conf"? y
[root@redis-01 redis-cluster]# scp 9001/redis.conf 192.168.5.101:/usr/local/redis-cluster/9003/redis.conf 
                                                                100% 1654     2.4MB/s   00:00    
[root@redis-01 redis-cluster]# scp 9001/redis.conf 192.168.5.101:/usr/local/redis-cluster/9004/redis.conf 

4、启动redis服务

复制代码
[root@redis-01 redis-cluster]# redis-server /usr/local/redis-cluster/9001/redis.conf --daemonize yes
12684:C 15 Nov 2023 10:33:53.480 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
12684:C 15 Nov 2023 10:33:53.480 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=12684, just started
12684:C 15 Nov 2023 10:33:53.480 # Configuration loaded
[root@redis-01 redis-cluster]# redis-cli ping

[root@redis-01 redis-cluster]# redis-cli -h 127.0.0.1 -p 9001 ping
PONG

5.创建redis集群(5.0版本以后直接使用redis-cli)

//-a *** 密码 如果redis.conf中配置了密码创建集群时需要添加

//--cluster-replicas 1 从节点个数

四、不重启redis集群修改最大内存设置

复制代码
192.168.5.100:9001> CONFIG GET maxmemory
1) "maxmemory"
2) "0"

[root@redis-01 9001]# redis-cli -h 192.168.5.100 -p 9001 config set maxmemory 4GB
OK
[root@redis-01 9001]# redis-cli -h 192.168.5.100 -p 9001 config rewrite
OK

[root@redis-01 9001]# redis-cli -h 192.168.5.100 -p 9001
192.168.5.100:9001> CONFIG GET maxmemory
1) "maxmemory"
2) "4294967296"
相关推荐
forestsea17 分钟前
全解:Redis RDB持久化和AOF持久化
数据库·redis·缓存
叫我DPT18 分钟前
分享一个python启动文件脚本(django示例)
数据库·python·django
小五Z1 小时前
Redis--事务
redis·分布式·后端·缓存
XXYBMOOO1 小时前
基于 Qt 的 BMP 图像数据存取至 SQLite 数据库的实现
数据库·c++·qt
Sunlight_7771 小时前
第五章 SQLite数据库:1、SQLite 基础语法及使用案例
java·linux·服务器·jvm·数据库·tcp/ip·sqlite
JhonKI1 小时前
【从零实现高并发内存池】内存池整体框架设计 及 thread cache实现
java·redis·缓存
嘉嘉king2 小时前
Mysql联表查询
数据库
镜舟科技2 小时前
NoSQL 与 NewSQL 全面对比:如何选择适合你的数据库方案?
数据库·starrocks·nosql·newsql·技术架构·实时数据分析
TDengine (老段)2 小时前
TDengine 语言连接器(Node.js)
大数据·c语言·数据库·物联网·node.js·时序数据库·tdengine
洛神灬殇3 小时前
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 时间事件处理部分)
redis·后端