redis集群搭建

来源:互联网 发布:淘宝代购会被投诉吗 编辑:程序博客网 时间:2024/06/06 15:02

一、环境


1、搭建集群前,先搭建好redis环境,详情看完这篇博客http://blog.csdn.net/qq_31634461/article/details/78650407
2、redis集群管理工具redis-trib.rb依赖ruby环境,首先需要安装ruby环境,安装教程看我上一篇博客http://blog.csdn.net/qq_31634461/article/details/78657004
3、安装ruby和redis的接口程序,本教材使用的是redis-4.0.1.gem,首先去https://rubygems.org/gems/redis下载redis-4.0.1.gem。
4、拷贝redis-4.0.1.gem至/usr/local下,执行

gem install /usr/local/redis-4.0.1.gem

这里写图片描述


执行不成功,回去看第一、二步骤。

二、集群的搭建


1、集群结点规划
这里在同一台服务器用不同的端口表示不同的redis服务器,如下:
主节点:127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003
从节点:127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
2、首先在/usr/local下创建redis-cluster目录,

cd /usr/local
mkdir redis-cluster

然后进入

cd  /usr/local/redis


3、将redis安装目录bin下的文件拷贝redis-cluster的redis01下

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

这里写图片描述

并且删除redis01文件下dump.rdb文件。
进入 redis01中删除

cd /usr/local/redis-cluster/redis01
rm -f dump.rdb

4、修改配置文件redis.conf,修改下端口号改成7001;
这里写图片描述
并且把cluster-enabled yes的注释删除
这里写图片描述
5、此时进入redis-cluster复制redis01至redis02,修改其端口号为7002

cd /usr/local/redis-cluster
cp -r redis01/ redis02

重复步骤直至redis06
这里写图片描述


6、把创建集群的ruby脚本redis源码目录src下的redis-trib.rb复制到redis-cluster目录下。

cd /root/redis-4.0.1/src
cp redis-trib.rb /usr/local/redis-cluster/

如图
这里写图片描述

7、启动这6个redis实例
为了方便,写个脚本

vim startall.sh

按I键盘,进入编辑界面

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

:wq保存退出
给予脚本权限

chmod +x startall.sh

执行脚本

./startall.sh

查看启动的redis服务

ps aux|grep redis

这里写图片描述

redis的关闭

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

8、执行创建集群命令

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

9.测试集群

redis01/redis-cli -h  127.0.0.1 -p 7002 -c
set a 100

这里写图片描述
测试成功!!!