设为首页 收藏本站
查看: 534|回复: 0

[经验分享] Redis集群分片环境部署

[复制链接]

尚未签到

发表于 2018-11-2 09:01:09 | 显示全部楼层 |阅读模式
原理
  集群技术是构建高并发网站的主要技术,访问网站的最大压力是在访问某个页面时,需要时查询数据库并相应,Redis从3.0版本以后开始支持集群功能了,要让集群正常工作至少得有三个主节点。
  Redis集群是基于哈希槽(hash slot)的概念来实现的,redis只集成了16384个槽,当在redis中放置一个KYE的时候,redis会通过对这个KEY用crc16算法算出一个值,然后将这个值对16383求余,这样每个KEY都会对应一个编号在0-16383间,redis会根据节点的数量将哈希槽分配到不同的节点。
  当要取这个某一个KEY的值的时候,redis会通过要获取的KYE名,通过crc16算出一个值,然后和16383求余,通过余找到相应的节点,再在这个节点上找这个KEY值。
  Redis延续了读写分离的特性,每个主节点都会有一个从节点,从节点也可以有从节点。
  主节点负责写入,从节点负责读取内存中的数据.
  Node与Node互相监听,一旦有Node退出,其他几个Node会自动均分退出Node的slot,
  他们自己的slot不会被重新分配,所有并不影响其他slot的使用
DSC0000.jpg


环境
  三台机器一台机器可以用多个端口开多个redis

192.168.123.160:6379
192.168.123.160:6380
192.168.123.170:6379
192.168.123.170:6380
192.168.123.180:6379
192.168.123.180:6380  Redis安装包里自带有redis集群工具
  集群工具需要的安装包
  zlib-1.2.8.tar.gz      http://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz
  ruby-2.2.9.tar.gz   https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.9.tar.gz
  rubygems-2.5.1.tgz  https://rubygems.global.ssl.fastly.net/rubygems/rubygems-2.5.1.tgz
  redis-3.2.2.gem https://rubygems.global.ssl.fastly.net/gems/redis-3.2.2.gem
  redis-3.2.3.tar.gz  http://download.redis.io/releases/redis-3.2.3.tar.gz

配置
  安装zlib
  

gunzip zlib-1.2.8.tar.gz  
tar -xvf zlib-1.2.8.tar
  
cd zlib-1.2.8
  
./configure
  
make
  
make install
  

  安装ruby
  因为yum安装的版本较低,不支持高版本的redis集群,所有我们使用高版本的
  

tar -zxvf ruby-2.2.9.tar.gz  
cd ruby-2.2.4
  
./configure -prefix=/usr/local/ruby
  
make
  
maek install
  
cp ruby /bin
  

  安装rubygems
  

tar -zxvf rubygems-2.5.1.tgz  
cd rubygems-2.5.1
  
ruby setup.rb
  
cp bin/gem /bin
  

  安装gem-redis
  

gem install -l redis-3.2.2.gem  

  redis( 在这3台服务器都需要安装
  

tar -zxvf redis-3.2.3.tar.gz  
cd redis-3.2.3
  
make
  

  redis的配置文件
  redis.conf 需要修改的地方
  

bind 0.0.0.0                 #redis服务监听的地址,测试改为本地地址会好点  
port 6379                   #启动端口,如果是redis-6380.conf配置文件,修改为6380
  
daemonize yes                                #修改为yes,让redis在后台运行
  
pidfile /var/run/redis_6379.pid      #如果是redis-6380.conf配置文件,修改位redis_6380.pid
  
logfile /usr/local/redis/logs/redis-6379.log     #如果是redis-6380.conf配置文件,修改为redis_6380.pid
  
cluster-enabled yes   #开启集群
  
cluster-config-file nodes-51-6379.conf     #如果是redis-6380.conf配置文件,修改为nodes-51-6380.conf
  

  redis集群
  

复制源码包里的工具  
cp src/redis-server /usr/local/redis/
  
cp src/redis-cli /usr/local/redis
  
cp src/redis-trib.rb /usr/local/redis
  

  启动redis,并创建集群
  

redis-server redis.conf #每台机器上都要启动,单个机器多个redis要多个配置文件  
redis-trib.rb create –replicas 1 192.168.123.160:6379 192.168.123.160:6380 192.168.123.170:6379 192.168.123.170:6380 192.168.123.180:6379 192.168.123.180:6380 #创建集群
  

  然后输入yes就可以了
DSC0001.jpg

  查看集群节点
  

redis-trib.rb check 192.168.123.160:6379  

DSC0002.jpg

  出现以上信息,说明集群安装成功



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-629637-1-1.html 上篇帖子: Redis的集群(搭建) 下篇帖子: Redis Cluster--安装配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表