Redis主从复制 以及 集群搭建 详细步骤解析,赶快收藏练手吧!

Redis主从复制 以及 集群搭建 详细步骤解析,赶快收藏练手吧!_第1张图片


感谢各位一直以来的支持和鼓励

制作不易 求点赞 收藏 ⭐ ⭐ ⭐ ➕ 关注✅✅✅

一键三连走起 ! ! !

一、Redis主从复制(Replication)

(1)什么是主从复制

        一个Redis服务可以有多个该服务的复制品,这个Redis服务称为Master,其他复制品称为Slaves,只要网络连接正常,Master会一直将自己的数据更新同步给Slaves,从而保持主从同步,并且只有Master可以执行写命令,Slaves只能执行读命令;那么从服务器执行客户端发送的读命令时,比如GET、LRANGE等等,客户端就可以连接Slaves来执行读请求,从而可以降低Master的读压力

(2)主从复制主要创建步骤

1、配置当前服务称为某Redis服务的Slave

使用格式:
	redis-server --slaveof < master-ip> < master-port>

例如: redis-server --port 6388 --slaveof 127.0.0.1 6379

2、将当前服务器状态从Master修改为别的服务器的Slave

使用格式:
	SLAVEOF host port

例如:
redis > SLAVEOF 192.168.1.1 6379    #将服务器转换为Slave
redis > SLAVEOF NO ONE #将服务器重新恢复到Master,不会丢弃已经同步数据

3、配置方式:启动时,服务器读取配置文件,并自动成为指定服务器的从服务器

slaveof  
slaveof 127.0.0.1 6379

(3)主从复制操作详细演示

1、将主节点master中的redis文件复制到其它节点

使用格式:
scp -r redis的安装目录(解压的目录) 从节点主机ip(配置了hosts映射可以用主机名): 目录
举例:
	 scp -r redis node1:`pwd` 
	 #·pwd·表示与master目录路径相同,没有则自动创键

2、在node1从节点中启动从服务器

进入redis的bin目录

cd  /usr/local/soft/redis/bin

启动

./redis-server --port 6380 --slaveof master 6379

注意:
已经启动成功之后也可以将主改成从

SLAVEOF  master 6379

从改成主 – 数据不会删除

SLAVEOF NO ONE 

3.指定redis 密码

临时设置

redis 127.0.0.1:6379>    config set requirepass test123

永久设置

vim redis.conf
requirepass 123456

带密码链接redis

redis-cli -a 123456

二、Redis集群搭建

搭建前提:电脑需要已经安装了VMware或相关的虚拟机搭建的软件,并且搭建好了主从式的linux虚拟机集群。小北搭建了3台linux虚拟机master、node1、node2

1、创建安装目录

在master ,node1 ,node2三个虚拟机中分别创建安装目录

mkdir /usr/local/soft/redis-cluster

2、将redis 复制到redis-cluster 目录下,并目录修改名字为7000

复制:

cp -r /usr/local/soft/redis  /usr/local/soft/redis-cluster

修改目录名:

mv  /usr/local/soft/redis-cluster/redis /usr/local/soft/redis-cluster/7000

删除单机版缓存文件

rm -rf appendonly.aof
rm -rf dump.rdb

3、修改配置文件 vim redis.conf

daemonize    yes                    #redis后台运行
pidfile  /var/run/redis_7000.pid   #pidfile文件对应7000
port  7000                         #端口7000
cluster-enabled  yes              #开启集群   把注释#去掉
cluster-config-file  nodes.conf   #集群的配置  配置文件首次启动自动生成
cluster-node-timeout   5000      #请求超时  设置5秒够了
appendonly  yes                  #aof日志开启   有需要就开启,它会每次写操作都记录一条日志  (全持久化)

4、复制7000

cp -r 7000 7001
cp -r 7000 7002
cp -r 7000 7003
cp -r 7000 7004
cp -r 7000 7005

5、修改每一个里面的配置

这里只演示了7001的,其他的都是一样的操作步骤

vim 7001/bin/redis.conf

把7000改成对应的端口号

pidfile /var/run/redis_7001.pid
port 7001

6、将7002 ,7003 复制到node1

scp -r /usr/local/soft/redis-cluster/7002 node1:/usr/local/soft/redis-cluster/
scp -r /usr/local/soft/redis-cluster/7003 node1:/usr/local/soft/redis-cluster/

7、将7004 ,7005 复制到node2

scp -r /usr/local/soft/redis-cluster/7004 node2:/usr/local/soft/redis-cluster/
scp -r /usr/local/soft/redis-cluster/7005 node2:/usr/local/soft/redis-cluster/

8、启动redis

1、在master中执行
cd /usr/local/soft/redis-cluster/7000/bin
./redis-server redis.conf
cd /usr/local/soft/redis-cluster/7001/bin
./redis-server redis.conf

2、在node1中执行
cd /usr/local/soft/redis-cluster/7002/bin
./redis-server redis.conf
cd /usr/local/soft/redis-cluster/7003/bin
./redis-server redis.conf

3、在node2中执行
cd /usr/local/soft/redis-cluster/7004/bin
./redis-server redis.conf
cd /usr/local/soft/redis-cluster/7005/bin
./redis-server redis.conf

9、通过工具构建集群 ,在master中安装

安装工具

yum -y install ruby ruby-devel rubygems rpm-build

使用xftp上传redis-3.0.0.gem到目录/usr/local/module(小北用来存放安装包的路径,大家可以自己指定)

redis-3.0.0.geml网盘连接:
链接:https://pan.baidu.com/s/1k47i0RRe3xXOjetK4ABU8w 提取码:vxc6

gem install -l redis-3.0.0.gem  

放在/usr/local/bin/ 目录下的命令可以在任何一个位置运行


```powershell
cp /usr/local/soft/redis-3.0.0/src/redis-trib.rb /usr/local/bin/redis-trib 

10、启动集群 第一次使用 都免集群重启不需要使用

注意: replicas :每一个主节点的备份节点数量

redis-trib create --replicas 1 192.168.47.10:7000 192.168.47.10:7001 192.168.47.20:7002 192.168.47.20:7003 192.168.47.30:7004 192.168.47.30:7005

11、客户端访问redis集群

注意: -p 端口号 -h 节点ip -c 自动重定向

redis-cli -p 7000 -h master -c

查看集群信息

cluster info

查看节点信息

cluster nodes

注意,集群模式不区分读写请求 如果想要在从节点进行查询,那么需要在查询之前执行readonly

你可能感兴趣的:(SQL数据库,BigData,redis,数据库,redis主从复制,redis集群搭建)