Redis集群分片环境部署
admin
2023-02-07 14:20:02
0

原理

集群技术是构建高并发网站的主要技术,访问网站的最大压力是在访问某个页面时,需要时查询数据库并相应,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的使用
Redis集群分片环境部署

环境

三台机器一台机器可以用多个端口开多个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就可以了
Redis集群分片环境部署
查看集群节点

redis-trib.rb check 192.168.123.160:6379

Redis集群分片环境部署
出现以上信息,说明集群安装成功

相关内容

热门资讯

玩家攻略科普“牛魔王牛牛开挂神... 有 亲,根据资深记者爆料牛魔王牛牛是可以开挂的,确实有挂(咨询软件无需打...
今日重大发现“云南山水麻将辅助... 网上科普关于“云南山水麻将有没有挂”话题很是火热,小编也是针对云南山水麻将作*弊开挂的方法以及开挂对...
今日重大消息“神皇牛牛真的有挂... 您好:神皇牛牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游戏...
重磅消息“越记乡游到底有挂吗?... 有 亲,根据资深记者爆料越记乡游是可以开挂的,确实有挂(咨询软件无需打开...
今日重大通报“新大圣大厅怎么装... 家人们!今天小编来为大家解答新大圣大厅透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买...
俄乌的新“暗战”:谁能说服特朗... 澎湃新闻记者 南博一俄罗斯与乌克兰两国来到了谈判的关键节点,而如何争相影响美国总统特朗普对这场冲突的...
泰国释放18名被扣押了155天... 当地时间12月31日10时许,泰国军方在柬泰边境的拜林省边境口岸释放了此前扣押的18名柬埔寨士兵。这...
终于明白“道游联盟真的有挂吗?... 家人们!今天小编来为大家解答道游联盟透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买很...
我来教教您“腾威互娱怎么装挂?... 您好:腾威互娱这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏...
最新引进“十三十三水经典比鸡辅... 家人们!今天小编来为大家解答十三十三水经典比鸡透视挂怎么安装这个问题咨询软件客服徽9752949的挂...