快速配置redis三主三从配置(ruby问题已解决)

搭建Redis3.2.11版本集群

***搭建时候首先要确定版本号
5.0以下和5.0以上操作有不一样得地方


三主三从搭建:

1.确定要安装得版本(此次安装为redis3.2.11)

下载redis


wget http://download.redis.io/releases/redis-版本号.tar.gz
tar xf redis-3.2.11.tar.gz 

配置文件 redis.conf     (配置开启集群以及哨兵)

bind 127.0.0.1

protected-mode yes

port 6379

tcp-backlog 511


timeout 0

tcp-keepalive 300


daemonize yes

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile "/usr/local/redis-3.2.11/logs"


databases 16


save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir ./


slave-serve-stale-data yes

slave-read-only yes

repl-diskless-sync no

repl-diskless-sync-delay 5

repl-disable-tcp-nodelay no

slave-priority 100

appendonly yes


appendfilename "appendonly.aof"


appendfsync everysec


no-appendfsync-on-rewrite no


auto-aof-rewrite-percentage 1
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes


lua-time-limit 5000

cluster-enabled yes

cluster-config-file nodes-6379.conf     


slowlog-log-slower-than 10000

slowlog-max-len 128


latency-monitor-threshold 0


notify-keyspace-events ""


hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

activerehashing yes

client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60

hz 10

aof-rewrite-incremental-fsync yes

修改好配置文件后:
(1)创建多实例:
创建文件夹 隔离配置文件 redis.conf   修改端口号
[root@localhost ~]#mkdir  /data/redis700{0..4} 
[root@localhost ~]#cp  /usr/local/redis-3.2.11/redis.conf    /data/redis700{0..4}/
[root@localhost ~]#sed  ‘s/6379/7000/g ’   /data/redis7000    ##修改五个配置文件

(2)启动redis
[root@localhost ~]#redis-server    /usr/local/redis-3.2.11/redis.conf 
[root@localhost ~]#redis-server       /data/redis7000/redis.conf                      #逐个启动  0-4多实例


 启动成功后 有cluster
(3)创建集群    (5.0以下 使用 redis-trib.rb  )
 redis-trib.rb  create --replicas 1 127.0.0.1:6379 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004


~~~~~~~~~~~~~~~~~~~~~~~~~~(在创建集群时会遇到报错 ruby)一般都为版本问题

报错

1.安装RVM来更新ruby

[root@localhost ~]#gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
在执行curl命令的时候有可能报错,无法在服务器使用curl命令访问https域名,原因是nss版本有点旧了,yum -y update nss更新一下,重新curl即可!
[root@localhost ~]#curl -sSL https://get.rvm.io | bash -s stable
[root@localhost ~]# find / -name rvm -print
[root@localhost]# source /usr/local/rvm/scripts/rvm  更新rvm库
[root@localhost]# rvm list known      查看rvm库版本
查看版本后选择自己需要使用得 (这里redis版本为3.2.11所以ruby版本必须在2.2.2以上)    本次下载的是 2.3.3
[root@localhost ~]#  rvm  install  2.3.3
[root@localhost ~]# rvm use 2.3.3     使用2.3.3版本  
[root@localhost ~]# rvm use 2.3.3 --default   设置默认版本
[root@localhost ~]# rvm remove 2.0.0    卸载之前的版本
[root@localhost ~]# ruby --version    查看版本
[root@localhost ~]# gem install redis   安装redis

搭建完成后可看见

在redis集群中 如果主节点down掉  从节点会自动替换为主节点
故障修复后得主节点会成为已经顶上的主节点得从节点。


如果集群已创建需要加入新节点   使用下列命令
[root@localhost ~]#redis-trib.rb add-node 127.0.0.1:7005  127.0.0.1:7000         #加入后为主节点

如果对加入的节点指定为某个的从节点 则需要执行如下命令
[root@localhost ~]# redis-cli  -c -p 7005 cluster replicate bb2c610db55745403aa1b6232da8de067285a639     #指定为某个的从节点

删除节点  如果是从节点可以直接删除

[root@localhost ~]# redis-trib.rb del-node nodeIP:port nodeID  

如果是主节点:直接删除会报错如下

需要将主节点的槽分配出去

 

[root@localhost ~]##redis-trib.rb reshard 127.0.0.1:7003

How many slots do you want to move (from 1 to 16384)1365    确认要分配出去的卡槽  

What is the receiving node ID    cfb28ef1deee4e0fa78da86abe5d24566744411e      输入你要分配到哪个节点的ID

Source node #1:40b8d09d44294d2e23c7c768efc8fcd153446746      输入你要删除哪个节点的ID

Source node #2:done                   确认删除

Do you want to proceed with the proposed reshard plan (yes/no) yes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值