手把手教你如何搭建redis集群---(非常详细)

前面我们已经部署好了一个简单版的单机型redis,那么我们要搭建集群的话就要在这个基础上继续深入即可!
第一步创建6个节点(实例)

cd /usr/local/

创建集群目录:

mkdir redis-cluster 

进入之前单机redis目录拷贝文件:

cd redis
cp -r bin ../redis-cluster/redis01 

进入redis01命令:

cd ../redis-cluster/redis01

在redis01目录中执行命令:

rm -f dump.rdb 

Redis支持两种形式的数据持久化,一种是RDB快照(snapshotting),另外一种是AOF(append-only-file),删除dump.rdb这种rdb形式的存储快照,Redis创建快照时,会将某一时刻存在于内存中的数据保存到本地文件中。快照文件以.rdb后缀保存。为了保持数据的纯净,不被覆盖,我们需要删掉本地快照(我所理解的!),相对于快照来讲lof性能更好(这里就不解释了,本人也不是很懂,各位感兴趣的可以在网上搜索相关资料).

修改配置文件redis.conf(避免与单机版使用的冲突,分配6个端口号,7001~7006).

cd /usr/local/redis-cluster/redis01
vim redis.conf

改完port为7001后再修改# cluster-enabled yes打开这一行,默认是注释掉的,非编辑模式下执行命令/cluster进入快速搜索模式 ,打开前面的注释.
修改完之后回到上一级目录

	cd ../
	cp -r redis01/ redis02
	cp -r redis01/ redis03
	cp -r redis01/ redis04
	cp -r redis01/ redis05
	cp -r redis01/ redis06
同理,修改剩下的5个节点(实例)的端口(7002......7006).

进入对应redis版本的源码包里的src目录(我使用的是redis-3.0.0这个版本)

cd /usr/local/redis-3.0.0/src  

执行 ll *.rb命令,我们发现有一个这个文件 redis-trib.rb
将 redis-trib.rb这个脚本拷贝到集群目录,执行:

 cp *.rb /usr/local/redis-cluster/

复制完之后回到集群目录
cd …/…/redis-cluster
我们发现6个实例,一个一个去启动太麻烦了,所以我们在当前目录下创建一个脚本负责启动.
启动6个实例对象,先创建脚本vim startall.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 ..

完成编辑后执行 (给与脚本授权),并启动脚本(启动6个实例)

chmod +x startall.sh
./startall.sh

(查看6个节点是否已全部启动)

ps aux|grep redis

以上步骤完成了6个节点的创建,接下来就是我们的redis集群环境搭建了!
第二步,在当前集群目录中安装redis所需的ruby环境
执行命令:

cd usr/local/redis-cluster/
yum install ruby
yum install rubygems

(不按照执行后面集群创建会失败)
在当前redis-cluster目录下执行命令

./redis-trib.rb create --replicas 1 192.168.1.26:7001 192.168.1.26:7002 192.168.1.26:7003 192.168.1.26:7004 192.168.1.26:7005 192.168.1.26:7006

执行完后不报错的情况下:再输入一次yes即可!
如果创建失败,进入每一个节点的配置文件redis.conf中查看是否打开bind以及ip是否一样,以及自己使用的当前redis版本情况,如果是低版本的话需要一个.gem文件
低版本需要依赖一个包,当前版本+.gem,假如:redis-3.0.0.gem这个包就是低版本的依赖包,那么执行命令
gem install redis-3.0.0.gem,其实这个包就是一个工具包(低版本的才需要),高版本只要能保证ruby脚本能正常运行即可
我这里提供一个3.0的gem下载链接:链接:https://pan.baidu.com/s/1pG8KmpeIclDnDYYPM1lJKQ
提取码:olyo

以上步骤加上单机版的redis搭建,就相当于集群环境搭建好了
赶紧去后端用起来吧!
在虚拟机上启动集群怎么启动?
在任意节点下启动,比如,我在节点1中启动
(注意后面的-c不能丢)

redis01/redis-cli -h 192.168.1.26 -p 7003 -c

在java后端连接集群的时候,会包movenError,就是因为没有-C,redis计算空间报的错!
关闭集群节点:进入任意一个客户端 redis-cli -p 7001(任意存在的端口) shutdown
创建关闭集群的脚本:

vim shutdown.sh

添加以下内容:

redis01/redis-cli -p 7001 shutdown
redis01/redis-cli -p 7002 shutdown
redis01/redis-cli -p 7003 shutdown
redis01/redis-cli -p 7004 shutdown
redis01/redis-cli -p 7005 shutdown
redis01/redis-cli -p 7006 shutdown

(给与脚本授权)

chmod +x shutdown.sh

一步步搭建单机版的redis服务:https://blog.csdn.net/yihuaiyan/article/details/88059282

你可能感兴趣的:(Linux)