之前单点redis安装,见上文 https://mp.csdn.net/postedit/89914315
,将 redis-trib.rb 复制到 /usr/local/bin 目录下
cd src cp redis-trib.rb /usr/local/bin/
下载地址 https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz
$ tar -xvzf ruby-2.4.1.tgz
$ cd ruby-2.4.1
$ ./configure
./configure -prefix=/usr/local/ruby
$ make
$ make install
配置path环境变量如下
vi 打开 server用户目录下的 .bash_profile
PATH=${REDIS_HOME}/bin:${PATH}:/usr/local/bin:/usr/local/ruby/bin
在server目录下,执行 ruby -v
[server@chery ~]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
访问 https://rubygems.org/gems/redis/ 选择对应版本下载
右侧下载
下载后,执行
[server@chery bin]$ gem install -l ./redis-3.2.2.gem
在用户server\redis_home\conf目录下,建立六个文件夹7001,7002,7003,7004,7005,7006,并将 redis.conf 拷贝到这三个目录中。
port 7001 //端口7000,7002,7003 bind 本机ip //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群 daemonize no //redis后台运行,先不后台运行,可以看看日志是否启动成功 pidfile /var/run/redis_7001.pid //pidfile文件对应7000,7001,7002 cluster-enabled yes //开启集群 把注释#去掉 cluster-config-file 、/home/server/nodes_7001.conf //集群的配置 配置文件首次启动自动生成 7001,7002,7003,7004,7005,7006 cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置 appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志 stop-writes-on-bgsave-error no //这个如果是yes,强制关闭Redis快照导致不能持久化,导致之后的启动失败。
从7001到7006
[server@chery 7001]$ pwd
/home/server/redis_home/conf/7001
[server@chery 7001]$ redis-server redis.conf
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
输入 yes 即可,然后出现如下内容,说明安装成功。
在第一台机器上连接集群的7002端口的节点,在另外一台连接7005节点,连接方式为 redis-cli -h 192.168.31.245 -c -p 7002 ,加参数 -C 可连接到集群,因为上面 redis.conf 将 bind 改为了ip地址,所以 -h 参数不可以省略。
在7005节点执行命令 set hello world ,执行结果如下:
然后在另外一台7002端口,查看 key 为 hello 的内容, get hello ,执行结果如下:
说明集群运作正常。