Linux(Centos7)下redis5缓存服务集群分布式搭建

摘要:
需要6台服务器。如果条件有限,可以搭建伪分布式,以下步骤是在一台Linux服务器上搭建有6个节点的Redis集群。

注意:可以查看Redis官网查看集群搭建方式,连接如下

https://redis.io/topics/cluster-tutorial

集群中应该至少有三个节点,每个节点有一备份节点。需要6台服务器。

如果条件有限,可以搭建伪分布式,以下步骤是在一台 Linux 服务器上搭建有6个节点的 Redis集群。

准备工作:安装依赖包

[root@localhost ~]#yum install -y gcc g++ make gcc-c++ kernel-devel automake autoconf libtool make wget tcl vim unzip git

1.创建目录并进

命令:mkdir /usr/local/redis-cluster

命令:cd /usr/local/redis-cluster

Linux(Centos7)下redis5缓存服务集群分布式搭建第1张

2.下载源码包并解包编译安装

命令:wget http://download.redis.io/releases/redis-5.0.5.tar.gz #安装redis5.0.5版本

命令:tar -zvxf redis-5.0.5.tar.gz #解包

Linux(Centos7)下redis5缓存服务集群分布式搭建第2张

3.进入redis目录里,开始编译并安装

命令:cd redis-5.0.5 #进入目录里如果有这个Makefile就可以编译安装了

Linux(Centos7)下redis5缓存服务集群分布式搭建第3张

命令:make #编译

命令:make install PREFIX=/usr/local/redis #编译安装并将redis放在/usr/local/redis下,这样就可以直接使用redis

Linux(Centos7)下redis5缓存服务集群分布式搭建第4张

好了,现在redis已经安装成功

4.创建6个redis配置文件(注意:6个配置文件不能放在同一个目录之内)

命令:[root@localhost redis-5.0.5]# cp /usr/local/redis-cluster/redis-5.0.5/redis.conf /usr/local/redis/bin

命令:[root@localhost redis-5.0.5]# cd /usr/local/redis

命令:[root@localhost redis]# cp -r /usr/local/redis/bin /usr/local/redis-cluster/redis01

命令:[root@localhost redis]# cd /usr/local/redis-cluster/redis01

命令:[root@localhost redis01]# vim redis.conf #修改配置文件

Linux(Centos7)下redis5缓存服务集群分布式搭建第5张

配置文件的修改路径为:

1)port 7001 #端口

2)cluster-enabled yes #启用集群模式

3)cluster-config-file nodes.conf #设置对应端口,不输入的话就是默认port端口

4)cluster-node-timeout 5000 #超时时间

5)appendonly yes #开启持久化模式

6)daemonize yes #后台运行

7)protected-mode no #非保护模式

8)pidfile /var/run/redis_7001.pid #防止启动多个进程副本,只启动7001

(知识扩展:进程运行后会给.pid文件加一个文件锁,只有获得该锁的进程才有写入权限(F_WRLCK),

把自身的pid写入该文件中,其他试图获得该锁的进程会自动退出。)

9)bind 172.20.10.7 #127.0.0.1改为本机ip地址,可用 ifconfig 或 ip a 查看ip

这样配置文件就已经做好了,接下来保存退出,然后创建其他5个节点

5.创建其他5个节点

命令:cd /usr/local/redis-cluster/ #进入redis目录下

[root@localhost redis-cluster]# cp -r redis01 redis02
[root@localhost redis-cluster]# cp -r redis01 redis03
[root@localhost redis-cluster]# cp -r redis01 redis04
[root@localhost redis-cluster]# cp -r redis01 redis05
[root@localhost redis-cluster]# cp -r redis01 redis06 #将配置目录复制5份

Linux(Centos7)下redis5缓存服务集群分布式搭建第6张

然后修改配置文件:分别修改redis02 ~ redis06 的 redis.conf下的port 和 pidfile

修改内容:

1)port 7001

2)pidfile /var/run/redis_7001.pid

Linux(Centos7)下redis5缓存服务集群分布式搭建第7张

6.启动节点

有两种方法启动

命令:cd /usr/local/redis-cluster

1)分别进入redis01、redis02、...redis06目录,执行: ./redis-server ./redis.conf

2)做一个脚本执行start-all.sh

脚本内容如下:

cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
cd ..

然后添加权限执行脚本就行了

命令:chmod u+x start-all.sh #给脚本添加权限

命令:./start-all.sh

Linux(Centos7)下redis5缓存服务集群分布式搭建第8张

然后顺便看一下节点是否启动成功

命令:ps aux | grep redis

Linux(Centos7)下redis5缓存服务集群分布式搭建第9张

7.启动集群

因为我们使用的5.0.0以上的版本的Redis搭建的集群只需要把编译后的redis目录中的这个redis-cli文件拷贝到redis-cluster目录过来就可以了

至于redis-cli在/usr/local/redis-cluster/redis-5.0.5/src下就可以找到,然后复制到/usr/local/redis-cluster下就可以了

Linux(Centos7)下redis5缓存服务集群分布式搭建第10张

命令:cp -r /usr/local/redis-cluster/redis-5.0.5/src/redis-cli /usr/local/redis-cluster

命令:/usr/local/redis-cluster/redis-cli --cluster create 192.168.100.248:7001 192.168.100.248:7002 192.168.100.248:7003 192.168.100.248:7004

192.168.100.248:7005 192.168.100.248:7006 --cluster-replicas 1 #启动命令(注意:根据自己的IP启动)

