千家信息网

Redis集群分片环境部署

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,原理集群技术是构建高并发网站的主要技术,访问网站的最大压力是在访问某个页面时,需要时查询数据库并相应,Redis从3.0版本以后开始支持集群功能了,要让集群正常工作至少得有三个主节点。Redis集群是
千家信息网最后更新 2025年02月01日Redis集群分片环境部署

原理

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

192.168.123.160:6379192.168.123.160:6380
192.168.123.170:6379192.168.123.170:6380
192.168.123.180:6379192.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.gztar -xvf zlib-1.2.8.tarcd zlib-1.2.8./configuremakemake install

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

tar -zxvf ruby-2.2.9.tar.gzcd ruby-2.2.4./configure -prefix=/usr/local/rubymakemaek install cp ruby /bin

安装rubygems

tar -zxvf rubygems-2.5.1.tgzcd rubygems-2.5.1ruby setup.rbcp bin/gem /bin

安装gem-redis

gem install -l redis-3.2.2.gem

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

tar -zxvf redis-3.2.3.tar.gzcd redis-3.2.3make

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

bind 0.0.0.0                 #redis服务监听的地址,测试改为本地地址会好点port 6379                   #启动端口,如果是redis-6380.conf配置文件,修改为6380daemonize yes                                #修改为yes,让redis在后台运行pidfile /var/run/redis_6379.pid      #如果是redis-6380.conf配置文件,修改位redis_6380.pidlogfile /usr/local/redis/logs/redis-6379.log     #如果是redis-6380.conf配置文件,修改为redis_6380.pidcluster-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/rediscp 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-trib.rb check 192.168.123.160:6379


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

集群 节点 配置 文件 多个 机器 版本 工具 地址 技术 数据 时候 端口 网站 哈希 分配 支持 服务 监听 环境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 自由幻想服务器 甘肃税务网络安全宣传周 传奇世界db数据库是随机的吗 中国网络安全市场万亿 无锡进口服务器应用范围 华中科技大学网络安全学院的复试 漯河bim软件开发工程师 艺涵网络技术有限公司 软件开发部署项目流程 天津红桥区网络安全设备厂家 大鑫鑫网络技术服务工作室 黑盒测试网络安全 网络技术vip未来教育 凤鸣轩小说软件开发 网络安全和数据隐私培训 奇游棋牌游戏软件开发 服务器托管机房 中国电信 网络安全运营工程师怎么样 达梦数据库如何删除所有表的数据 软件开发公司的宣传手册 网络安全协会会长什么人 无线网络技术与智能家居 网络安全小学活动总结 服务器最强芯片 福安餐饮软件开发 衡水酒吧移动点餐软件开发 网络安全培训组织方案设计 网络安全学习的方法 简要说明金融数据库的选择标准 南宁网络技术有限公司
0