redis集群
来源:互联网 发布:采购流程及优化 编辑:程序博客网 时间:2024/05/22 05:28
首先安装redis:
make&&make install
cp src/redis-trib.rb/usr/local/redis/redis-cluster
cd /usr/local/redis/redis-cluster
mkdir 7000 7001 7002 7003 7004 7005
把redis配置文件分别拷贝到7000—7005目录下
修改下面内容:
port 7000 改成每个redis实例自己的端口
bind 本机ip
daemonize yes 设置为守护进程
pidfile /var/run/redis_7000.pid 改成自己相应的名字
cluster-enabled yes 开启集群
cluster-config-file nodes_7000.conf 集群的配置文件
cluster-node-timeout 15000 集群请求超时时间
appendonlyyes 开启aof持久化
根据不同的配置文件,依次启动不同的redis实例
安装ruby
去ruby官网下载安装包,然后安装
解压后:
./configure
make
make install
然后去下载redis-4.0.1.gem,自己选择版本
https://rubygems.org/gems/redis/网址
gem install -l redis-4.0.1.gem
若gem指令出错,自己百度,一般是ruby安装过程出错,会有..will not be intalled 这些提示。主要是linux环境有问题,包不全导致。建议别用centos nimi
然后执行
./redis-trib.rb create --replicas 1 192.168.94.130:7000 192.168.94.130:7001 192.168.94.130:7002 192.168.94.130:7003 192.168.94.130:7004 192.168.94.130:7005
中间要输入个yes,redis集群采用hash slot来分配,总共16384个slot,计算方法crc16(key)%16384,获取数据时也通过这个算法,所以下面指令会跳端口。
成功启动后登陆,-h指定bind的ip地址,-c表示连接到集群
redis-cli -h 192.168.94.130 -p 7000 -c
//连接redis端口是7000的实例
[root@localhostredis-cluster]# redis-cli -h 192.168.94.130 -p 7000 -c192.168.94.130:7000>set set3 sss-> Redirected toslot [11167] located at 192.168.94.130:7002OK192.168.94.130:7002>set set4 bbb-> Redirected toslot [7032] located at 192.168.94.130:7001OK192.168.94.130:7001>set set5 aaa-> Redirected toslot [2905] located at 192.168.94.130:7000OK192.168.94.130:7000>cluster infocluster_state:okcluster_slots_assigned:16384cluster_slots_ok:16384cluster_slots_pfail:0cluster_slots_fail:0cluster_known_nodes:6cluster_size:3cluster_current_epoch:6cluster_my_epoch:1cluster_stats_messages_ping_sent:481cluster_stats_messages_pong_sent:450cluster_stats_messages_sent:931cluster_stats_messages_ping_received:445cluster_stats_messages_pong_received:481cluster_stats_messages_meet_received:5cluster_stats_messages_received:931
//连接redis端口是7002的实例
[xuhaixing@localhost~]$ redis-cli -h 192.168.94.130 -p 7002 -c192.168.94.130:7002>set set1 aa-> Redirected toslot [3037] located at 192.168.94.130:7000OK192.168.94.130:7000>set set2 bb-> Redirected toslot [15294] located at 192.168.94.130:7002OK192.168.94.130:7002>exit[xuhaixing@localhost~]$ redis-cli -h 192.168.94.130 -p 7002 -c192.168.94.130:7002>get set1-> Redirected toslot [3037] located at 192.168.94.130:7000"aa"192.168.94.130:7000>get set2-> Redirected toslot [15294] located at 192.168.94.130:7002"bb"192.168.94.130:7002>get set3"sss"192.168.94.130:7002>get set4-> Redirected toslot [7032] located at 192.168.94.130:7001"bbb"192.168.94.130:7001>get set5-> Redirected toslot [2905] located at 192.168.94.130:7000"aaa"192.168.94.130:7000>
展现奇迹的时刻就出现了:如上面代码所示,应用指令时各redis实例自己切换。
集群中每个节点都是平等的,每个节点都与其他节点连接,每个节点都保存自己的数据和整个集群的状态。这样就保证了连接集群中任何一个节点就能获取整个集群的数据。集群至少有三个主节点,当存活的主节点小于一半时,集群挂掉。
- redis 集群
- redis集群
- Redis集群
- Redis 集群
- redis集群
- Redis 集群
- redis 集群
- redis 集群
- redis集群
- Redis 集群
- Redis集群
- Redis集群
- redis 集群
- Redis 集群
- redis集群
- redis 集群
- Redis集群
- redis集群
- Tuxedo-下载与安装1
- angularJs中的provider服务
- HTML学习
- 【Pixhawk】注册一个字符型驱动设备
- 支付宝PC端接入
- redis集群
- SpringBoot配置
- 中文分词 正向最大匹配法 逆向最大匹配法 双向最大匹配法
- Vision_MATH_中国剩余定理
- SAS操作知识点记录
- 自定义View基础
- Gym 101482.C
- 获得marginLeft
- 递归遍历树结构