美文网首页分布式我爱编程
CentOS7.3搭建redis-4.0.6单机版和集群版

CentOS7.3搭建redis-4.0.6单机版和集群版

作者: Lanjerry | 来源:发表于2017-12-29 19:24 被阅读57次
    一、检查并安装所需的依赖软件
    1.安装gcc
    yum install gcc-c++
    
    2.安装ruby(搭建集群版用到)
    yum install ruby
    yum install rubygems
    
    3.安装redis-trib.rb运行依赖的ruby包(搭建集群版用到)
    gem install redis
    
    4.下载redis
    wget http://download.redis.io/releases/redis-4.0.6.tar.gz
    
    二、搭建单机版
    1.解压redis
    tar -zxvf redis-4.0.6.tar.gz
    
    2.进入到redis文件夹
    cd redis-4.0.6
    
    3.编译
    make
    
    4.安装到/usr/local/redis文件夹
    make install PREFIX=/usr/local/redis
    
    5.进入redis安装文件夹
    cd /usr/local/redis
    
    6.启动
    ①.前端启动:
    ./redis-server
    
    image.png
    ②.后台启动:
    Ⅰ.复制redis.conf到redis的安装目录
    Ⅱ.修改redis.conf,找到daemonize no,把no修改为yes
    Ⅲ.启动:./redis-server redis.conf
    Ⅳ.关闭:./redis-cli shutdown
    
    image.png
    7.查看进程
     ps aux|grep redis
    
    image.png
    8.设置密码
    Ⅰ.编辑conf:vim redis.conf
    Ⅱ.找到requirepass参数,加入设置密码123456,则是:requirepass 123456
    Ⅲ.重启redis生效
    
    三、开启远程连接
    1.修改redis.conf文件
    Ⅰ.找到bind 127.0.0.1,把这行前面加个#注释掉,或者改为你的内网ip
    Ⅱ.找到protected-mode yes 把yes修改为no
    
    2.防火墙加入6379端口
    3.服务器开启6379端口
    image.png
    4.使用客户端工具RedisDesktopManager测试
    image.png
    四、搭建集群版
    1.redis集群要求最小3主3从,需要准备6台centos7服务器,这里用6个redis实例为例子,端口分别是7001-7006,如果我的地址为:192.168.219.128,6台服务器地址即
    192.168.219.128:7001
    192.168.219.128:7002
    192.168.219.128:7003
    192.168.219.128:7004
    192.168.219.128:7005
    192.168.219.128:7006
    
    2.在local目录下创建redis-cluster存放实例
    cd /usr/local/
    mkdir redis-cluster
    
    3.拷贝单机版的redis文件夹到redis-cluster文件夹里
    cp -r /usr/local/redis /usr/local/redis-cluster/
    
    4.把redis文件夹重命名
    mv redis redis7001 
    
    5.进入到redis7001里面,删除dump.rdb文件
    cd redis7001
    rm dump.rdb
    
    6.修改redis.conf
    注意:下面内容,可以直接输入“/查找的内容”,按回车进行查找
    Ⅰ.编辑redis.conf:vim redis.conf
    Ⅱ.修改端口号:port 7001
    Ⅲ.启动后台运行:daemonize yes
    Ⅳ.修改集群:cluster-enabled yes
    Ⅵ.修改bind地址:bind 你的内网ip
    
    7.拷贝5份出来
    cp -r redis7001/ redis7002
    cp -r redis7001/ redis7003
    cp -r redis7001/ redis7004
    cp -r redis7001/ redis7005
    cp -r redis7001/ redis7006
    
    8.分别修改端口号为7002、7003、7004、7005、7006
    9.拷贝redis-trib.rb文件到redis-cluster文件夹,前提下要安装好ruby
    cp redis-4.0.6/src/redis-trib.rb /usr/local/redis-cluster
    
    10.在redis-cluster文件夹下创建start-all.sh文件,用来启动所有的redis
    vim start-all.sh
    内容:
    cd redis7001
    ./redis-server redis.conf
    cd ..
    cd redis7002
    ./redis-server redis.conf
    cd ..
    cd redis7003
    ./redis-server redis.conf
    cd ..
    cd redis7004
    ./redis-server redis.conf
    cd ..
    cd redis7005
    ./redis-server redis.conf
    cd ..
    cd redis7006
    ./redis-server redis.conf
    cd ..
    
    11.增加执行权限
    chmod +x start-all.sh
    
    12.启动所有的redis
    image.png
    13.执行创建集群的命令
    ./redis-trib.rb create --replicas 1 120.78.86.118:7001 120.78.86.118:7002 120.78.86.118:7003 120.78.86.118:7004 120.78.86.118:7005  120.78.86.118:7006
    
    14.连接集群
    redis7001/redis-cli -p 7001 -c
    
    注意:
    redis集群不仅需要开通redis客户端连接的端口,而且需要开通集群总线端口
    集群总线端口为redis客户端连接的端口 + 10000
    如redis端口为6379,则集群总线端口为16379
    所以,所有服务器需要开通redis的客户端连接端口和集群总线端口
    每台都要开启这两个端口
    image.png
    五、持久化
    1.RDB方式——在指定的时间间隔能对你的数据进行快照存储
    从配置文件redis.conf可以找到以下配置
    # 时间策略
    # 1.如果900s内有1条是写入命令,就触发产生一次快照
    # 2.如果300s内有10条是写入命令,就触发产生一次快照
    # 3.如果60s内有10000条是写入命令,就触发产生一次快照
    save 900 1  
    save 300 10  
    save 60 10000  
    
    # 文件名称
    dbfilename dump.rdb
    
    # 文件保存路径
    dir ./  #表示当前目录
    
    # 如果持久化出错,主进程是否停止写入
    # 这个配置也是非常重要的一项配置,这是当备份进程出错时,主进程就停止接受新的写入操作,是为了保护持久化的数据一致性问题。如果自己的业务有完善的监控系统,可以禁止此项配置, 否则请开启
    stop-writes-on-bgsave-error yes
    
    # 是否压缩
    # 优点:减少磁盘存储空间
    # 缺点:消耗CPU资源
    # 建议没有必要开启,毕竟Redis本身就属于CPU密集型服务器,再开启压缩会带来更多的CPU消耗,相比硬盘成本,CPU更值钱。
    rdbcompression yes
    
    # 导入时是否检查
    rdbchecksum yes
    
    2.AOF方式——记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据。
    从配置文件redis.conf可以找到以下配置
    # 是否开启aof
    appendonly yes
    
    # 文件名称
    appendfilename "appendonly.aof"
    
    # 同步方式
    #有三种模式:
    #1.always:把每个写命令都立即同步到aof,很慢,但是很安全
    #2.everysec:每秒同步一次,是折中方案
    #3.no:redis不处理交给OS来处理,非常快,但是也最不安全
    #一般情况下都采用 everysec 配置,这样可以兼顾速度与安全,最多损失1s的数据
    appendfsync everysec
    
    # aof重写期间是否同步
    no-appendfsync-on-rewrite no
    
    # 重写触发配置
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    
    # 加载aof时如果有错如何处理
    aof-load-truncated yes
    
    # 文件重写策略
    aof-rewrite-incremental-fsync yes
    

    相关文章

      网友评论

        本文标题:CentOS7.3搭建redis-4.0.6单机版和集群版

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