微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Redis的集群的简单搭建、详细步骤

目录

搭建前准备

redis集群搭建至少需要多少台

redis集群搭建的环境准备

Redis搭建步骤

安装redis

创建6个redis实例

修改配置文件

启创建脚本启动redis集群

启创建脚本关闭redis集群

测试


搭建前准备

redis集群搭建至少需要多少台

Redis集群中至少应该有三个节点。要保证集群的高可用,需要每个节点有一个备份机。

Redis集群至少需要6台服务器。

搭建伪分布式。可以使用一台虚拟机运行6个redis实例。需要修改redis的端口号7001-7006

redis集群搭建的环境准备

使用ruby脚本搭建集群,需要安装ruby。

[root@upload ~]# yum install ruby
[root@upload ~]# yum install rubygems
[root@upload ~]# gem install redis-3.0.0.gem 
[root@localhost ~]# cd redis-3.0.0/src
[root@localhost src]# ll *.rb

//出现如下界面就表示安装成功了
-rwxrwxr-x. 1 root root 48141 Apr  1  2015 redis-trib.rb

Redis搭建步骤

安装redis

linux安装redis步骤

 
//安装c依赖库
yum install gcc-c++
 
//解压redis的linux版本
tar -zxvf redis-3.0.0.tar.gz
 
//进入到解压后的redis文件中
cd /usr/upload/redis-3.0.0
 
//编译
make
 
//安装到指定目录
make install PREFIX=/usr/local/redis

创建6个redis实例

 搭建伪分布式,需要6个redis实例放到/usr/local/redis-cluster目录下,并且运行在不同的端口7001-7006

注意:必须删除dump.rdb和appendonly.aof文件   文件位置在/usr/local/redis/bin  若是没有则不用管

//创建redis-cluster文件夹
mkdir /usr/local/redis-cluster

//复制6台redis分别命名为redis-7001-7006
cp -r  /usr/local/redis  /usr/local/redis-cluster/redis-7001
cp -r  /usr/local/redis  /usr/local/redis-cluster/redis-7002
cp -r  /usr/local/redis  /usr/local/redis-cluster/redis-7003
cp -r  /usr/local/redis  /usr/local/redis-cluster/redis-7004
cp -r  /usr/local/redis  /usr/local/redis-cluster/redis-7005
cp -r  /usr/local/redis  /usr/local/redis-cluster/redis-7006

修改配置文件

 分别修改redis-7001-7006文件中的redis.conf文件 

//命令
vim /usr/local/redis-cluster/redis-7001/bin/redis.conf 
vim /usr/local/redis-cluster/redis-7002/bin/redis.conf 
vim /usr/local/redis-cluster/redis-7003/bin/redis.conf 
vim /usr/local/redis-cluster/redis-7004/bin/redis.conf 
vim /usr/local/redis-cluster/redis-7005/bin/redis.conf 
vim /usr/local/redis-cluster/redis-7006/bin/redis.conf 

#####修改内容  需要修改两处  

第一处  cluster-enabled yes   将此注释放开
第二处  port 7001  将端口更改为7001-7006 

####需要更改6次  更改成相应的端口以及注释放开

启创建脚本启动redis集群

 一个一个启动redis比较麻烦,我们可以创建启动集群的脚本:start-all.sh 放在/usr/java/redis-cluster目录下。

//进入redis-cluster目录
[root@localhost redis-cluster]# vim start-all.sh

//将以下内容复制到脚本中
cd redis-7001
./bin/redis-server bin/redis.conf
cd ..
cd redis-7002
./bin/redis-server bin/redis.conf
cd ..
cd redis-7003
./bin/redis-server bin/redis.conf
cd ..
cd redis-7004
./bin/redis-server bin/redis.conf
cd ..
cd redis-7005
./bin/redis-server bin/redis.conf
cd ..
cd redis-7006
./bin/redis-server bin/redis.conf
cd .. 

//给脚本文件设置最高权限
[root@localhost redis-cluster]# chmod 777 start-all.sh

//这样就可以直接直接使用启动6个redis
./start-all.sh

启创建脚本关闭redis集群

 一个一个关闭redis比较麻烦,我们可以创建关闭集群的脚本:shutdown-all.sh,放在/usr/local/redis-cluster目录下。

//进入redis-cluster目录
[root@localhost redis-cluster]# vim shutdown-all.sh

//将以下内容复制到脚本中
cd redis-7001
./bin/redis-cli -p 7001 shutdown
cd ..
cd redis-7002
./bin/redis-cli -p 7002 shutdown
cd ..
cd redis-7003
./bin/redis-cli -p 7003 shutdown
cd ..
cd redis-7004
./bin/redis-cli -p 7004 shutdown
cd ..
cd redis-7005
./bin/redis-cli -p 7005 shutdown
cd ..
cd redis-7006
./bin/redis-cli -p 7006 shutdown
cd ..

//给脚本文件设置最高权限
[root@localhost redis-cluster]# chmod 777 shutdown-all.sh

//这样就可以直接直接使用关闭6个redis
./shutdown-all.sh

使用ruby搭建集群

//运行命令  需要更改成自己的ip以及端口
[root@localhost src]# ./redis-trib.rb create --replicas 1 192.168.25.153:7001 192.168.25.153:7002 192.168.25.153:7003 192.168.25.153:7004 192.168.25.153:7005  192.168.25.153:7006

//运行结果如下
>>> Creating cluster
Connecting to node 192.168.25.153:7001: OK
Connecting to node 192.168.25.153:7002: OK
Connecting to node 192.168.25.153:7003: OK
Connecting to node 192.168.25.153:7004: OK
Connecting to node 192.168.25.153:7005: OK
Connecting to node 192.168.25.153:7006: OK
...
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
[root@localhost redis-cluster]# 

测试

//启动集群
./start-all.sh

//连接
./redis-cli -c -p 7001

//cluster命令
cluster info   #打印集群的信息
cluster nodes  #列出集群当前已知的所有节点(node),以及这些节点的相关信息

//cluster的使用与正常的redis使用完全一致

 

原文地址:https://www.jb51.cc/wenti/3282300.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