Redis-cluster集群案例

一、先安装单机版

1)、下载安装包

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

2)、解压安装包

tar -zxvf redis-3.2.9.tar.gz

3)、安装

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

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"

8)、关闭Redis

二、开始配置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

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

安装

gem install -l redis-3.2.1.gem

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

检查是否启动成功

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

启动成功:

9)、测试连接集群

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值