redis集群

来源:互联网 发布:看外汇牌价的软件 编辑:程序博客网 时间:2024/05/29 16:20

redis 安装

wget http://download.redis.io/releases/redis-4.0.1.tar.gztar -zxvf redis-4.0.1.tar.gzcd redis-4.0.1make && make install

创建集群目录

cd /usrmkdir redis-cluster

创建节点目录:(6个redis进程)

cd /usr/redis-clustermkdir 6379mkdir 6380mkdir 6381mkdir 6382mkdir 6383mkdir 6384

拷贝redis安装目录中的redis.conf到6个节点目录中,并修改如下

##修改配置文件中的下面选项,port要改为对应的节点目录名称port 6379 //6380、6381、6382、6383、6384daemonize yescluster-enabled yescluster-config-file nodes.conf //将会创建于启动时所在目录cluster-node-timeout 5000appendonly yes

启动6个redis节点

cd /usr/redis-cluster/cd 6379redis-server redis.confcd ../6380redis-server redis.confcd ../6381redis-server redis.confcd ../6382redis-server redis.confcd ../6383redis-server redis.confcd ../6384redis-server redis.conf

查看节点情况:
这里写图片描述

启动集群需要ruby环境

  1. ruby安装(默认自带gem插件),集群要求版本要大于2.2.0。
  2. ruby安装redis依赖
gem install redis

这里如果出错,则需要linux配置如下环境,然后再执行gem install:

  • 需要zlib库:
yum install zlib-develcd /opt/ruby-2.2.8cd /ext/zlibruby extconf.rbmake && make install
  • 需要openssl:
##先安装opensslyum install openssl openssl-devel##配置ruby的opensslcd /opt/ruby-2.2.8cd /ext/opensslruby extconf.rb##将源码目录中的include目录软链接过来ln -s /opt/ruby-2.2.3/include /make && make install

基于节点创建redis集群

cd /opt/redis-4.0.1src/redis-trib.rb  create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384

会创建三对redis主从节点M-S。

测试集群

//连接集群需要-c参数redis-cli -c -p 6379

127.0.0.1:6379>set shuai ys
-> Redirected to slot [6441] located at 127.0.0.1:6380
OK

可以看到重定向到6380的节点了。

集群特点
1. 节点间彼此直连,不需要中心代理层。
2. 所有的节点一共分配16384个slot槽,不一定连续。
3. 增删节点时,所有节点的槽重新分配。
4. 存取数据时,key -> crc16(key)%16384 -> slot idx -> 对应redis节点。

原创粉丝点击