转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426
一、准备redis(下载、编译、安装、配置目录、数据目录)
1. 下载、编译、安装
cd /opt/soft wget http://download.redis.io/releases/redis-3.0.3.tar.gz tar xzf redis-3.0.3.tar.gz cd redis-3.0.3 make make install
2. 配置目录、数据目录
cd /opt/soft/redis-3.0.3 mkdir -p data mkdir -p conf
3.建立软链接:
ln -s /opt/soft/redis-3.0.3 /opt/soft/redis
二、配置、启动Redis节点(本例子以3主、3从组成Redis-Cluster)
(1) 配置redis节点,在conf目录下添加6个(7000-7005)redis-${port}.conf作为6个节点的配置文件
其中7000-7005是六个端口号
port 7000 cluster-enabled yes cluster-config-file nodes-7000.conf cluster-node-timeout 5000 dir "/opt/soft/redis/data/" appendonly yes appendfilename "appendonly-7000.aof" daemonize yes
生成另外5个文件
sed 's/7000/7001/g' redis-7000.conf > redis-7001.conf sed 's/7000/7002/g' redis-7000.conf > redis-7002.conf sed 's/7000/7003/g' redis-7000.conf > redis-7003.conf sed 's/7000/7004/g' redis-7000.conf > redis-7004.conf sed 's/7000/7005/g' redis-7000.conf > redis-7005.conf
(2) 启动6个节点。
redis-server /opt/soft/redis/conf/redis-7000.conf redis-server /opt/soft/redis/conf/redis-7001.conf redis-server /opt/soft/redis/conf/redis-7002.conf redis-server /opt/soft/redis/conf/redis-7003.conf redis-server /opt/soft/redis/conf/redis-7004.conf redis-server /opt/soft/redis/conf/redis-7005.conf
查看节点是否都已经启动:
[@zw_53_162 conf]# [@zw_53_162 conf]# ps -ef | grep redis root 26007 1 0 21:56 ? 00:00:00 redis-server *:7000 [cluster] root 26011 1 0 21:56 ? 00:00:00 redis-server *:7001 [cluster] root 26019 1 0 21:56 ? 00:00:00 redis-server *:7002 [cluster] root 26023 1 0 21:56 ? 00:00:00 redis-server *:7003 [cluster] root 26033 1 0 21:56 ? 00:00:00 redis-server *:7004 [cluster] root 26047 1 0 21:56 ? 00:00:00 redis-server *:7005 [cluster]
查看单个节点:(此时六个节点是分散的,没有形成集群,所有cluster_state=fail)
[@zw_53_162 conf]# redis-cli -c -p 7000 127.0.0.1:7000> cluster info cluster_state:fail cluster_slots_assigned:0 cluster_slots_ok:0 cluster_slots_pfail:0 cluster_slots_fail:0 cluster_known_nodes:1 cluster_size:0 cluster_current_epoch:0 cluster_my_epoch:0 cluster_stats_messages_sent:0 cluster_stats_messages_received:0
三、使用Redis-Cluster的Ruby工具完成集群的搭建:
/opt/soft/redis/src/redis-trib.rb create --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
安装信息:
>>> Creating cluster # ping所有节点,如果有一个不OK,安装就结束了。 Connecting to node 127.0.0.1:7000: OK Connecting to node 127.0.0.1:7001: OK Connecting to node 127.0.0.1:7002: OK Connecting to node 127.0.0.1:7003: OK Connecting to node 127.0.0.1:7004: OK Connecting to node 127.0.0.1:7005: OK # 主从节点确认 >>> Performing hash slots allocation on 6 nodes... Using 3 masters: 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 Adding replica 127.0.0.1:7003 to 127.0.0.1:7000 Adding replica 127.0.0.1:7004 to 127.0.0.1:7001 Adding replica 127.0.0.1:7005 to 127.0.0.1:7002 M: 11e6c12da2521b1877c93cf64437af23b21889b3 127.0.0.1:7000 slots:0-5460 (5461 slots) master M: cee69d4f42bce422e864e0324679f1fbf7506dba 127.0.0.1:7001 slots:5461-10922 (5462 slots) master M: 32ff9de3a4bcdc9423fdf269b0d1588d50fd18e3 127.0.0.1:7002 slots:10923-16383 (5461 slots) master S: 0e5d897a3be6033ef6733fc37a974124e9e89cc8 127.0.0.1:7003 replicates 11e6c12da2521b1877c93cf64437af23b21889b3 S: b294779edee369c669c44848d71d599c42a0bfe8 127.0.0.1:7004 replicates cee69d4f42bce422e864e0324679f1fbf7506dba S: f57f64229b6a7501d42bd70192eec4acd56422d6 127.0.0.1:7005 replicates 32ff9de3a4bcdc9423fdf269b0d1588d50fd18e3 Can I set the above configuration? (type 'yes' to accept): yes(人工确认安装是否成功) #meet >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join.. >>> Performing Cluster Check (using node 127.0.0.1:7000) #分配slots M: 11e6c12da2521b1877c93cf64437af23b21889b3 127.0.0.1:7000 slots:0-5460 (5461 slots) master M: cee69d4f42bce422e864e0324679f1fbf7506dba 127.0.0.1:7001 slots:5461-10922 (5462 slots) master M: 32ff9de3a4bcdc9423fdf269b0d1588d50fd18e3 127.0.0.1:7002 slots:10923-16383 (5461 slots) master M: 0e5d897a3be6033ef6733fc37a974124e9e89cc8 127.0.0.1:7003 slots: (0 slots) master replicates 11e6c12da2521b1877c93cf64437af23b21889b3 M: b294779edee369c669c44848d71d599c42a0bfe8 127.0.0.1:7004 slots: (0 slots) master replicates cee69d4f42bce422e864e0324679f1fbf7506dba M: f57f64229b6a7501d42bd70192eec4acd56422d6 127.0.0.1:7005 slots: (0 slots) master replicates 32ff9de3a4bcdc9423fdf269b0d1588d50fd18e3 [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
确认集群是否安装成功:
[@zw_53_162 redis]# redis-cli -c -p 7000 127.0.0.1:7000> cluster info cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_slots_pfail:0 cluster_slots_fail:0 cluster_known_nodes:6 cluster_size:3 cluster_current_epoch:6 cluster_my_epoch:1 cluster_stats_messages_sent:985 cluster_stats_messages_received:985
查看slots使用情况:
127.0.0.1:7000> cluster slots 1) 1) (integer) 5461 2) (integer) 10922 3) 1) "127.0.0.1" 2) (integer) 7001 4) 1) "127.0.0.1" 2) (integer) 7004 2) 1) (integer) 10923 2) (integer) 16383 3) 1) "127.0.0.1" 2) (integer) 7002 4) 1) "127.0.0.1" 2) (integer) 7005 3) 1) (integer) 0 2) (integer) 5460 3) 1) "127.0.0.1" 2) (integer) 7000 4) 1) "127.0.0.1" 2) (integer) 7003
四、完整安装视频:
见附件。
相关推荐
在进行Redis-Cluster实战之前,首要任务是正确安装并配置所有必要的组件,其中包括Ruby的安装。Ruby在这里的作用是作为创建和管理Redis-Cluster的工具,因为官方的`redis-trib.rb`脚本就是用Ruby编写的。 首先,让...
综上所述,"redis-cluster和spring集成,基于cache注解" 的项目是一个使用 Spring Cache 集成 Redis 集群的实例,旨在通过注解的方式简化缓存管理,提高应用性能。开发者可以通过导入提供的项目,快速了解和实践这一...
此外,Redis Cluster提供了分布式解决方案,可以在多台服务器上分发数据,提高系统的扩展性和容错性。配置集群需要理解slot的概念,以及如何手动或自动迁移数据。 总的来说,Redis是一个功能强大的工具,不仅适用于...
Redis Cluster是Redis官方提供的分布式解决方案,它通过将数据分片(sharding)到多个节点来实现高可用性和可扩展性。在本实战栗子中,我们将深入探讨如何搭建Redis Cluster,学习其基本概念、操作指令以及如何处理...
在"redis实战-redis-action.zip"这个压缩包中,很可能是包含了一个关于Redis实际应用的项目或教程,名为"redis-action-master"。在这个项目中,我们可以学习到关于Redis的多个核心概念和操作,以及如何在实际开发中...
《Redis集群数据迁移实战指南》 在IT领域,数据迁移是一项关键任务,特别是在使用Redis这样的高性能内存数据库时。本文将详细介绍如何进行Redis集群的数据迁移,包括全量和增量数据迁移,以及离线迁移的方法,主要...
- **编译与安装**:如何在Linux环境下从源码编译安装Redis 6.2.3。 - **启动与停止服务**:掌握`systemd`或`init.d`脚本管理Redis服务。 - **守护进程化**:将Redis运行在后台,并设置开机自启。 9. **实战应用*...
Redis实战(golang)-redis-in-action 是一个关于如何在Golang编程语言中使用Redis的实战教程。Redis,一个开源的、基于键值对的数据存储系统,被广泛应用于缓存、消息队列、数据持久化等多个场景。Golang,由于其...
### Redis 学习与实战应用 #### 一、Redis 概述 Redis 是一款非常流行的非关系型(NoSQL)数据库。它不仅提供了快速的数据访问速度,还支持数据的持久化,使其成为许多应用场景下的首选。 ##### 1.1 NoSQL 数据库...
在本项目中,你将有机会实践如何安装和配置Redis,创建和操作数据,设置持久化,实现主从复制,甚至搭建Redis集群。同时,你还可以探索Redis在缓存、计数器、排行榜、聊天系统等多种应用场景中的具体实现。 通过这...
Redis从入门到精通2024版 视频教程 下载 ├─第 01 章 开篇 │ 001.Redis 录制计划.mp4 │ 002.Redis 介绍.mp4 │ 003.Redis 安装.mp4 │ ├─第 02 章 基本数据类型 │ 01.在后台启动 Redis.mp4 │ 02....
《Redis实战》是一本深入探讨Redis数据库应用的书籍,旨在帮助读者掌握如何高效地使用Redis进行数据存储和处理。Redis,全称为Remote Dictionary Server,是一个开源的、支持网络的、键值对存储系统,常被用作数据库...
Redis从入门到高可用 分布式实战教程,共140多节课程、 掌握redis主从、哨兵、集群 ,参数调优 目录: 9-9 原生安装-1.准备节点.mp4 9-8 原生安装.mp4 9-7 基本架构.mp4 9-6 虚拟槽哈希分布.mp4 9-5 一致性...
4. **验证集群状态**:通过`redis-cli`连接任意节点,执行`CLUSTER INFO`命令查看集群状态。 **三、Redis集群数据分布策略** 槽分配策略是基于键的哈希值,使用CRC16算法计算出哈希值,然后对16384取模得到槽号。...
《Redis实战项目——Heima-Review深度解析》 Redis,全称Remote Dictionary Server,是一款开源、高性能、基于键值对的内存数据存储系统。作为NoSQL数据库中的重要成员,Redis以其高速读写能力和丰富的数据结构支持...
redis4.0.10-cluster集群模式docker部署-详细文档
Redis Cluster是官方提供的分布式解决方案,它通过分片(Sharding)将数据分散到多个节点,实现了数据的自动路由和故障转移。然而,配置和管理集群有一定的复杂性,需要理解槽的概念以及节点间的通信机制。 此外,...
Redis从入门到精通2024版 视频教程 下载 ├─第 01 章 开篇 │ 001.Redis 录制计划.mp4 │ 002.Redis 介绍.mp4 │ 003.Redis 安装.mp4 │ ├─第 02 章 基本数据类型 │ 01.在后台启动 Redis.mp4 │ 02....
Redis从入门到精通2024版 视频教程 下载 ├─第 01 章 开篇 │ 001.Redis 录制计划.mp4 │ 002.Redis 介绍.mp4 │ 003.Redis 安装.mp4 │ ├─第 02 章 基本数据类型 │ 01.在后台启动 Redis.mp4 │ 02....