redis集群(三主三从)

一、下载redis

        下载地址:http://download.redis.io/releases/

        wget http://download.redis.io/releases/redis-6.0.0.tar.gz

二、解压

        tar xzvf redis-6.0.0.tar.gz

三、安装

        cd redis-6.0.0

  make

  cd src

  make install PREFIX=/usr/local/redis

        可能会出现以下错误:
    /bin/sh: cc: command not found
    make[1]: *** [adlist.o] Error 127
    make[1]: Leaving directory `/data/program/redis-6.0.0/src'
    make: *** [all] Error 2

    未安装gcc编译工具,使用以下命令安装gcc.
    $ yum -y install make gcc gcc-c++ ncurses-devel libstdc++-devel

四、创建文件夹

集群中 Redis 节点的端口号为 6381-6386 ,端口号即集群下各实例文件夹。数据存放在 端口号/data 文件夹中。

mkdir /usr/local/redis-cluster
cd redis-cluster/
mkdir -p 6381/data 6382/data 6383/data 6384/data 6385/data 6386/data

五、在 /usr/local/redis-cluster 下创建 bin 文件夹,用来存放集群运行脚本,并把安装好的 Redis 的 src 路径下的运行脚本拷贝过来。

mkdir redis-cluster/bin
cd /usr/local/redis/src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server redis-trib.rb /usr/local/redis-cluster/bin

六、复制一个新 Redis 实例
我们现在从已安装好的 Redis 中复制一个新的实例到 6381 文件夹,并修改 redis.conf 配置。

cp -r /usr/local/redis/* /usr/local/redis-cluster/6381

cp redis.conf /usr/local/redis-cluster/6381/bin/

每个redis.conf配置文件,配置如下

port 6381(每个节点的端口号)
daemonize yes redis进程是否以守护进程的方式运行,yes为是
bind 192.168.119.131(绑定当前机器 IP)
dir /usr/local/redis-cluster/9001/data/(数据文件存放位置)
pidfile /var/run/redis_9001.pid(pid 9001和port要对应)
cluster-enabled yes(启动集群模式)
cluster-config-file nodes9001.conf(9001和port要对应)
cluster-node-timeout 15000
appendonly yes
protected-mode no 保护模式修改为否,允许远程连接
requirepass "123456"  设定密码
appendonly yes 打开AOF持久化支持
masterauth 123456

其他节点6382-6386,复制6381

cp -r /usr/local/redis-cluster/6381/* /usr/local/redis-cluster/6382
cp -r /usr/local/redis-cluster/6381/* /usr/local/redis-cluster/6383
cp -r /usr/local/redis-cluster/6381/* /usr/local/redis-cluster/6384
cp -r /usr/local/redis-cluster/6381/* /usr/local/redis-cluster/6385
cp -r /usr/local/redis-cluster/6381/* /usr/local/redis-cluster/6386
 

其他节点复制6381的redis.conf文件,只需要修改下如下几项

port 6381
dir /usr/local/redis-cluster/6381/data/
cluster-config-file nodes-8381.conf
pidfile /var/run/redis_6381.pid

七、启动 6381-6386 六个节点

/usr/local/redis/bin/redis-server /usr/local/redis-cluster/6381/bin/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/6382/bin/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/6383/bin/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/6384/bin/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/6385/bin/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/6386/bin/redis.conf

可以检查一下是否启动成功:ps -el | grep redis

随便找一个节点测试试
/usr/local/redis-cluster/bin/redis-cli -h 81.141.127.119 -p 6381
set name mafly

连接成功了,但好像报错了阿???
(error) CLUSTERDOWN Hash slot not served(不提供集群的散列槽

低于redis5.0版本,需要安装ruby,redis5.0版本以上推荐使用redis-cli创建进群

八、安装集群所需软件
由于 Redis 集群需要使用 ruby 命令,所以我们需要安装 ruby 和相关接口。

yum install ruby
yum install rubygems
gem install redis 

如果出现错误:ERROR:  Error installing redis:
    redis requires Ruby version >= 2.4.0.
    执行gem install redis命令时报错 提示ruby版本必须大于等于2.4.0
解决方案:先安装rvm,再把ruby版本提升至2.4.0

1.安装curl

yum install curl

2.安装RVM

curl -L get.rvm.io | bash -s stable
source /usr/local/rvm/scripts/rvm #如果未找到rvm文件重新执行上面代码

4.查看rvm库中已知的ruby版本

    rvm list known

5.安装一个ruby版本

    rvm install 2.6.3

6.使用一个ruby版本

    rvm use 2.6.3

7.设置默认版本

    ruby --version

8.卸载一个已知版本

    rvm remove 2.0.0

9.安装redis

[root@arslinux-01 ~]# gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
[root@arslinux-01 ~]# useradd -g rvm rvm
[root@arslinux-01 ~]# source /etc/profile.d/rvm.sh
[root@arslinux-01 ~]# \curl -sSL https://get.rvm.io | bash -s stable

九、gem install redis 安装成功后,创建集群

cd /usr/local/redis-cluster/bin/目录下
./redis-cli --cluster create 81.141.127.119:6381 81.141.127.119:6382 81.141.127.119:6383 81.141.127.119:6384 81.141.127.119:6385 81.141.127.119:6386 --cluster-replicas 1 -a 123456

上图则代表集群搭建成功啦!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值