redis 搭建集群

由于当前环境因素,只有在单个服务器上牛刀小试了,上一章讲到redis的安装这里就不重新下载redis了。直接cp 过来用,

直接上干货!!!

一、集群搭建需要的环境
1.1 Redis集群至少需要3个节点,因为投票容错机制要求超过半数节点认为某个节点挂了该节点才是挂了,所以2个节点无法构成集群。
2.2 要保证集群的高可用,需要每个节点都有从节点,也就是备份节点(Redis集群中至少应该有三个节点。要保证集群的高可用,需要每个节点有一个备份机。 redis主从复制 如果使用ruby搭建redis集群,从节点不用手动配置,ruby会自动分配),所以Redis集群至少需要6台服务器。因为我没有那么多服务器,在这里搭建的是伪分布式集群,即一台服务器虚拟运行6个redis实例,修改端口号为(7001-7006),当然实际生产环境的Redis集群搭建和这里是大同小异的

创建存放节点的位置文件redis-cluster

[root@192 /] mkdir usr/local/redis-cluster

再分别创建6个节点子文件

[root@192 redis-cluster]# mkdir redis1
[root@192 redis-cluster]# mkdir redis2
[root@192 redis-cluster]# mkdir redis3
[root@192 redis-cluster]# mkdir redis4
[root@192 redis-cluster]# mkdir redis5
[root@192 redis-cluster]# mkdir redis6

将上一章安装了解压的的redis文件,cp 到这6个节点当中(这里注意了cp过来后需要将文件里面生成的dump.rdb 删除掉不然会报错)

 cp -r usr/local/redis/redis-4.0.12 redis-cluster/redis*
 cp -r usr/local/redis/redis-4.0.12/src/redis-trib.rb redis-cluster

依次重新编译1,2,3,4,5,6

[root@192 redis1]# cd redis-4.0.12/
[root@192 redis-4.0.12]# make PREFIX=/usr/local/redis-cluster/redis1 install

搭建集群的redis.conf 配置文件的参数有一点小变动,(同上一章在redis节点文件下创建etc目录来存放redis.conf文件,这样做的目的就是不会直接修改原文件)

cd redis1
mkdir etc
cp redis-4.0.12/redis.conf  /usr/local/redis-cluster/redis6/etc/

修改配置文件:

bin 127.0.0.1  // 将这行注释掉或者改为bin 0.0.0.0 不限ip访问
port 7001 // 依次修改
protected-mode yes //将protected-mode 改为no  关闭保护模式
cluster-enabled yes // 取消注释

到这里这几个节点就安排好了,可以启动了看看,是否存在问题
在redis-cluster文件下创建一个启动脚本start-all.sh

cd redis1
./bin/redis-server  etc/redis.conf
cd ..
cd redis2
./bin/redis-server  etc/redis.conf
cd ..
cd redis3
./bin/redis-server  etc/redis.conf
cd ..
cd redis4
./bin/redis-server  etc/redis.conf
cd ..
cd redis5
./bin/redis-server  etc/redis.conf
cd ..
cd redis6
./bin/redis-server  etc/redis.conf

修改start-all.sh脚本权限:

chmod +x  start-all.sh

有start就来个stop (记得修改权限)

./redis1/bin/redis-cli -p 7001 shutdown
./redis2/bin/redis-cli -p 7002 shutdown
./redis3/bin/redis-cli -p 7003 shutdown
./redis4/bin/redis-cli -p 7004 shutdown
./redis5/bin/redis-cli -p 7005 shutdown
./redis6/bin/redis-cli -p 7006 shutdown

运行下看效果:
运行
没问题,至此6个redis节点启动成功,接下来正式开启搭建集群,以上都是准备条件。以上步骤也就一句话的事情:创建6个redis实例(6个节点)并启动。
安装ruby的原因
要搭建集群的话,需要使用一个工具(脚本文件),这个工具在redis解压文件的源代码里。因为这个工具是一个ruby脚本文件,所以这个工具的运行需要ruby的运行环境,就相当于java语言的运行需要在jvm上。所以需要安装ruby,指令如下:
1,先删除掉centos 自带的老版本的ruby

yum remove ruby

2、下载ruby稳定版

cd /usr/local/src
wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.gz

3、安装ruby

tar zxf ruby-2.5.1.tar.gz
cd ruby-2.5.1
./configure --prefix=/usr/local/ruby
make

结果图

make install  // 编译下下载文件

编译结果
查看安装后的版本

/usr/local/ruby/bin/ruby -v

结果如图:
在这里插入图片描述
设置环境变量

vim /etc/profile

最后添加

export PATH=$PATH:/usr/local/ruby/bin:

保存退出,执行

source /etc/profile

验证下

echo $PATH

如图:
查看环境变量
镜像加速
此时使用gem install redis不会报错了,但是你会发现炒鸡慢,为了更快速的安装,这里使用国内的镜像(https://gems.ruby-china.org/)
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem sources -l
文件
然后就可以下载redis.gem了

gem install redis

下载成功
现在就可以切换到redis-cluster目录下启动集群了

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

启动成功
测试:

[root@192 redis-cluster]# redis -c -h 127.0.0.1 -p 7001
127.0.0.1:7001> set name tom
-> Redirected to slot [5798] located at 192.168.0.104:7002
OK
 192.168.0.104:7002> get name
"tom"

到此redis 伪分布式集群搭建成功

总结:在分布式集群搭建中
1,创建并运行需要搭建的实例
2,下载ruby环境 (redis集群管理工具redis-trib.rb依赖ruby环境)
3.运行

在搭建的时候如遇到问题或error,欢迎讨论!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值