redis最新版 redis-4.0.9 集群搭建

目录:

一、集群架构

1、主机架构

   6台主机,Linux系统6.8

2、主从架构

    3个master,3个slave

二、安装redis

1、下载源码

进入下载目录,使用weget下载

cd /usr/local
wget http://download.redis.io/releases/redis-4.0.9.tar.gz

解压,进入解压后的目录

tar -xzvf redis-4.0.9.tar.gz
cd redis-4.0.9

2、编译

创建编译后的文件存放的文件夹,编译后的文件将存放在redis4文件夹中

mkdir -r /usr/local/redis4
make  PREFIX=/usr/local/redis4 install

编译完成,进入redis4文件夹里的bin文件夹查看有如下几个文件:
这里写图片描述

3、添加环境变量

将编译后的redis的bin目录添加到环境变量中

vim /etc/profile

这里写图片描述

4、修改配置文件

从redis源码src里面复制一份redis.conf到/usr/local/redis4下面,修改配置文件如下:
这里写图片描述

三、安装ruby

1、删除旧版本

最新redis要求ruby版本在2.2以上,系统自带ruby大部分都低于2.2,输入以下命令,删除旧版本:

yum remove ruby

2、安装ruby依赖

yum install zlib

3、安装ruby2.5

3.1、下载最新版ruby,输入以下命令

cd /usr/local
wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.gz

3.2、解压编译到指定文件夹

tar -xzvf ruby-2.5.0.tar.gz
mkdir -r /usr/local/ruby2.5
cd ruby-2.5.0
./configure -prefix=/usr/local/ruby2.5
make && make install

3.3、配置环境变量

注意将ruby环境变量配置到path的最前面!

vim /etc/profile

这里写图片描述

3.4、查看ruby是否安装成功

ruby -v

这里写图片描述

4、使用gem安装ruby的redis依赖包

gem install redis

四、启动redis

在每台机器上启动redis

cd /usr/local/redis4
redis-server redis.conf

使用命令查看是否启动成功

ps -ef | grep redis

这里写图片描述

五、创建集群

1、将redis源码src下面的redis-trib.rb复制到/usr/local/redis4/bin目录里面,每台机器都复制一份

2、在任何一台机器上进入到/usr/local/redis4/bin目录里,使用ruby脚本创建redis集群

cd /usr/local/redis4/bin
redis-trib.rb create --replicas 1 mini1:6001 mini2:6002 mini3:6003 mini4:6004 mini5:6005 mini6:6006

注意:mini1 mini2 …都已经在/etc/hosts文件中做了映射,因此可以直接写主机名,若没有映射,则必须写IP地址

六、异常排查

1、 确保redis中没有数据,对每个redis实例,用redis-cli连接,使用命令flushdb,清除数据

2、 启动ruby脚本后,若创建集群失败,则必须将所有的redis服务全部停掉,先查看redis的进程id,可以查看指定的pidfile查看进程id也可以使用命令lsof -i:redis端口号查看进程,也可以使用ps -ef | grep redis 来查看进程id,然后使用kill -9 杀死该进程,就关闭了redis实例。

3、 ruby脚本启动失败后除了要杀死每台机器上的redis进程外,还需要将其生成的集群元数据文件和日志文件删除,即删除你在redis.conf中配置的两个文件

一个是:cluster-config-file /usr/local/redis4/nodes-6001.conf
另一个是打开 appendonly yes 后生成的日志文件,在启动目录上一层目录下面的.aof文件,我的在/usr/local/redis4文件夹里

4、 清redis数据,关闭redis,清理元数据nodes*.conf文件,集群日志文件*.aof,这些都做完后,再重启每台机器上的redis,然后再启动ruby脚本,重新创建集群!

如果还是报错,或则找不到目标主机,则使用ip代替主机名,然后换一台机器启动ruby脚本,基本上就没问题了!

七、验证集群

1、登陆集群,使用-c 标识表示登陆集群

redis-cli -h mini1 -c -p 6001

这里写图片描述

八、为集群设置密码

1、通过redis-cli 连接到集群上的每一个节点,执行如下命令,masterauth和require pass密码一致,节点与节点间也完全相同

config set masterauth passwd123 
config set requirepass passwd123 
config rewrite 

2、找到每个机器上ruby安装目录下的gem包下的client.rb文件,可以使用命令查找:

find / -name "client.rb"

这里写图片描述

3、编辑client.rb文件,将password修改为自己设置的密码

class Client
    DEFAULTS = {
      :url => lambda { ENV["REDIS_URL"] },
      :scheme => "redis",
      :host => "127.0.0.1",
      :port => 6379,
      :path => nil,
      :timeout => 5.0,
      :password => "passwd123",
      :db => 0,
      :driver => nil,
      :id => nil,
      :tcp_keepalive => 0,
      :reconnect_attempts => 1,
      :inherit_socket => false
    }

猜你喜欢

转载自blog.csdn.net/guohan_solft/article/details/80017625
今日推荐