Redis集群搭建

一、原生命令安装

1.准备节点配置文件nodes-01.conf
cluster节点配置

port 9000
daemonize yes // 使用守护进程方式启动
dir "/redis/data" // 数据保存目录
dbfilename "snapshot-01.rdb" // rdb数据持久化文件
logfile "redis-01.log" // 日志文件
cluster-enabled yes // 当前节点是cluster节点
cluster-node-time-out 15000 // 毫秒 故障转移时间
cluster-config-file "nodes-01.conf" // 集群节点配置
cluster-require-full-coverage no // 是否有一节点故障集群不可用

多个节点按照不同的节点端口配置,使用命令启动redis

redis-server redis-01.conf

2.meet让每个节点互相通信

cluster meet 127.0.0.1 9001

在一个节点上与其它节点分别进行meet
3.分配槽
在需要分配槽的节点上执行命令
redis有16384个例如配置4主节点多个从节点,每个主节点分配对应的范围
编写 shell 脚本 addslot.sh

start=$1
end=$2
for slot in `seq ${start} ${end}`
do
echo "slot:${slot}"
cluster addslots ${slot}
done
./addslot.sh 0 4096
./addslot.sh 4097 8192
./addslot.sh 8193 12288
./addslot.sh 12289 16384

4.设置主从
在从节点上执行以下操作表示复制master节点

cluster replicate node-id

可以在任一节点上执行cluster nodes命令查看所有节点的node_id等信息

cluster nodes
// 分别表示不同节点不同端口执行命令复制master节点
redis-cli -h 127.0.0.1 -p 9000 cluster replicate ${node-id-01}
redis-cli -h 127.0.0.2 -p 9001 cluster replicate ${node-id-02}
redis-cli -h 127.0.0.3 -p 9002 cluster replicate ${node-id-03}
redis-cli -h 127.0.0.4 -p 9003 cluster replicate ${node-id-04}

二、使用ruby工具安装
1.下载ruby
https://www.ruby-lang.org/zh_cn/downloads/
2.安装ruby
ruby.shell

## 下载安装包
wget https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.5.tar.gz
## 解压文件
tar -xzvf ruby2.4.5
## 编译
./configure -prefix=/usr/local/ruby
make
## 安装
make install

## 安装ruby redis的客户端
wget https://rubygems.org/download/redis-3.3.0.gem
sudo gem install -l redis-3.3.0.gem
sudo gem list — check redis gem

redis-trib.rb安装

cp ${REDIS_HOME}/src/redis-trib.rb/ /usr/local/bin

搭建集群

./redis-trib.rb create --replicas 1 127.0.0.1:9000 127.0.0.2:9001
127.0.0.3:9002 127.0.0.4:8003 127.0.0.5:9000 127.0.0.6:9001 127.0.0.7:9002 127.0.0.8:9003
# 1 代表每个master有1个slave 127.0.0.1对应127.0.0.5

你可能感兴趣的:(Redis集群搭建)