redis 4.*部署[通俗易懂]

redis 4.*部署[通俗易懂]redis redis 4.* 部署步骤 下载源码:wget http://download.redis.io/releases/redis-4.0.14.tar.gz 编译安装: yum -y i…

redis 4.*部署

redis

redis 4.*

部署步骤

  1. 下载源码:wget http://download.redis.io/releases/redis-4.0.14.tar.gz

  2. 编译安装:

    yum -y install gcc 
    tar -xaf redis-4.0.14.tar.gz
    cd redis-4.0.14
    make MALLOC=libc
    cp  src/redis-server src/redis-cli src/redis-trib.rb ${redispath} (redispath为目标安装位置)
    # cd src;cp redis-server redis-sentinel  redis-benchmark redis-check-rdb redis-check-aof /usr/local/bin/
    copy 配置文件redis.conf到安装位置,根据需要修改配置文件

    代码100分

    集群版:redis.conf(单节点修改cluster-enabled no)

    代码100分protected-mode yes
    port 6379
    tcp-backlog 511
    timeout 0
    tcp-keepalive 300
    daemonize yes
    supervised no
    pidfile "redis.pid"
    loglevel notice
    logfile "redis.log"
    databases 16
    always-show-logo yes   
    stop-writes-on-bgsave-error yes
    rdbcompression yes
    rdbchecksum yes
    dbfilename "dump.rdb"
    dir "."
    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
    lazyfree-lazy-eviction no
    lazyfree-lazy-expire no
    lazyfree-lazy-server-del no
    slave-lazy-flush no
    appendonly yes
    appendfilename "appendonly.aof"
    appendfsync everysec
    no-appendfsync-on-rewrite no
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 512mb
    aof-load-truncated yes
    aof-use-rdb-preamble no
    lua-time-limit 5000
    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
    cluster-enabled yes
    #绑定的ip地址
    bind 0.0.0.0
    #实例最大内存
    maxmemory 6gb

    调整内核参数:

    1. 关闭THP

      echo never > /sys/kernel/mm/transparent_hugepage/enabled
      echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >>/etc/rc.local
    2. 修改sysctl.conf

      代码100分vi /etc/sysctl.conf
      -------------------------------
      vm.overcommit_memory = 1
      net.core.somaxconn = 2048
    3. 使内核参数生效

      sysctl -p

    新建系统服务: 新建下面文件,复制下面内容

    vi /lib/systemd/system/redis.service
    ---------------------------------------
    [Unit]
    Description=redis
    After=network.target
    
    [Service]
    Type=forking
    WorkingDirectory=/home/admin/redis
    PIDFile=/home/admin/redis/redis.pid
    ExecStart=/home/admin/redis/redis-server  /home/admin/redis/redis.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
    LimitNOFILE=64000
    
    [Install]
    WantedBy=multi-user.target

    systemctl daemon-reload
    systemctl enable redis
    systemctl restart redis

    集群版复制二进制文件到相应节点、添加对系统服务器并启动 初始化集群步骤:

    1. 安装rvm(ruby管理器)

      gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
      curl -sSL https://get.rvm.io | bash -s stable
      source /etc/profile.d/rvm.sh
      rvm install ruby-2.6.3
    2. yum -y install gem

    3. gem install redis

    4. 初始化集群:

      ./redis-trib.rb create --replicas 1 10.8.140.43:6379 10.8.140.44:6379 10.8.140.45:6379 10.8.140.44:6380 10.8.140.45:6380 10.8.140.43:6380

redis 5.*

安装步骤和4.*一致初始化集群时直接使用redis-cli初始化,不需要使用ruby redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8915.html

(0)
上一篇 2023-02-19
下一篇 2023-02-19

相关推荐

  • 故障分析 | binlog flush 失败导致的 Crash

    故障分析 | binlog flush 失败导致的 Crash作者:xuty 开个坑,记录自己平时由于解决问题需要或是兴趣研究进行的 MySQL 源码跟踪学习过程。 一、问题现象 某项目上出现 MySQL Crash,相关 errorlog 日志如下,从日志可…

    2023-01-30
    162
  • Python关键字一览表

    Python关键字一览表Python是一种高级编程语言,它具有简单、易学、可读性好等优点,因此越来越受到广大程序员的关注和喜爱。Python中有一些特殊的单词,称为关键字。它们具有特殊的意义,不能作为变量名、函数名或类名等标识符的名称。在本篇文章中,我们将讲解Python的关键字一览表,帮助初学者更好地理解Python的语法和特性。

    2024-04-23
    69
  • 利用re.search提取字符串中的匹配项

    利用re.search提取字符串中的匹配项在Python中,re模块是处理正则表达式的标准库。其中的re.search()函数用于在字符串中搜索并返回第一个匹配到的对象。该函数的语法为:

    2024-01-07
    122
  • 基于Python的条件语句编程

    基于Python的条件语句编程在编程语言中,条件语句是一种普遍使用的结构,用来根据不同的条件来执行不同的代码块。Python作为一门高级语言,为程序员提供了强大且易于使用的条件语句。在本篇文章中,我们将详细介绍基于Python的条件语句编程的各个方面,帮助读者理解和掌握这一重要的编程概念。

    2024-08-06
    27
  • Python程序索引:集中管理和加速你的开发

    Python程序索引:集中管理和加速你的开发a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-02-19
    93
  • 用Python实现jsinsert函数

    用Python实现jsinsert函数在Web开发中,常常需要在HTML中插入JS代码,这时候我们就会用到jsinsert函数。这篇文章主要讲述如何用Python实现jsinsert函数,方便在服务器端操作JS代码。

    2024-06-17
    46
  • MySQL密码加密与解密[亲测有效]

    MySQL密码加密与解密[亲测有效]MySQL加密和解密实例详解 有多种前端加密算法可用于数据加密、解密,这是一种简单的数据库级别的数据加密、解密解决方案。 以MySQL数据库为例,它内建了相应的加密函数(AES_ENCRYPT() )

    2023-02-15
    135
  • 接口协作–apipost接口协作工具[亲测有效]

    接口协作–apipost接口协作工具[亲测有效]接口协作 apipost支持接口在线协作编辑功能,打开apipost创业一个团队,在创建一个项目。 在把需要一起协作的人员添加到团队中 在进行项目编辑把需要进行协作的人员拉取到项目中 之后在进入项目…

    2023-04-11
    149

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注