Linux(Centos7)下redis5缓存服务集群分布式搭建第11张

Linux(Centos7)下redis5缓存服务集群分布式搭建第12张

到这个地方,就做完了redis集群启动成功

8.集群的操作

关闭集群,在create-cluster目录下编写脚本文件:vim shutdown.sh

脚本内容如下:

/usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7001 shutdown
/usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7002 shutdown
/usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7003 shutdown
/usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7004 shutdown
/usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7005 shutdown
/usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7006 shutdown
然后给脚本添加权限并执行此文件

命令:chmod u+x shutdown.sh

命令:./shutdown.sh

Linux(Centos7)下redis5缓存服务集群分布式搭建第13张

查看redis集群状态

命令:ps aux|grep redis

Linux(Centos7)下redis5缓存服务集群分布式搭建第14张

知识扩展:

官方:/usr/local/redis-cluster/redis-cli -a xxx -c -h 192.168.100.248 -p 7001

提示:-a访问服务端密码,-c表示集群模式,-h指定ip地址,-p指定端口号

9.重新启动集群

在start-all.sh脚本的最后添加/usr/local/redis-cluster/redis-cli --cluster create 192.168.100.248:7001 192.168.100.248:7002 192.168.100.248:7003

192.168.100.248:7004 192.168.100.248:7005 192.168.100.248:7006 --cluster-replicas 注意:使用自己本机的IP

Linux(Centos7)下redis5缓存服务集群分布式搭建第15张

然后执行脚本就可以了

命令:./start-all.sh

Linux(Centos7)下redis5缓存服务集群分布式搭建第16张

10.测试集群

在redis-cluster目录下执行

命令:redis01/redis-cli -h 192.168.100.248 -p 7002 -c (注意:用自己的IP)

命令:cluster nodes #查询集群结点信息

命令:cluster info # 查询集群状态信息

Linux(Centos7)下redis5缓存服务集群分布式搭建第17张

(知识扩展:设置主从密码)

需要在redis01~redis06的配置文件里redis.conf修改这两行

masterauth 123456 #主从密码

requirepass 123456 #访问密码

Linux(Centos7)下redis5缓存服务集群分布式搭建第18张

Linux(Centos7)下redis5缓存服务集群分布式搭建第19张

然后重启服务

测试:

命令:redis01/redis-cli -h 192.168.100.248 -p 7002 -c

192.168.100.248:7001> cluster nodes #这个时候命令不能用

NOAUTH Authentication required

192.168.1.181:7001> auth 123456 #输入密码,看见“OK”就可以了

OK

192.168.1.181:7001> cluster nodes #这个时候命令就可以用了

Linux(Centos7)下redis5缓存服务集群分布式搭建第20张

总结:。。。。。。。。。。。。。。。。。(此处省略一万字)

免责声明:文章转载自《Linux(Centos7)下redis5缓存服务集群分布式搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Jmeter进阶篇之监控服务器cpu,内存微信小程序怎么获取当前页面的url下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

7--docker-compose详解

目录 一、Docker Compose简介 二、docker compose 安装 与 卸载 1.下载 2.授权 3.检测版本 4.卸载 三、docker compose使用 1.相关概念 2.场景 3.docker-compose模板 4.通过docker-compose运⾏⼀组容器 5. docker-compose 模板⽂件...

redis的过期时间设置和过期删除机制

1.设置过期时间redis有四种命令可以用于设置键的生存时间和过期时间 EXPIRE <KEY> <TTL> : 将键的生存时间设为 ttl 秒 PEXPIRE <KEY> <TTL> :将键的生存时间设为 ttl 毫秒 EXPIREAT <KEY> <timestamp>...

linux下重新安装grub

介绍 本篇指南会告诉你如果不知什么缘故丢失了GRUB后如何用一张Arch安装光盘重装GRUB。 注意 在这篇指南,我将使用sda1作为我的根udev类型references。如果你使用0.7.1以前的安装光盘,你应该将udev references换成devfs references。如果不明白请参见Technical_Terms#Hard_Drives。...

WIN2008R2故障转移集群实验

一. 网络拓扑图如下: 实验步骤  ①   配置网络服务器的参数  ②  安装调试存储 freenas  ③  故障转移集群节点上分别连接存储,也就是挂载存储   ④ 在节点上安装故障转移集群程序  ⑤ 验证配置,拍错  ⑥正式安装故障集群程序  ⑦配置服务应用程序   ⑧故障转移集群测试 二. 开始试验         按照上面的小步骤分解,一步一步完...

磁盘检验(转)

磁盘检验 由于系统在运行时谁也说不准啥时硬件或者是电源会有问题,所以『死机』可能是难免的情况(不管是硬件还是软件)。 现在我们知道文件系统运行时会有硬盘与内存数据异步的状况发生,因此莫名其妙的死机非常可能导致文件系统的错乱。 问题来啦,如果文件系统真的发生错乱的话,那该如何是好?就...挽救啊!此时那个好用的 filesystem check, fsck...

[转]Unix sar 命令

在使用UNIX操作系统的过程中,我们常常会用到各种各样的问题,比如系统运行速度突然变慢,系统容易死机或者主机所带的终端常出现死机,这时我们 常常猜测,是硬盘空间太小,还是内存不足?I/O出现瓶颈,或者是系统的核心参数出了问题?这时,我们应该考虑使用系统给我们提供的sar命令来对系统作 一个了解,该命令是系统维护的重要工具,主要帮助我们掌握系统资源的使用情况...