redis集群搭建
1、环境准备
执行集群命令需要ruby环境,所以需要安装ruby
ruby下载地址:http://www.ruby-lang.org/zh_cn/downloads/
下载源码包后,解压源码包,执行编译
$ ./configure
$ make
$ make install
2、安装zlib
解压zlib的压缩包使用rpm命令安装
###安装完毕后,再去编译ruby的zlib
cd ruby-2.4.4/ext/zlib
ruby extconf.rb
###编辑Makefile文件,修改ruby.h路径
~原路径 zlib.o: $(top_srcdir)include/ruby.h
~修改后 zlib.o: $(top_srcdir)../../include/ruby.h
###执行make
[root@localhost zlib]# make
compiling zlib.c
linking shared-object zlib.so
###执行make install
[root@localhost zlib]# make install
/usr/bin/install -c -m 0755 zlib.so /usr/local/lib/ruby/site_ruby/2.4.0/x86_64-linux
3、安装openssl
解压opensll的压缩包使用rpm命令安装
###进入ruby的opensll目录
cd ruby-2.4.4/ext/openssl/
###执行
ruby extconf.rb
###执行make
若出现:make: *** 没有规则可以创建“ossl.o”需要的目标“/include/ruby.h”。 停止
处理办法:在Makefile文件顶部添加:top_srcdir = ../..
###执行make install
[root@localhost openssl]# make install
/usr/bin/install -c -m 0755 openssl.so /usr/local/lib/ruby/site_ruby/2.4.0/x86_64-linux
installing default openssl libraries
4、进入redis_package目录,执行gem install ./redis-4.7.1.gem
redis的gem文件下载地址:https://rubygems.org/gems/redis/versions
5、创建集群
1、启动redis的每个节点,关闭redis节点的防火墙
2、redis启动不要设置密码
3、执行命令,3主3从,前3个主,后3个从。--cluster-replicas 1 表示每个主节点都有一个从节点
/redis-7000/redis-cli --cluster create 192.168.12.24:7000 192.168.12.23:7000 192.168.12.22:7000 192.168.12.24:7001 192.168.12.23:7001 192.168.12.22:7001 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.12.23:7001 to 192.168.12.24:7000
Adding replica 192.168.12.22:7001 to 192.168.12.23:7000
Adding replica 192.168.12.24:7001 to 192.168.12.22:7000
M: 8bbe71fa6657dfd01ebc5134958891fd002fdf57 192.168.12.24:7000
slots:[0-5460] (5461 slots) master
M: 955a97c1a8936cb39d439fc11b28f4b3cbd6cdbb 192.168.12.23:7000
slots:[5461-10922] (5462 slots) master
M: 496a22785c7483c948dcb86e0b38faf1129c760e 192.168.12.22:7000
slots:[10923-16383] (5461 slots) master
S: 49dd3902c591f8a20c5a0e5eb72baa1d90433ba8 192.168.12.24:7001
replicates 496a22785c7483c948dcb86e0b38faf1129c760e
S: 4d5fd8f5e71ec5bea90aa2e9969ce18d0cebc695 192.168.12.23:7001
replicates 8bbe71fa6657dfd01ebc5134958891fd002fdf57
S: 83adffa9bbe537c6be01f24db666041d851ca449 192.168.12.22:7001
replicates 955a97c1a8936cb39d439fc11b28f4b3cbd6cdbb
Can I set the above configuration? (type 'yes' to accept): yes -------输入yes
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered. -------创建完成