美文网首页
redis 服务安装、集群配置

redis 服务安装、集群配置

作者: 一把君子剑 | 来源:发表于2018-09-17 15:41 被阅读11次

    1 redis服务的安装

    1.1 安装依赖

    yum install gcc gcc-c++ make
    yum install wget
    

    1.2 下载redis软件安装包

    wget http://download.redis.io/redis-stable.tar.gz
    

    1.3 解压安装

    tar xvzf redis-stable.tar.gz
    cd redis-stable
    mv redis-stable /usr/local/redis
    cd /usr/local/redis
    make
    make install
    

    编译过程中可能会有如下报错:

    在包含自 adlist.c:34 的文件中:
    zmalloc.h:50:31: 错误:jemalloc/jemalloc.h:没有那个文件或目录
    zmalloc.h:55:2: 错误:#error "Newer version of jemalloc required"
    make[1]: *** [adlist.o] 错误 1
    make[1]: Leaving directory `/usr/local/redis/src'
    

    需要执行如下命令:

    make MALLOC=libc && make install
    

    1.4 验证是否安装成功

    启动redis:

    /usr/local/redis/src/redis-server &
    

    注:加 & 代表后台运行
    查看端口:

    netstat -ntlp |grep 6379
    
    image.png

    如果显示端口正在使用则说明安装成功,没有就没安装成功。
    链接redis 测试:

    /usr/local/redis/src/redis-cli
    

    存值

    set keyTest "hello"
    

    取值

    get keyTest
    
    image.png

    关闭redis:

    /usr/local/redis/src/redis-cli shutdown
    

    1.5修改配置文件

    复制配置文件

    cp redis.conf /etc/
    

    修改配置文件

    vim /etc/redis.conf
    

    配置修改如下:

        pidfile /var/run/redis.pid  
        bind 127.0.0.1 本机ip #bind ip,绑定本机ip即可
        daemonize yes       #后台运行
        loglevel notice 
        logfile /data/logs/redis/redis.log  
        #设置log目录,需手动创建/data/logs/redis/目录,mkdir /data/logs/redis/
        dir /data/redis/
        #设置文件目录,需手动创建mkdir /data/redis/
        databases 16 
        save 900 1 
        save 300 10 
        save 60 10000 
        rdbcompression yes 
        dbfilename dump.rdb #设置db文件
        appendonly no
    

    创建数据目录 并更改权限

    mkdir /data/redis/
    chmod -R 755 /data
    

    使用 /etc/redis.conf 配置文件启动redis

    redis-server /etc/redis.conf 
    

    2 redis集群配置

    2.1 服务器配置说明

    以三主三从为例:
        只有三台服务器,所以每台服务上创建两个redis 实例,用作一主一从。
    
    注:需每台服务器上先安装好redis,可参考步骤1
    

    2.2 安装依赖

    安装ruby
        yum install ruby
    安装 gem
        yum install rubygems
    安装 gem  
        gem install redis
    

    注:redis 安装需要ruby 版本大于 2.2.2

    升级ruby方法可参考 https://www.jianshu.com/p/a1a4d59490d7

    2.3 创建实例

    注:以一台服务器为例,主从实例的端口分别为 6379、6479
    复制配置文件

    cp /usr/local/redis/redis.conf /etc/redis_6379.conf
    cp /usr/local/redis/redis.conf /etc/redis_6479.conf
    

    注:redis_6379.conf 为端口6379的配置文件,redis_6479.conf为端口6479的配置文件

    修改配置文件,修改项如下:

    port 6379       #对应实例的端口
    pidfile /var/run/redis.pid  
    bind 127.0.0.1 本机ip #bind ip,绑定本机ip即可
    daemonize yes
    
    loglevel notice 
    
    logfile /data/logs/redis/redis_6379.log 
    #设置log目录,需手动创建/data/logs/redis目录,mkdir /data/logs/redis
    
    dir /data/redis/redis_6379/
    #设置文件目录,需手动创建mkdir /data/redis/redis_6379/
    
    databases 16 
    save 900 1 
    save 300 10 
    save 60 10000 
    rdbcompression yes 
    dbfilename dump_6379.rdb
    #设置db文件
    appendonly no
    

    详细配置文件可参考 2.7

    2.4 启动实例

    使用对应的配置文件启动

    redis-server /etc/redis_6379.conf
    redis-server /etc/redis_6479.conf
    

    查看线程,端口验证是否启动正好

    ps -ef|grep redis
    netstat -tnlp | grep redis
    

    2.5 创建集群

    /usr/local/redis/src/redis-trib.rb create --replicas 1 主机1:6379 主机2:6379 主机3:6379 主机1:6479 主机2:6479 主机3:6479
    

    注:默认前面3个实例为主redis,后3个实例为从redis,只需在一台服务器上创建集群

    2.6 验证集群

    链接集群,加 –c 参数意味链接集群

    redis-cli -h 172.31.78.3 -c -p 6379
    

    2.7 详细配置文件

    配置文件:

    bind 127.0.0.1 本机ip
    protected-mode yes
    port 6379
    tcp-backlog 511
    timeout 0
    tcp-keepalive 300
    daemonize yes
    supervised no
    pidfile /var/run/redis.pid
    loglevel notice
    logfile /data/logs/redis/redis_6379.log
    databases 16
    save 900 1
    save 300 10
    save 60 10000
    stop-writes-on-bgsave-error yes
    rdbcompression yes
    rdbchecksum yes
    dbfilename dump_6379.rdb
    dir /data/redis/redis_6379/
    slave-serve-stale-data yes
    slave-read-only yes
    repl-diskless-sync no
    repl-diskless-sync-delay 5
    repl-disable-tcp-nodelay no
    slave-priority 100
    appendonly no
    appendfilename "appendonly.aof"
    appendfsync everysec
    no-appendfsync-on-rewrite no
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    aof-load-truncated yes
    lua-time-limit 5000
    cluster-enabled yes  // 启动集群模式
    cluster-config-file nodes-6379.conf
    slowlog-log-slower-than 10000
    slowlog-max-len 128
    latency-monitor-threshold 0
    notify-keyspace-events ""
    hash-max-ziplist-entries 512
    hash-max-ziplist-value 64
    list-max-ziplist-size -2
    list-compress-depth 0
    set-max-intset-entries 512
    zset-max-ziplist-entries 128
    zset-max-ziplist-value 64
    hll-sparse-max-bytes 3000
    activerehashing yes 
    client-output-buffer-limit normal 0 0 0
    client-output-buffer-limit slave 256mb 64mb 60
    client-output-buffer-limit pubsub 32mb 8mb 60
    hz 10
    aof-rewrite-incremental-fsync yes
    

    相关文章

      网友评论

          本文标题:redis 服务安装、集群配置

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