搭建Redis4.0.8集群

此次使用的环境是 : CentOS Linux release 7.5.1804 (Core)
使用的软件包:redis-4.0.8.tar.gz、redis-3.2.1.gem
主机准备

主机名IP地址端口备注
client192.168.4.50*client客户机
redis51192.168.4.516351redis服务器
redis52192.168.4.526352redis服务器
redis53192.168.4.536353redis服务器
redis54192.168.4.546354redis服务器
redis55192.168.4.556355redis服务器
redis56192.168.4.566356redis服务器
redis57192.168.4.57*redis管理机
redis58192.168.4.586358redis服务器
redis59192.168.4.596359redis服务器

一、搭建管理主机机

  1. 部署脚本运行环境 (使用ruby脚本管理集群)
]#  yum -y  install ruby
  1. 创建ruby脚本
]# gem install redis-3.2.1.gem
  1. 解压tar包
]#  tar -zxvf redis-4.0.8.tar.gz
  1. 进入redis-4.0.8文件夹内
]#  cd redis-4.0.8
  1. 创建管理集群脚本
]#  cp src/redis-trib.rb  /root/bin/
  1. 加执行权限
]#  chmod  +x   /root/bin/redis-trib.rb

二、创建6台redis服务器

  • 按要求准备好6台redis服务器
  • 修改好IP地址和端口号,IP地址(192.168.4.51~192.168.4.56)
  • 不需要设置密码、不能有任何数据)
  • 关闭selinux 和 firewalld
  • 搭建方法见我上一篇文章 点此快速跳转
  1. 启用每台redis 服务集群功能
]#  vim +815 /etc/redis/6379.conf

 815 cluster-enabled yes					#启动集群功能

 823 cluster-config-file nodes-6379.conf	#存储集群信息文件

 829 cluster-node-timeout 15000				#超时时间(单位毫秒)

三、创建redis集群

  1. 管理主机创建集群
]#  redis-trib.rb create --replicas 1 192.168.4.51:6351 192.168.4.52:6352 192.168.4.53:6353 192.168.4.54:6354 192.168.4.55:6355 192.168.4.56:6356
... ...
Can I set the above configuration? (type 'yes' to accept): yes		#输入yes 表示同意以上配置
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
  1. 在管理主机查看集群的统计信息
]#  redis-trib.rb  info 192.168.4.52:6352   #指定任意一台主机即可
  1. 在管理主机查看集群的详细信息
]#  redis-trib.rb  check 192.168.4.52:6352

四、测试redis集群

  1. 客户端访问集群中的任意一台redis服务存取数据
]#  redis-cli  -c  -h 192.168.4.53 -p 6353
192.168.4.53:6353> set name bob
-> Redirected to slot [5798] located at 192.168.4.52:6352
OK
192.168.4.51:6351> get name
-> Redirected to slot [5798] located at 192.168.4.52:6352
"bob"

五、管理redis集群

  • 按要求准备好2台redis服务器
  • 修改好IP地址和端口号,IP地址(192.168.4.58~192.168.4.59)
  • 不需要设置密码、不能有任何数据)
  • 关闭selinux 和 firewalld
  • 搭建方法见我上一篇文章 点此快速跳转
  1. 添加slave角色服务器(192.168.4.58)
  2. 在管理机把192.168.4.58添加到集群里做192.168.4.52的从数据库服务器
]#  redis-trib.rb add-node --slave 192.168.4.58:6358  192.168.4.52:6352
  1. 查看集群状态
]#  redis-trib.rb  info   192.168.4.52:6352
]#  redis-trib.rb  check  192.168.4.52:6352
  1. 移除slave 角色服务器(192.168.4.56)
]#  redis-trib.rb  check 192.168.4.56:6352   #查看要删除主机的id
S: 492fab7c991c72028956b3e9e8dbad48375c7e5a 192.168.4.56:6356
   slots: (0 slots) slave
   replicates 32d38c4dfae2f5a0eb5192386ac5d3282dbca134
]#  redis-trib.rb  del-node 192.168.4.56:6356   492fab7c991c72028956b3e9e8dbad48375c7e5a   #后面跟上id号
  1. 添加master角色服务器(192.168.4.59)
]# redis-trib.rb  add-node 192.168.4.59:6359 192.168.4.52:6352
  1. 查看集群详细信息
]# redis-trib.rb  详细信息 192.168.4.52:6352
  1. 移除master角色服务器(192.168.4.53)
  2. 先删除master服务器占用的hash槽
]#  redis-trib.rb  reshard 192.168.4.53:6353
How many slots do you want to move (from 1 to 16384)?4096   #移除4096个数槽
What is the receiving node ID?  bc5c4e082a5a3391b634cf433a6486c867cfc44b 
    #要移动给谁的id即目标主机(这里可以随机写一个master的ID)  
Source node #1: c5e0da48f335c46a2ec199faa99b830f537dd8a0
    #从谁那移动即源主机(这里写4.58的ID)  
Source node #2:done           #设置完毕
  1. 在管理机上移除master主机
]# redis-trib.rb del-node 192.168.4.53:6353  c5e0da48f335c46a2ec199faa99b830f537dd8a0   #删除的主机+id
  1. 查看集群信息
]# redis-trib.rb  info  192.168.4.52:6352
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值