在Centos7中创建redis cluster集群

231 阅读2分钟

今天呢,插入一篇在centos中如何搭建一套三主三从的集群

一、环境

  • 两台百度云的服务器,系统是 CentOS / 7.9 x86_64 (64bit)
  • redis我装的版本是redis-4.0.1

二、安装包

wget https://download.redis.io/releases/redis-4.0.1.tar.gz

操作系统就不再配置了

三、安装

1. 安装redis

(1) 上传

  • 一般我们都会将三方的软件安装包放在 /usr/local目录上去

(2)依赖

  • 安装redis需要安装一些依赖,避免安装不成功,我们先行安装
    • yum install -y tcl gcc zlib-devel openssl-devel

(3)make

  • 解压redis包
    • tar -zxvf redis-4.0.1
  • 进入目录
    • cd redis-4.0.1
  • 执行make命令
    • make MALLOC=libc

(4)可选操作,复制命令到 bin

  • 在实际使用中,可以把redis的一些命令给复制到 PATH 变量所在目录
    • cp -a src/redis-server src/redis-cli src/redis-sentinel src/redis-trib.rb src/redis-check-aof src/redis-check-rdb src/redis-benchmark /usr/local/bin/

(5)创建redis集群的目录

  • 建立一个redis集群的目录,适合后期的维护
  • cd /opt
  • mkdir redis-cluster
  • mkdir redis-cluster/nodes-{7001,7002,7003}

(6)编辑配置文件

bind 192.168.0.5
port 7001
pidfile redis_7001.pid
loglevel notice
logfile "/opt/redis-cluster/nodes-7001/redis_7001.log"
dir /opt/redis-cluster/nodes-7001/
cluster-config-file nodes-7001.conf
daemonize yes
supervised no
appendonly yes
cluster-enabled yes
cluster-node-timeout 15000
save 900 1
save 300 10
save 60 10000
dbfilename dump.rdb
appendfilename "appendonly.aof"
appendfsync everysec

需要注意几个点:

  • bind 需要写机器的实际ip,不要写127.0.01

(7)启动

  • 此时 redis 就安装好了,我们可以启动看一下
    • 进入./redis/src目录
    • ./redis-server /opt/redis-cluster/nodes-7001/redis.conf
    • ps -ef|grep redis就可以查看到是否启动了
    • 与此同时,也生成了一些文件

当然,另一台机器也用相同的方式安装一下即可

2. 安装ruby

(1)安装包下载

  • wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.gz

(2)解压

  • tar -zxvf ruby-2.5.0.tar.gz && cd ruby-2.5.0.tar.gz

(3)configure

  • ./configure

(4)make

  • make && make install

(5)验证ruby安装成功

  • ruby -v

3. 安装ruby-redis.gem

(1)直接命令安装

  • gem install redis

4. 启动redis cluster集群

redis-trib.rb create --replicas 1 192.168.0.4:7001 192.168.0.4:7002 192.168.0.4:7003 192.168.0.5:7001 192.168.0.5:7002 192.168.0.5:7003

  • 这样就启动了一个三主三从的cluster了

管理维护redis cluster

(1)重新运行

  • 先杀掉redis已经启动的进程
  • ./redis-cluster/nodes-{}/下面生成的文件给删除掉
  • 再次启动即可

(2)集群信息CLUSTER info

(3)节点信息CLUSTER nodes

就只是简单的记录一下如何创建redis cluster