三台主机搭建Redis的三对主从服务器集群环境准备
host1:192.168.1.9:6379
192.168.1.9:6380
host2:192.168.1.106:6379
192.168.1.106:6380
host3:192.168.1.110:6379
192.168.1.110:6380
注意:
(1)在建立redis的cluster环境时必须清空所有redis服务的所有key-value数据,没有任何数据
(2)每个 redis node 节点采用相同的硬件配置、相同的密码
1.分别开启三台主机的6379和6380两个端口,需给redis配置两个独立的配置文件,以host1为例
1)给redis配置6379监听端口
[root@localhost ~]# vim /app/redis/etc/redis.conf
……
bind 192.168.1.9 #绑定ip
……
port 6379 #绑定6379端口
……
cluster-enabled yes #开启redis的集群功能
……
cluster-config-file nodes-6379.conf #开启自动创建集群配置文件
……
2)给redis配置6380监听端口
[root@localhost ~]# cp/app/redis/etc/redis.conf /app/redis/etc/redis.6380.conf
[root@localhost ~]# vim /app/redis/etc/redis.6380.conf
……
bind 192.168.1.9 #绑定ip
……
port 6380 #绑定6380端口
……
cluster-enabled yes #开启redis的集群功能
……
cluster-config-file nodes-6379.conf #开启自动创建集群配置文件
……
:%s/6379/6380/g #配置文件底部实现全局替换,将所有6379替换为6380
2.三台主机redis配置文件设置完成后再启动redis服务
1)同时开启两个redis进程服务
[root@localhost ~]# redis-server /app/redis/etc/redis.6380.conf && redis-server /app/redis/etc/redis.conf
2)查看redis的6379和6380两个端口是否处于监听状态
[root@localhost ~]# ss -tnlp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 511 192.168.1.9:6379 *:*
users:(("redis-server",pid=7492,fd=6))
LISTEN 0 511 192.168.1.9:6380 *:*
users:(("redis-server",pid=7487,fd=6))
LISTEN 0 511 192.168.1.9:16379 *:*
users:(("redis-server",pid=7492,fd=8))
LISTEN 0 511 192.168.1.9:16380 *:*
users:(("redis-server",pid=7487,fd=8))
3.将创建集群的命令redis-trib.rb复制到/usr/bin下,此命令暂时不可用,还需编译安装ruby以及安装redis模块
[root@localhost ruby-2.5.5]# cp redis-trib.rb /usr/bin
4.安装编译ruby工具包时编译环境
yum ×××tall -y vim lrzsz tree screen psmisc lsof tcpdump wget ntpdate gcc gcc-c++ glibc glibc-devel
pcre pcre-devel openssl openssl-devel systemd-devel net-tools iotop bc zip unzip zlib-devel bash-completion
nfs-utils automake libxml2 libxml2-devel libxslt libxslt-devel perl perl-ExtUtils-Embed
5.编译安装ruby工具包(因yum安装的ruby版本太低,不能满足gem安装redis模块所依赖的ruby版本)
[root@localhost ~]# cd /data/ruby/
[root@localhost ruby]# tar xf ruby-2.5.5.tar.gz
[root@localhost ruby]# cd ruby-2.5.5/
[root@localhost ruby-2.5.5]# ./configure && make –j 4 && make ×××tall
6.安装 rubygems包
[root@localhost ruby-2.5.5]# yum ×××tall -y rubygems
7.分别给ruby命令和gem命令创建环境变量路径软连接
[root@localhost ruby-2.5.5]# ln -sv /data/ruby/ruby-2.5.5/bin/gem /usr/bin/
[root@localhost ruby-2.5.5]# ln -sv/data/ruby/ruby-2.5.5/ruby /usr/bin/
8.gem安装redis模块
[root@localhost ruby-2.5.5]# gem ×××tall redis -y
9.修改redis模块登录集群环境的密码
[root@localhost ~]# vim /usr/local/lib/ruby/gems/2.5.0/gems/redis-4.1.2/lib/redis/client.rb
#frozen_string_literal: true
require_relative "errors"
require "socket"
require "cgi"
class Redis
class Client