redis之单机多节点集群

一、创建六个redis实例:

1.在/usr/local下创建redis_cluster目录

2.把redis目录下的bin目录下的所有文件复制到/usr/local/redis-cluster/redis01目录下

cp -r redis/bin/ redis-cluster/redis01

3.将redis.conf复制到bin目录下:

4.修改配置文件redis.

先复制一份配置文件到7001目录下

修改配置文件:

port 7001 //六个节点配置文件分别是7001-7006

daemonize yes  //redis后台运行

pidfile /var/run/redis_7001.pid  //pidfile文件对应7001-7006

cluster-enabled yes //开启集群

cluster-config-file nodes_7001.conf  //保存节点配置,自动创建,自动更新对应7001-7006

cluster-node-timeout 5000  //集群超时时间,节点超过这个时间没反应就断定宕机

appendonly yes //存储方式,aof,将写操作记录保存到日志中

bind 192.168.40.142

5.将redis-cluster/redis01文件复制5份到redis-cluster目录下(redis02-redis06),创建6个redis实例,模拟Redis集群的6个节点。然后将其余5个文件下的redis.conf里面的端口号分别修改为7002-7006。分别如下图所示:

启动六个节点的redis

 ./redis01/redis-server redis01/redis.conf

 ./redis02/redis-server redis02/redis.conf

 ./redis03/redis-server redis03/redis.conf

 ./redis04/redis-server redis04/redis.conf

 ./redis05/redis-server redis05/redis.conf

 ./redis06/redis-server redis06/redis.conf

查看redis进程:

表示创建成功

二、创建集群

1.安装ruby

redis官方提供了redis-trib.rb工具,第一步已经放到bin下:

但是在使用之前,需要安装ruby,以及redis和ruby连接

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

gem install redis   连接redis

连接redis时,遇到报错:

[root@localhost 7006]# gem install redis
YAML safe loading is not available. Please upgrade psych to a version that supports safe loading (>= 2.0).

Fetching: redis-4.1.4.gem (100%)
ERROR:  Error installing redis:
        redis requires Ruby version >= 2.3.0.

原因是ruby的版本太低,要求2.3.0以上

解决办法:

换yum源安装

~]# yum install centos-release-scl-rh    //会在/etc/yum.repos.d/目录下多出一个CentOS-SCLo-scl-rh.repo源

~]# yum install rh-ruby23  -y    //直接yum安装即可  

~]# scl  enable  rh-ruby23 bash    //必要一步

~]# ruby -v    //查看安装版本

再次连接redis,成功

上一步中已经把ruby工具所需要的运行环境和ruby包安装好了,注意5.0之后,不用redis-trib.rb创建集群

2.创建集群:

 ./redis-cli --cluster create --cluster-replicas 1 192.168.40.142:7001 192.168.40.142:7002 192.168.40.142:7003 192.168.40.142:7004 192.168.40.142:7005 192.168.40.142:7006

代表为每个创建的主服务器节点创建一个从服务器节点

三、验证集群:

1)连接任意一个客户端即可:

./redis-cli -c -a xxx -h 192.168.5.100 -p 8001

 提示:-a访问服务端密码,-c表示集群模式,指定ip地址和端口号

./redis-cli -c -h 192.168.40.142 -p 7001

连接7002的redis服务器,创建name

在7001中访问name:

重定向到了7002

2)进行验证: cluster info(查看集群信息)、cluster nodes(查看节点列表)

关闭集群中的一个主节点:

./redis-cli -a xxx -c -h 192.168.40.142 -p 7001 shutdown

 我们发现原来的从节点升为主节点

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis节点部署集群通常不被推荐,因为它的可扩展性和高可用性有限。要创建一个真正的Redis集群,你需要遵循以下步骤: 1. **安装和配置Redis**: 首先,你需要在每个节点上安装Redis,并配置为单机模式。确保每个实例都有唯一的实例ID。 2. **开启Redis集群模式**: 使用`redis-cli`命令行工具或者Redis的配置文件(`redis.conf`),将`cluster-enabled`设置为`yes`。在配置文件中,还需要设置其他关键参数,如`cluster-node-timeout`、`cluster-notify-timeout`等。 3. **节点发现机制**:Redis提供了几种节点发现方式: - `hash slots`:默认的节点分配方式,根据键的哈希值决定存储在哪个节点。 - `manual replication`:手动指定集群的拓扑结构。 4. **初始化集群**: 在第一个节点上运行`redis-cli`并执行`CLUSTER ADDSLOTS`命令,给每个节点分配一个或多个槽。然后,其他节点启动时会自动连接到已知的集群。 5. **节点间同步数据**: 在集群中,节点之间通过复制机制(REPL)来保持数据同步。每个节点都会备份其他部分节点的数据,以防主节点故障。 6. **监控和管理**: 可以使用Redis的`CLUSTER NODES`命令检查集群状态,`CLUSTER SLOTS`查看槽的分布情况。管理工具如`redis-cli`的`CLUSTER MEET`用于添加新节点。 7. **保护高可用**: 配置 Sentinel 作为Redis的高可用解决方案,Sentinel能够监控集群的健康状态并自动替换故障节点。 8. **测试和验证**: 最后,确保所有节点能正常通信和处理请求,通过客户端工具测试数据的正确分发和一致性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值