Redis Cluster两种方式搭建

Redis 安装分为两种,一种是原生安装,另一种为官方工具安装。本次安装分为三主三从。(linux操作系统)
一: 原生安装
1:配置开启节点
2:meet操作
3:指派槽
4:主从

1.1新建文件redis-8000.conf

port 8000
daemonize yes
dir "/opt/soft/redis/data"
logfile "8000.log"
dbfilename "dump-8000.rdb"
cluster-enabled yes
cluster-config-file nodes-8000.conf
cluster-require-full-coverage no

1.2:快速生成另外的配置文件

sed 's/8000/8001/g' redis-8000.conf > redis-8001.conf
sed 's/8000/8002/g' redis-8000.conf > redis-8002.conf
sed 's/8000/8003/g' redis-8000.conf > redis-8003.conf
sed 's/8000/8004/g' redis-8000.conf > redis-8004.conf
sed 's/8000/8005/g' redis-8000.conf > redis-8005.conf

1.3:启动redis节点
2:节点握手(meet操作)

redis-cli -p 8000 cluster meet 127.0.0.1 8001
redis-cli -p 8000 cluster meet 127.0.0.1 8002
redis-cli -p 8000 cluster meet 127.0.0.1 8003
redis-cli -p 8000 cluster meet 127.0.0.1 8004
redis-cli -p 8000 cluster meet 127.0.0.1 8005

查看是否成功:redis-cli -p 8000 cluster nodes
显示节点信息。
3.1:编写脚本执行分配槽 addslots.sh

start=$1  
end=$2  
port=$3  
for slot in `seq ${start} ${end}`  
do  
    echo "slot:${slot}"  
    redis-cli -p ${port} cluster addslots ${slot}   
done 

3.2执行脚本,为8000端口分配0-5461个槽,8001分配5462-10922,8002分配10923-16383。redis cluster 一共有16384个槽.

sh addslots.sh 0 5461 8000
sh addslots.sh 5462 10922 8001
sh addslots.sh 10923 16383 8002

4:设置主从
输入命令 redis-cli -p 8000(端口可以为8000-8005任意) cluster nodes 查看节点信息,

redis-cli -p 8000 cluster nodes
12cd7d8a0e6e93d26e8f51908eec4d9fc30f02e8 192.168.67.132:8002 master,fail? - 1548381912426 1548381911421 11 connected 10923-16383
16618147648680bec6aae60b4d41a93e9ad8a46d 192.168.67.132:8003 slave,fail? f7eb1a7d7bd2f1a430a155eaf79f7f638b6e297e 1548381912426 1548381911421 9 connected
bb5018f982c7088cc71c81f3781ad400ae629ae6 192.168.67.132:8004 slave,fail? 21b961ca96a755aedabc6043762f80b2d40b9ffa 1548381912426 1548381911421 10 connected
f7eb1a7d7bd2f1a430a155eaf79f7f638b6e297e 192.168.67.132:8000 myself,master - 0 0 9 connected 0-5460
c4d256d15406d7ca47be07153e128719b37e21fa 192.168.67.132:8005 slave,fail? 12cd7d8a0e6e93d26e8f51908eec4d9fc30f02e8 1548381912426 1548381911421 11 connected
21b961ca96a755aedabc6043762f80b2d40b9ffa 192.168.67.132:8001 master,fail? - 1548381912426 1548381911421 10 connected 5461-10922

设置8000,8001,8002为主节点,8003复制8000,8004复制8001,8005复制8002
图片中可以看到8000节点ID为f7eb1a7d7bd2f1a430a155eaf79f7f638b6e297e,则8003复制8002命令为, 8001节点ID为21b961ca96a755aedabc6043762f80b2d40b9ffa,则8004复制8002命令为,8002节点ID为12cd7d8a0e6e93d26e8f51908eec4d9fc30f02e8,则8005复制8002命令为 :



redis-cli -p 8003 cluster replicate f7eb1a7d7bd2f1a430a155eaf79f7f638b6e297e
redis-cli -p 8004 cluster replicate 21b961ca96a755aedabc6043762f80b2d40b9ffa
redis-cli -p 8005 cluster replicate 12cd7d8a0e6e93d26e8f51908eec4d9fc30f02e8

查看槽信息

[root@localhost config]# redis-cli -p 8000 cluster  slots
1) 1) (integer) 10923
   2) (integer) 16383
   3) 1) "192.168.67.132"
      2) (integer) 8002
   4) 1) "192.168.67.132"
      2) (integer) 8005
2) 1) (integer) 0
   2) (integer) 5460
   3) 1) "192.168.67.132"
      2) (integer) 8000
   4) 1) "192.168.67.132"
      2) (integer) 8003
3) 1) (integer) 5461
   2) (integer) 10922
   3) 1) "192.168.67.132"
      2) (integer) 8001
   4) 1) "192.168.67.132"
      2) (integer) 8004

二:ruby安装
1:下载编译安装ruby
2:安装rubygem redis
3:安装redis-trib.rb
1.1:下载ruby

wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz

1.2:解压

tar -xvf ruby-2.3.1.tar.gz

1.3:执行

./configure -prefix=/usr/local/ruby

1.2:解压缩

tar -xvf ruby-2.3.1.tar.gz

1.3:执行
在这里插入图片描述

./configure --prefix=/usr/local/ruby
**注意**
若遇到 
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/root/msmtp-1.4.20':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.details

则安装
yum install gcc 可以解决

1.4:执行make && make install
1.5:执行ruby -v 查看是否成功
在这里插入图片描述
若出现 ruby命令不存在

cd ruby-2.3.1
./configure
 make
 sudo make install

使用上面命令重新安装
2.1 安装ruby的redis 客户端

wget https://rubygems.org/downloads/redis-3.3.0.gem

2.2 执行客户端的安装

sudo gem install -l redis-3.3.0.gem

若出现 sudo: gem: command not found
在管理员权限下执行

vim /etc/sudoers

注掉
在这里插入图片描述

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin

若遇到
在这里插入图片描述

ERROR:  Loading command: install (LoadError)
	cannot load such file -- zlib
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass 
    

解决办法

yum -y install zlib-devel
进入ruby源码文件夹,安装ruby自身提供的zlib包
cd ruby-2.5.1/ext/zlib
ruby ./extconf.rb
make
make install

2.3:安装

sudo gem list -- check redis gem

启动redis

3.redis-trib.rb使用

./redis-trib.rb create --replicas 1 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 127.0.0.1:7006
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值