美文网首页
简洁的 redis 单机 与 集群安装

简洁的 redis 单机 与 集群安装

作者: e辉 | 来源:发表于2017-11-23 18:20 被阅读52次

    Redis 简介

    Redis 集群是3.0之后才引入的,在3.0之前,使用哨兵(sentinel)来监控各个节点之间的状态。Redis 集群可谓是让很多人久等了。

    Redis 集群是一组能进行数据共享的Redis 实例(服务或者节点)的设施,集群可以使用的功能是普通单机 Redis 所能使用的功能的一个子集;Redis 集群通常具有高可用、可扩展性、分布式、容错等特性。了解redis的集群后,这些晦涩的概念可结合redis的主从、集群分区和集群运维等角度理解体会。

    解压

    tar zxvf redis-4.0.1.tar.gz
    

    进行编译

    cd redis-4.0.1
    make
    

    安装redis

    cd src
    make instal PREFIX=/usr/local/lib/redis #把Redis安装到/usr/local/lib/redis中
    
    如果这里安装失败,说明没gcc和tcl,确保两个都安装上。
    

    首先为了方便管理,将redis-4.0.1文件中的conf配置移动到安装目录下

    i、创建文件夹
    mkdir -p /usr/local/lib/redis/etc
        
    ii、移动文件
    cp redis-trib.rb /usr/local/lib/redis/bin  #集群搭建工具
    cd ..
    cp redis.conf /usr/local/lib/redis/etc
        
    到此,redis单机版已经安装完毕。
    

    开始集群安装之前,需要知道,要让集群正常运作至少需要三个主节点(master),对于从节点(slave)没有要求,但是为了保证数据的零丢失,所以在设置从节点的数量应当是:slave个数 >= master个数。 这样做的好处就是,当某一个master宕机的时候,每个master都至少有一个slave作为备份,redis会推选依附这个master的slave来顶替主节点的工作。但是这个slave又宕机掉的话,那么这个时候没有依附这个节点的从节点了,那么整个集群真的就挂掉了。不过在刚开始试用集群功能时, 强烈建议使用六个节点: 其中三个为主节点, 而其余三个则是各个主节点的从节点。

    开始集群安装

    集群环境

    192.168.66.2    
    192.168.66.3 
    

    创建集群配置文件目录,并复制配置文件

    到安装好的单机版本的redis目录下创建集群配置文件夹
    cd /usr/local/lib/redis
    mkdir cluster
    cd cluster
    mkdir 7000 7001 7002
    
    cp ../etc/redis.conf 7000/
    cp ../etc/redis.conf 7001/
    cp ../etc/redis.conf 7002/
    

    修改配置文件

    port  7000                               # 端口7000,7002,7003        
    bind  192.168.66.2                       # 默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
    daemonize    yes                         # redis后台运行
    pidfile  /var/run/redis_7000.pid         # pidfile文件对应7000,7001,7002
    cluster-enabled  yes                     # 开启集群  把注释#去掉
    cluster-config-file  nodes_7000.conf     # 集群的配置  配置文件首次启动自动生成 7000,7001,7002
    cluster-node-timeout  15000              # 请求超时  默认15秒,可自行设置
    appendonly  yes                          # aof日志开启  有需要就开启,它会每次写操作都记录一条日志
    appendfilename "appendonly.aof"         # aof文件路径
    

    其余两个配置文件也都修改成对应的配。

    使用scp命令,把redis复制到其他节点。

    scp -r ehui@192.168.66.2:/usr/local/lib/redis /usr/local/lib
    

    把cluster目录下改为7003、7004、7005,对应的配置文件也按照这个规则修改即可。

    启动redis的服务

    bin/redis-server cluster/7000/redis.conf
    bin/redis-server cluster/7001/redis.conf
    bin/redis-server cluster/7002/redis.conf
        
    bin/redis-server cluster/7003/redis.conf
    bin/redis-server cluster/7004/redis.conf
    bin/redis-server cluster/7005/redis.conf
    
    这个时候我们查看一下进程看启动情况。
    ps -ef | grep redis
    

    这里我们只是开启了6个redis进程而已,它们都还只是独立的状态,还么有组成集群这里我们使用官方提供的工具redis-trib.rb进行集群的链接,不过这个工具是用ruby写的,要先安装ruby的环境

    在192.168.66.2下安装ruby环境(安装好的可以跳过这一步)

    离线安装:
        tar -xvzf ruby-2.4.0.tgz    
        cd ruby-2.4.0
        
        ./configure
        make
        sudo make install
    
        #配置环境变量
        vi /etc/profile  
        # 加入指令  
            export RUBY_HOME=/usr/local/lib/ruby 
            export PATH=$RUBY_HOME/bin:$PATH 
        source /etc/profile # 环境立即生效
    
    在线安装:
        yum install -y crul
        curl -L get.rvm.io | bash -s stable
            如果失败,按提示操作:先生成密钥
            curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
            再输入
            curl -L get.rvm.io | bash -s stable
        source /usr/local/rvm/scripts/rvm  #使rvm立即生效
        rvm list known                     #查看当前可用ruby版本
        rvm install  2.4.0                 #安装ruby 2.4.0 
        rvm use 2.4.0                      #使用2.4.0版本
    
    检查是否安装成功:
        ruby  --version
    

    安装ruby和redis的连接

    gem install redis
    

    链接集群

    ./redis-trib.rb create --replicas 1 192.168.66.2:7000 192.168.66.2:7001 192.168.66.2:7002 192.168.66.3:7003 192.168.66.3:7004 192.168.66.3:7005
    

    测试

    ./redis-cli -h 192.168.66.2 -c -p 7000  #进入集群
    set name value  #设置名字为name的值
    get name        #获取名字为name的值
    #性能测试
    redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q
    

    到此,redis集群安装完成。
    总结,安装过程中,时不时会遇到一些小问题,但是主要还是ruby环境安装的时候,看了很多的博客,在线安装ruby时时,都是一笔带过,但是我却碰到了很多问题,耽误了许多时间,但还好都解决了。在这里非常感谢其他博客提供的参考。

    感恩之心,珍惜当下。人生最重要的时刻就是现在。

    相关文章

      网友评论

          本文标题:简洁的 redis 单机 与 集群安装

          本文链接:https://www.haomeiwen.com/subject/xwftbxtx.html