Redis-cluster集群案例

一、先安装单机版

1)、下载安装包

wget http://download.redis.io/releases/redis-3.2.9.tar.gz

Redis-cluster集群案例

2)、解压安装包

tar -zxvf redis-3.2.9.tar.gz

3)、安装

cd redis-3.2.9 make cd src make install PREFIX=/usr/local/redis 

Redis-cluster集群案例

4)、移动配置文件到安装目录

cd ../ mkdir /usr/local/redis/etc mv redis.conf /usr/local/redis/etc 

5)、配置后台启动

vi /usr/local/redis/etc/redis.conf //将daemonize no 改成daemonize yes vi /usr/local/redis/etc/redis.conf // requirepass 123456 

6)、开启Redis

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf 

7)、连接Redis

cd /usr/local/redis/bin ./redis-cli -h 127.0.0.1 -p 6379 -a "123456"

Redis-cluster集群案例

8)、关闭Redis

Redis-cluster集群案例

二、开始配置cluster集群

1)、新建文件夹

计划集群中 Redis 节点的端口号为 9001-9006 ,端口号即集群下各实例文件夹。数据存放在 端口号/data 文件夹中。

mkdir /usr/local/redis-cluster cd redis-cluster/ mkdir -p 9001/data 9002/data 9003/data 9004/data 9005/data 9006/data 

2)、复制脚本

在 /usr/local/redis-cluster 下创建 bin 文件夹,用来存放集群运行脚本,并把安装好的 Redis 的 src 路径下的运行脚本拷贝过来

cd /usr/local/redis-cluster mkdir bin cd /usr/local/redis-3.2.9/src cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server redis-trib.rb /usr/local/redis-cluster/bin 

Redis-cluster集群案例

3)、复制一个新的Redis实例

cp -r /usr/local/redis /usr/local/redis-cluster/9001

修改新实例配置

port 9001(每个节点的端口号) daemonize yes bind 192.168.1.122(绑定当前机器 IP) dir /usr/local/redis-cluster/9001/data/(数据文件存放位置,配置文件末尾添加) pidfile /var/run/redis_9001.pid(pid 9001和port要对应) cluster-enabled yes(启动集群模式) cluster-config-file nodes9001.conf(9001和port要对应) cluster-node-timeout 15000 appendonly yes 

4)、再复制出新的五个实例

我们已经完成了一个节点了,其实接下来就是机械化的再完成另外五个节点,其实可以这么做:把 9001 实例 复制到另外五个文件夹中,唯一要修改的就是 redis.conf 中的所有和端口的相关的信息即可,其实就那么四个位置。

\cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9002 \cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9003 \cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9004 \cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9005 \cp -rf /usr/local/redis-cluster/9001/* /usr/local/redis-cluster/9006 

5)、修改9002-9006的redis.conf文件

其实非常简单了,你通过搜索会发现其实只有四个点需要修改,我们全局替换下吧,进入相应的节点文件夹,做替换就好了

vi /usr/local/redis-cluster/9002/redis/etc/redis.conf vi /usr/local/redis-cluster/9003/redis/etc/redis.conf vi /usr/local/redis-cluster/9004/redis/etc/redis.conf vi /usr/local/redis-cluster/9005/redis/etc/redis.conf vi /usr/local/redis-cluster/9006/redis/etc/redis.conf %s/9001/9002 %s/9001/9003 %s/9001/9004 %s/9001/9005 %s/9001/9006 其实我们也就是替换了下面这四行: port 9002 dir /usr/local/redis-cluster/9002/data/ cluster-config-file nodes-9002.conf pidfile /var/run/redis_9002.pid 

6)、安装集群需要的软件

由于 Redis 集群需要使用 ruby 命令,所以我们需要安装 ruby 和相关接口。

yum install ruby yum install rubygems

上传redis-3.2.1.gem

Redis-cluster集群案例

安装

gem install -l redis-3.2.1.gem

Redis-cluster集群案例

7)、启动9001-9006六个实例

/usr/local/redis/bin/redis-server /usr/local/redis-cluster/9001/redis/etc/redis.conf /usr/local/redis/bin/redis-server /usr/local/redis-cluster/9002/redis/etc/redis.conf /usr/local/redis/bin/redis-server /usr/local/redis-cluster/9003/redis/etc/redis.conf /usr/local/redis/bin/redis-server /usr/local/redis-cluster/9004/redis/etc/redis.conf /usr/local/redis/bin/redis-server /usr/local/redis-cluster/9005/redis/etc/redis.conf /usr/local/redis/bin/redis-server /usr/local/redis-cluster/9006/redis/etc/redis.conf 

检查是否启动成功

Redis-cluster集群案例

8)、启动集群

修改启动文件密码

vi /usr/local/redis-cluster/bin/redis-trib.rb

找到这一行:

@r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60)

改为:

@r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60, :password => "你的密码")

调用 ruby 命令来进行创建集群,–replicas 1 表示主从复制比例为 1:1,即一个主节点对应一个从节点;然后,默认给我们分配好了每个主节点和对应从节点服务,以及 solt 的大小,因为在 Redis 集群中有且仅有 16383 个 solt ,默认情况会给我们平均分配,当然你可以指定,后续的增减节点也可以重新分配。

/usr/local/redis-cluster/bin/redis-trib.rb create --replicas 1 192.168.1.122:9001 192.168.1.122:9002 192.168.1.122:9003 192.168.1.122:9004 192.168.1.122:9005 192.168.1.122:9006

启动成功:

Redis-cluster集群案例

9)、测试连接集群

./redis-cli -c -h 192.168.1.122 -p 9001 -a 123456

Redis-cluster集群案例

9001自动转到9003,至此集群配置成功

原文链接:https://blog.csdn.net/xm393392625/article/details/105269574

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/16500

(0)
上一篇 2022年11月16日
下一篇 2022年11月16日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml