• 分布式缓存Redis4及redis5集群搭建


    redis安装

    1.下载tar包至/opt/redis

    2.解压tar包

    tar -xvf redis-4.0.14.tar.gz 
    3. cd redis-4.0.14

    make一下。

    单节点的redis准备就绪。

    相关配置准备:

    在/usr/local下建立redis-cluster目录,并建7031-7036文件夹

    拷贝修改配置文件

     cd /opt/redis/redis-4.0.14

    cp redis.conf /usr/local/redis-cluster/7031

    cd /usr/local/redis-cluster/7031修改redis.conf

    修改项如下:

    (1)绑定端口,port 7031

    (2)绑定IP,bind 10.200.195.61

    (3)指定数据存放路径,dir /usr/local/redis-cluster/data/7031 

    (4)启动集群模式,cluster-enabled yes

    (5)指定集群节点配置文件,cluster-config-file nodes-7031.conf

    (6)后台启动,daemonize yes

    (7)指定集群节点超时时间,cluster-node-timeout 5000

    (8)指定持久化方式,appendonly yes

    (9)密码设置

                   requirepass password 

                   masterauth password

    (10)日志文件:  logfile  "/usr/local/redis-cluster/7031/7031.log"

    上面红色项目最好全部设置,不然会出意想不到的错误,在redis-cluster下建7031-7036目录存放配置文件和日志文件,另外在上述data目录下新建7031-7036目录用于存放数据文件。

    将7031的redis.conf改完后再拷贝到剩下的5个目录中,然后只要全局替换redis.conf中的7031为相应的节点即可。

     

    安装ruby

    由于Redis 集群客户端实现很少,redis集群的启动需要用到ruby实现的redis-trib.rb,所以我们需要先安装ruby。

    [root@localhost redis-cluster]# yum install ruby

    [root@localhost redis-cluster]# yum install rubygems

    [root@localhost redis-cluster]# gem install redis

    这三个步骤必不可少,后面组建cluster时用。

    启动redis实例

    [root@localhost redis-cluster]# 

    /usr/local/redis/redis-4.0.14/src/redis-server /usr/local/redis-cluster/7031/redis.conf

     

    分别启动6个redis实例。也可以用脚本循环启动,这样更方便省时

     

    [root@localhost redis-cluster]#

    for((i=1;i<=6;i++)); do /opt/redis/redis-4.0.14/src/redis-server /usr/local/redis-cluster/703$i/redis.conf; done

    查看redis实例是否启动成功

    [root@localhost redis-cluster]# netstat -tunpl | grep redis-server

    #或者

    [root@localhost redis-cluster]# ps -ef | grep redis-server

     

     

    • redis5创建集群

    前面配置都一样,redis5不依赖ruby创建集群,真是一大福音!!!!

    [root@centos7g bin]# ./redis-cli --cluster create 10.200.195.65:7031 10.200.195.65:7032 10.200.195.65:7033 10.200.195.65:7034 10.200.195.65:7035 10.200.195.65:7036 --cluster-replicas 1 -a password

    redis4创建并启动集群

    进入redis安装目录的bin目录下

    [root@localhost ~]# cd /opt/redis/redis-4.0.14/src/

    /redis-trib.rb create --replicas 1 10.200.195.61:7031 10.200.195.61:7032 10.200.195.61:7033 10.200.195.61:7034 10.200.195.61:7035 10.200.195.61:7036

     

    命令的意义如下:

    给定 redis-trib.rb 程序的命令是 create,表示创建一个新的集群。选项 --replicas 1 表示为集群中的每个主节点创建一个从节点。之后跟着的其他参数则是实例的地址列表, 指定使用这些地址所指示的实例来创建新集群。

    1. 这一步报错可能要把data目录703*下所有数据清空,

    2. 需要在类似版本的client.rb文件里,修改password nil 为设置的password,大概在如下的目录

    vi /usr/local/rvm/gems/ruby-2.3.3/gems/redis-4.2.1/lib/redis/client.rb

    客户端连接集群

    集群启动成功后,我们就可以用任意一个客户端连接集群了,如下

    • redis db的数量默认为16,可以通过配置文件修改,但 集群模式下失效,只有db0一个。

    集群关闭

    关闭集群需要逐个关闭

    for((i =1;i<=6;i++)); d( /opt/redis/redis-4.0.14/src -c -h 10.200.195.61 -p 703$i shutdown; done

    问题1:

       执行命令:./redis-trib.rb 
    /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- redis (LoadError)
    from /usr/local/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
    from ./redis-trib.rb:25:in `<main>'
    解决方法:

    检查 yum install redis

    其他的一些问题 请自行百度!

     

  • 相关阅读:
    #JavaScript 闭包问题详解 #打倒心魔
    Typora + cnblog 图片自动上传 (超详细哦)
    #FUNCTION#CALL对象中的函数内作用域问题.md
    #windows #Github #HOST
    #######对象迭代器######
    #为什么不建议使用for...in 去遍历数组
    #前后端附件传输,去重的一种方式#解决方案
    #页面滚动刷新的实现原理 #下拉刷新#上拉刷新#drag to fresh
    自己动手实现一个阻塞队列
    APC注入
  • 原文地址:https://www.cnblogs.com/xifenglou/p/11976973.html
Copyright © 2020-2023  润新知