redis集群
开两个虚拟机
假设ip分别为192.168.5.124,192.168.5.125
在主机1中创建7000.conf,7001.conf,7002.conf文件
主机2中创建7003.conf,7004.conf,7005.conf文件
文件中为redis-server的配置
例如7000.conf:
#端口
port 7000
#IP
bind 192.168.5.124
#是否以守护进程的方式运行
daemonize yes
#数据
pidfile 7000.pid
cluster-enabled yes
cluster-config-file 7000_node.conf
cluster-node-timeout 15000
appendonly yes
主机1,主机2分别执行
redis-server 7000.conf
redis-server 7001.conf
redis-server 7002.conf
redis-server 7003.conf
redis-server 7004.conf
redis-server 7005.conf
接下来在主机1上
- redis的安装包中包含了redis-trib.rb,⽤于创建集群
- 接下来的操作在192.168.5.124机器上进⾏
-
将命令复制,这样可以在任何⽬录下调⽤此命令
sudo cp /usr/share/doc/redis-tools/examples/redis-trib.rb /usr/local/bin/
安装ruby环境因为集群时ruby写的
sudo apt-get install ruby
需要安装最新版的ruby
-- 先查看⾃⼰的 gem 源是什么地址
gem source -l -- 如果是https://rubygems.org/ 就需要更换
-- 更换指令为
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
-- 通过 gem 安装 redis 的相关依赖
sudo gem install redis
执行:
redis-trib.rb create --replicas 1 192.168.5.124:7000
192.168.5.124
:7001
192.168.5.124
:7002
192.168.5.125
:7003
192.168.5.125
1:7004
192.168.5.125
:7005
每个主服务器上分配了槽。
当有数据时 集群利用 【CRC16(key)% (总槽数)】得到的结果,觉得将数据分配到哪个服务器上。
连接集群
redis-cli -h ip -c -p port -c代表连接集群