Redis集群搭建
- 单节点多实例
- redis版本3.2.6
操作步骤
- 下载和解压包
cd /usr/local/(自定义目录) wget http://download.redis.io/releases/redis-3.2.6.tar.gz tar -zxvf redis-3.2.6.tar.gz
- 编译安装
cd redis-3.2.6 make && make install
- 创建redis实例(默认集群6个实例)
cd /usr/local mkdir redis_cluster mkdir 7000 7001 7002 7003 7004 7005// 分别代表六个redis实例,对应端口为各自目录名 //拷贝配置文件到7000目录下 cp /usr/local/redis-3.2.6/redis.conf ./redis_cluster/7000/
- 修改redis.conf配置文件(集群搭建最小配置文件)
- 将修改过的redis.conf文件分别拷贝到7001 7002 7003 7004 7005并修改各自的配置文件中的端口号
port 7000 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes
- 安装ruby编译环境,安装redis gem模块
yum -y install ruby rubygems gem install --local redis-3.3.0.gem(redis-3.3.0.gem需要自行下载)
- 启动所有实例
cd /usr/local/redis-3.2.6/src redis-server ../../redis_cluster/7000/redis.conf redis-server ../../redis_cluster/7001/redis.conf redis-server ../../redis_cluster/7002/redis.conf redis-server ../../redis_cluster/7003/redis.conf redis-server ../../redis_cluster/7004/redis.conf redis-server ../../redis_cluster/7005/redis.conf
- 查看服务状态
ps -ef|grep redis
- 创建集群,槽位认领
- 在安装目录下的src中,找到 redis-trib.rb 这是rubby脚本执行程序,完成redis3.x集群创建
./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
- replicas 1:自动为每一个master节点分配一个slave节点 上面有6个节点,程序会按照一定规则生成 3个master(主)3个slave(从)
- 自动分配了主从,自动分配了slots,所有槽都有节点处理,集群上线
以下是分配的信息展示
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
- 客户端连接测试
redis-cli -p 7000 -c