Redis Cluster安装配置

本文详细介绍如何从源码编译安装Redis,并逐步引导创建一个包含六个节点的Redis集群,包括配置修改、实例启动、Ruby环境安装及集群构建命令等关键步骤。
1、源码编译
make
make install PREFIX=/home/hadoop/redis-3.2.11

2、创建集群需要的目录
mkdir cluster
cd cluster
mkdir 7000 7001 7002 7003 7004 7005

3、修改配置文件
cp redis.conf ./cluster/
##修改配置文件中的下面选项
port 7000
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
##修改完 redis.conf 配置文件中的这些配置项之后把这个配置文件分别拷贝到
7000/7001/7002/7003/7004/7005 目录下面
##注意:拷贝完成之后要修改 7001/7002/7003/7004/7005 目录下面 redis.conf
文件中的 port 参数,分别改为对应的文件夹的名称

4、分别启动6个实例
cd $REDIS_HOME/cluster
cd 7000;../../bin/redis-server redis.conf
cd 7001;../../bin/redis-server redis.conf
cd 7002;../../bin/redis-server redis.conf
cd 7003;../../bin/redis-server redis.conf
cd 7004;../../bin/redis-server redis.conf
cd 7005;../../bin/redis-server redis.conf

5、安装ruby环境(保障主机可以联网)
yum install ruby
yum install rubygems

6、安装redis-trib.rb运行依赖的ruby的包redis-3.3.0.gem
gem install redis-3.3.0.gem

7、使用redis-trib.rb创建集群(自动分配slot)
./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
#redis-trib.rb 的 create 子命令构建
#--replicas 则指定了为 Redis Cluster 中的每个 Master 节点配备几个 Slave 节点
#节点角色由顺序决定,先 master 之后是 slave

8、测试
1、检查集群状态
./redis-trib.rb check 127.0.0.1:7000
### 如何配置 Redis Cluster 集群 #### 创建多个实例 为了创建一个功能齐全的 Redis Cluster,至少需要六个节点(三个主节点和三个从节点)。每个节点都是独立运行的一个 `redis-server` 实例。可以通过命令行启动这些服务,并指定不同的端口号来区分各个实例。 ```bash $ redis-server /path/to/node_7001.conf $ redis-server /path/to/node_7002.conf ... ``` 每台服务器都需要有自己的配置文件,在其中设置如下参数[^2]: - port:定义监听端口; - cluster-enabled yes:启用集群模式; - cluster-config-file nodes-{port}.conf:保存集群状态到磁盘上的文件名模板; - cluster-node-timeout 5000:超时时间设定; #### 初始化集群 当所有的 Redis 进程都已成功启动之后,则可以利用官方提供的工具 `redis-cli --cluster create ...` 来初始化这个新的集群环境。此过程会自动分配键空间给各成员并建立连接关系图谱。 ```bash $ redis-cli --cluster create \ 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 127.0.0.1:7006 \ --replicas 1 ``` 上述命令指定了六台机器参与构建集群,并且为每一个主节点指派了一个对应的副本节点。 #### 数据分片策略 Redis Cluster 使用了一种称为“虚拟槽”的机制来进行数据划分。整个键空间被切分成 16384 个槽位 (slot),而每个键都会通过 CRC16 算法计算得到对应编号范围内的某个具体位置。这样做的好处是可以让不同类型的对象均匀分布在多台设备之间,从而实现负载均衡的效果[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值