redis群集
admin
2023-04-07 21:42:34
0

 

Redis群集

 
Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存。Redis 在3.0版本前只支持单实例模式,虽然支持主从模式、哨兵模式部署来解决单点故障,但是现在互联网企业动辄大几百G的数据,可完全是没法满足业务的需求,所以,Redis 在 3.0 版本以后就推出了集群模式。
 
GB < TB < PB
--- 
Redis 集群采用了P2P的模式,完全去中心化。Redis 把所有的 Key 分成了 16384 个 slot,每个 Redis 实例负责其中一部分 slot 。集群中的所有信息(节点、端口、slot等),都通过节点之间定期的数据交换而更新。
 
Redis 客户端可以在任意一个 Redis 实例发出请求,如果所需数据不在该实例中,通过重定向命令引导客户端访问所需的实例。
 
 
Redis 集群搭建规划,由于集群至少需要6个节点(3主3从模式),
计划是在一台机器上模拟一个集群, 这和生产环境的集群搭建没本质区别
 

 
(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.
 
  (2)节点的fail是通过集群中超过半数的节点检测失效时才生效.
 
  (3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
 
 
创建多节点
 
cluster集群 HA高可用
先源码装一个redis

 
创建实例目录

mkdir /etc/redis-cluster
cd /etc/redis-cluster
mkdir -p 6379/data 6380/data 6381/data 6382/data 6383/data 6384/data
 

redis群集

复制执行脚本

mkdir /etc/redis-cluster/bin
cd /opt/redis-5.0.0/src/
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server redis-trib.rb /etc/redis-cluster/bin

 
复制一个新 Redis 实例

cp /etc/redis/* /etc/redis-cluster/6379
vi /etc/redis-cluster/6379/redis.conf
    port 6379(每个节点的端口号)
    daemonize yes
    bind 192.168.86.130(绑定当前机器 IP)
    dir "/etc/redis-cluster/6379/data/"(数据文件存放位置)
    pidfile /var/run/redis_6379.pid(pid 6379和port要对应)
    cluster-enabled yes(启动集群模式)
    cluster-config-file nodes6379.conf(6379和port要对应)
    cluster-node-timeout 15000
    appendonly yes

 
\cp -rf 命令是不使用别名来复制

cp -rf /etc/redis-cluster/6379/*  /etc/redis-cluster/6380
cp -rf  /etc/redis-cluster/6379/*  /etc/redis-cluster/6381
cp -rf  /etc/redis-cluster/6379/*  /etc/redis-cluster/6382
cp -rf  /etc/redis-cluster/6379/*  /etc/redis-cluster/6383
cp -rf  /etc/redis-cluster/6379/*  /etc/redis-cluster/6384

 
分别修改6380 、6381、6382、6383、6384节点配置文件

vi /etc/redis-cluster/6380/redis.conf
:%s/6379/6380/g       //文本内使用全局替换
vi /etc/redis-cluster/6381/redis.conf
:%s/6379/6381/g       //文本内使用全局替换
vi /etc/redis-cluster/6382redis.conf
:%s/6379/6382g       //文本内使用全局替换
vi /etc/redis-cluster/6383redis.conf
:%s/6379/6383g       //文本内使用全局替换
vi /etc/redis-cluster/6384redis.conf
:%s/6379/6384g       //文本内使用全局替换

 
开启所有节点服务(&是后台运行)

for i in 79 80 81 82 83 84
do
redis-server /etc/redis-cluster/63$i/redis.conf & done

 
登录随便一个节点验证 确认节点服务可以正常登陆

redis-cli -h 192.168.80.100 -p 6379

 
安装群集需要的 ruby环境
由于 Redis 集群需要使用 ruby 命令,所以我们需要安装 ruby 和相关接口。

yum -y install ruby ruby-devel rubygems rpm-build

 redis群集
升级ruby版本

gem sources -a http://mirrors.aliyun.com/rubygems/ 

redis群集
添加aliyun镜像并检测Ruby版本
 
安装RAM
 
(Ruby Version Manager )是一款RAM的命令行工具,可以使用RAM轻松安装,管理Ruby版本。RVM包含了Ruby的版本管理和Gem库管理(gemset)
 

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

curl -sSL https://get.rvm.io | bash -s stable
 
source /etc/profile.d/rvm.

redis群集
 redis群集
查看Ruby版本:
 
rvm list known
 
 
安装Ruby,从上面查到的信息随便找一个比2.2.2版本要高的就行:
 
rvm install 2.6

redis群集
 
用 gem 这个命令来安装 redis接口 gem是ruby的一个工具包

gem install redis   

 redis群集
 
安装完成ruby环境 执行下面命令确认是否正常

redis-trib.rb

 
创建群集
简单解释一下这个命令:调用 ruby 命令来进行创建集群,--replicas 1 表示主从复制比例为 1:1,即一个主节点对应一个从节点;然后,默认给我们分配好了每个主节点和对应从节点服务,以及 solt 的大小,因为在 Redis 集群中有且仅有 16383 个 solt ,默认情况会给我们平均分配,当然你可以指定,后续的增减节点也可以重新分配。


./redis-trib.rb create --replicas 1 192.168.80.100:6379 192.168.80.100:6380 192.168.80.100:6381 192.168.80.100:6382 192.168.80.100:6383 192.168.80.100:6384
(yes)

 redis群集

redis-cli --cluster create 192.168.80.100:6379 192.168.80.100:6380 192.168.80.100:6381 192.168.80.100:6382 192.168.80.100:6383 192.168.80.100:6384 --cluster-replicas 1

redis群集
验证
通过客户端命令连接上,通过集群命令看一下状态和节点信息等。

/usr/local/redis-cluster/bin/redis-cli -c -h 192.168.80.100 -p 6379   //登录
        192.168.86.130:6379> cluster info            //查看状态
        192.168.86.130:6379> cluster nodes      //查看节点信息

redis群集

相关内容

热门资讯

乌克兰总统办公室前主任被控涉嫌... △乌克兰总统办公室前主任叶尔马克(资料图)当地时间11日,乌克兰国家反腐败局和特别反腐败检察院表示,...
你的蓝牙耳机正在 “偷听”?国... 在科技飞速发展的当下,无线耳机、智能手表、无线键盘等蓝牙设备凭借“一键连接”带来的便捷优势,已广泛应...
光洋股份:公司立足成为最懂制造... 证券日报网5月11日讯 ,光洋股份在接受调研者提问时表示,公司近年来加快布局机器人领域,立足成为最懂...
重庆拟投千亿培育沉浸式与虚拟现... 🤖 由 文心大模型 生成的文章摘要 重庆市发布“十五五”现代服务业发展规划,明确投入1 重庆市发...
内存缩水开倒车!谷歌Pixel... 5月11日消息,据相关媒体报道,受全球DRAM供应紧缺影响,谷歌即将推出的Pixel 11系列在内存...
伊朗议长:“14点提案”无可替... 当地时间12日凌晨,伊朗议会议长卡利巴夫在社交平台上发布消息称,除了接受伊朗“14点提案”中所规定的...
交付巴基斯坦的“麒麟”级潜艇战... ‍‍近日,在国防部举行的例行消息发布中有媒体提到,中方为巴基斯坦建造的“麒麟”级常规动力潜艇首艇已经...
伊朗官员:伊美就浓缩铀处置方式... 当地时间11日,总台记者获悉,一名伊朗官员称,伊朗与美国之间的谈判在浓缩铀的处置、暂停铀浓缩活动期限...
沈阳添新地标!超级IP“巨虎东... 万众期待,神兽归沈! 5月10日,沈阳专属超级文旅IP“巨虎东东”圆满完成交付唤醒仪式,正式启程奔赴...
虹软科技:暗光增强等算法已应用... 来源:市场投研资讯 (来源:财闻) 公司前瞻把握AI眼镜作为新一代AI交互入口的战略机遇,凭借深厚的...