隐藏页面特效

redis集群

4 redis集群概念

4.1 为什么需要用到集群

全量数据, 量很大,一台机器没有办法全部处理完,所以需要多台机器同时处理,才能达到我们想要的效果

就类似于一大车货物,通过5辆马车来运输

4.2 redis集群槽位概念

虚拟槽分区巧妙地使用了哈希空间,使用分散度良好的哈希函数把所有的数据映射到一个固定范围内的整数集合,整数定义为槽(slot)。

Redis Cluster槽的范围是0~16383。

槽是集群内数据管理和迁移的基本单位。采用大范围的槽的主要目的是为了方便数据的拆分和集群的扩展,

每个节点负责一定数量的槽。

4. redis集群配置

4.1 准备六个节点

cd /opt/jq vim redis-7000.conf vim redis-7001.conf vim redis-7002.conf vim redis-7003.conf vim redis-7004.conf vim redis-7005.conf

写入配置

port 7000 daemonize yes dir "/data/jq/7000" logfile "7000.log" dbfilename "dump-7000.rdb" cluster-enabled yes cluster-config-file nodes-7000.conf

这6个节点配置文件都一样,仅仅是端口的不同

[root@qishi666 jq]# sed "s/7000/7001/g" redis-7000.conf > redis-7001.conf [root@qishi666 jq]# sed "s/7000/7002/g" redis-7000.conf > redis-7002.conf [root@qishi666 jq]# sed "s/7000/7003/g" redis-7000.conf > redis-7003.conf [root@qishi666 jq]# sed "s/7000/7004/g" redis-7000.conf > redis-7004.conf [root@qishi666 jq]# sed "s/7000/7005/g" redis-7000.conf > redis-7005.conf

创建这六个节点的文件目录

mkdir -p /data/jq/{7000,7001,7002,7003,7004,7005}

4.2 启动这六个节点

cd /opt/jq redis-server redis-7000.conf redis-server redis-7001.conf redis-server redis-7002.conf redis-server redis-7003.conf redis-server redis-7004.conf redis-server redis-7005.conf

4.3 随便进入一个redis交互模式,写入数据,发现无法写入

报错,没有分配哈希槽

4.4 准备ruby环境,安装ruby并执行redis-trib.rb脚本

分配redis集群状态,以及槽位分配,互联网企业,豆瓣公司开源的一个工具

1 下载、编译、安装Ruby

# 下载ruby wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz # 安装ruby tar -xvf ruby-2.3.1.tar.gz cd ruby-2.3.1/ ./configure --prefix=/opt/ruby/ make && make install

4.5 配置ruby环境

4.5.1 配置ruby环境变量
vim /etc/profile

在PATH=后面添加ruby的环境变量路径

PATH=/opt/ruby/bin:/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
4.5.2 安装rubygem redis
wget http://rubygems.org/downloads/redis-3.3.0.gem
4.5.3 使用gem安装redis-3.3.0.gem工具
gem install -l redis-3.3.0.gem
4.5.4 安装redis-trib.rb命令

当然,这一步并不是必须的,你可以找到redis的安装目录/opt/redis/src下,去执行这个脚本

cp /opt/redis/src/redis-trib.rb /usr/local/bin/

4.6 安装ruby gem 包管理工具

4.6.1 下载gem包
wget http://rubygems.org/downloads/redis-3.3.0.gem
4.6.2 安装
gem install -l redis-3.3.0.gem

4.7 一键开启redis-cluster集群

4.7.1 一条命令开启集群
redis-cli --cluster create --cluster-replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 # 每个主节点,有一个从节点,代表--replicas 1 # 集群自动分配主从关系 7000、7001、7002为主 7003、7004、7005为从
4.7.2 查看集群状态


4.8 进入集群状态

redis-cli -p 7000 -c

__EOF__

本文作者404 Not Found
本文链接https://www.cnblogs.com/weiweivip666/p/13917209.html
关于博主:可能又在睡觉
版权声明:转载请注明出处
声援博主:如果看到我睡觉请喊我去学习
posted @   我在路上回头看  阅读(160)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示