redis install -凯发k8国际

`
ssydxa219
  • 浏览: 601231 次
  • 性别:
  • 来自: 杭州
博主相关
  • 博客
  • 微博
  • 相册
  • 收藏
  • 文章分类
    社区版块
    • ( 0)
    • ( 0)
    • ( 0)
    存档分类
    最新评论

    redis install

    一、redis单实例搭建
    1. 下载redis-5.0.4.tar.gz(最新稳定版本)
    yum -y install centos-release-scl
    yum -y install devtoolset-9-gcc devtoolset-9-gcc-c devtoolset-9-binutils
    scl enable devtoolset-9 bash


    cp src/redis-benchmark /home/bin/redis/bin
    cp src/redis-check-aof /home/bin/redis/bin
    cp src/redis-check-rdb /home/bin/redis/bin
    cp src/redis-cli /home/bin/redis/bin
    cp redis.conf /home/bin/redis/bin
    cp src/redis-sentinel /home/bin/redis/bin
    cp src/redis-server /home/bin/redis/bin

    ll redis/bin/
    cd redis-6.0.8
    mkdir -p /ddhome/bin/redis/bin
    cp src/redis-benchmark /ddhome/bin/redis/bin
    cp src/redis-check-aof /ddhome/bin/redis/bin
    cp src/redis-check-rdb /ddhome/bin/redis/bin
    cp src/redis-cli /ddhome/bin/redis/bin
    cp redis.conf /ddhome/bin/redis/bin
    cp src/redis-sentinel /ddhome/bin/redis/bin
    cp src/redis-server /ddhome/bin/redis/bin
    cp src/mkreleasehdr.sh /ddhome/bin/redis/bin
    cp src/redis-check-dump /ddhome/bin/redis/bin



    ps -ef | grep redis | awk '{print $2}' | xargs kill -9
    vim redis.conf
    config set protected-mode no
    config get daemonize no
    redis-cli
    config set protected-mode no
    config get daemonize no

    redis-server > /ddhome/var/redis.log 2>&1 &

    redis-server /ddhome/bin/redis/redis.conf > /ddhome/var/redis.log 2>&1 &

    config get  daemonize和config get  protected-mode 是不是都为no,如果不是,就用config set 配置名 属性 改为no


    redis-cli -h 127.0.0.1 -p 6379 -a "123456"


    防火墙设置:

         开放6379端口

    /sbin/iptables -i input -p tcp --dport 6379 -j accept

         保存配置

    /etc/rc.d/init.d/iptables save

    2. 解压源码进入目录

    3. make

    4. make test测试编译情况(可能出现:need tcl >8.4这种情况,解决方法yum install tcl)

    5. 安装 make prefix=/usr/local/redis install

    6. make install之后,redis目录下的bin会有如下几个文件

    redis-benchmark 性能测试工具

    redis-check-aof 日志文件检测工(比如断电造成日志损坏,可以检测并修复)

    redis-check-rdb 快照文件检测工具,效果类上

    redis-cli 客户端

    redis-server 服务端


    7. 复制配置文件

    cp /redis-5.0.4/redis.conf /usr/local/redis


    8. 编辑vim redis.conf

    注释掉 bind 127.0.0.1 这个是 设置redis 只接收来自于该 ip 地址的请求,如果不进行设置,那么将处理所有请求。


    将daemonize no 改为yes 让redis 以后台服务形式运行。




    9. ./bin/redis-server redis.conf 启动redis




    ./bin/redis-cli 客户端连接




    二、redis的三种集群方式
    1. redis主从集群配置

    复制 redis.conf 为redis6380.conf

    编辑 vim redis6380.conf

    将端口改6380 并设置为6379的端口从服务器(原本使用的是slaveof,但因为有人提出slave是奴隶的意思冒犯到了别人就改成看了replicaof)。







    如果主服务器设置了密码如requirepass yhd123 则yhd123就是服务器密码(这里并没有设置密码),那从服务器就得设置masterauth yhd123,设置从服务器为只读replica-read-only yes。










    启动redis 服务,用客户端连接6380,输入info ,会发现6380端口的角色role是slave。而6379端口的role是master,并且有一个slave。













    2. 哨兵主从集群配置

    因为主从集群的情况下 如果master突然挂掉,除非手动将slave设置为master,再将其他slave连接到新的master,否则整个集群都不再工作,为了保证在master挂掉的情况下,集群继续工作,需要用到哨兵模式sentinel自动设置master并且slave连接上新master。

    配置哨兵。

    cp /usr/local/redis-5.0.4/sentinel.conf /usr/locla/redis

    编辑 vim sentinel.conf 设置后台服务运行




    当2个sentinel实例都认为master失效时,正式失效。







    启动./bin/redis-server sentinel.conf --sentinel 如需配置哨兵集群,按以上方式使用多个配置文件监控同一个主节点即可。

    三、redis-cluster 多主多从集群配置
    编辑 vim redis.conf




    cluster开启必须重命名指定cluster-config-file,不能与别的节点相同,否则会启动失败。

    创建6个实列,我这里是3台服务器 2个端口6个实例,然后将每个实例启动会生产节

    点nodes-*.conf文件。




    执行命令创建命令redis-cli --cluster create ip:6379 ip:6380 ip1:6379 ip1:6380 ip2:6379 ip2:6380 --cluster-replicas 1

    创建多主多从必须有 --cluster-replicas 1 ,不然就是6个master。

    用redis客户端连接集群./bin/redis-cli -c输入命令查看集群信息。

    查看集群节点cluster nodes,会看到对应master-slave,这样集群就搭建完毕了。任一主节点故障以后,从节点都会变为主节点,如果所有主从节点都故障则集群失效。




    四、备份(持久化)
    1. rdb持久化

    save 900 1 // 900内,有1条写入,则产生快照

    save 300 1000 // 如果300秒内有1000次写入,则产生快照

    save 60 10000 // 如果60秒内有10000次写入,则产生快照

    (这3个选项都屏蔽,则rdb禁用)




    stop-writes-on-bgsave-error yes // 后台备份进程出错时,主进程停不停止写入?

    rdbcompression yes // 导出的rdb文件是否压缩

    rdbchecksum yes // 导入rbd恢复时数据时,要不要检验rdb的完整性

    dbfilename dump.rdb //导出来的rdb文件名

    dir ./ //rdb的放置路径




    2. aof持久化

    appendonly no # 是否打开 aof日志功能

    appendfilename #导出来的aof文件名




    appendfsync always # 每1个命令,都立即同步到aof. 安全,速度慢

    appendfsync everysec # 折衷方案,每秒写1次

    appendfsync no # 写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof. 同步频率低,速度快




    no-appendfsync-on-rewrite no: # 正在导出rdb快照的过程中,要不要停止同步aof

    auto-aof-rewrite-percentage 100 #aof文件大小比起上次重写时的大小,增长率100%时,重写

    auto-aof-rewrite-min-size 64mb #aof文件,至少超过64m时,重写




    在集群里面只要一启动,只要rdb文件和aof没有丢失便会自动恢复,集群里面设置的备份方式为主aof 从 rdb aof 。

    五、运维
    1. 在dump rdb过程中,aof如果停止同步,所有的操作缓存在内存的队列里, dump完成后,统一操作。

    2. aof重写是指把内存中的数据,逆化成命令,写入到.aof日志里.以解决 aof日志过大的问题。

    3. 如果rdb文件,和aof文件都存在,优先用aof来恢复数据。

    4. 恢复时rdb快,因为其是数据的内存映射,直接载入到内存,而aof是命令,需要逐条执行。

    5. 运维的一些命令

    bgrewriteaof 后台进程重写aof

    bgsave 后台保存rdb快照

    save 保存rdb快照

    lastsave 上次保存时间

    slaveof master-host port , 把当前实例设为master的slave

    flushall 清空所有库所有键

    flushdb 清空当前库所有键

    showdown 关闭服务器

    注: 如果不小心运行了flushall, 立即 shutdown nosave ,关闭服务器

    然后手工编辑aof文件,去掉文件中的 “flushall ”相关行,然后开启服务器,就可以导入回原来数据.如果,flushall之后,系统恰好bgrewriteaof了,那么aof就清空了,数据丢失.

    slowlog 显示慢查询

    由slowlog-log-slower-than 10000,来指定多慢。(单位是微秒)

    由 slowlog-max-len 128 ,来做限制服务器储存多少条慢查询的记录。

    info [replication/cpu/memory..]

    查看redis服务器的信息
    6.redis运维时需要注意的参数

    内存

    # memory

    used_memory:859192 数据结构的空间

    used_memory_rss:7634944 实占空间

    mem_fragmentation_ratio:8.89 前2者的比例,1.n为佳,如果此值过大,说明redis的内存的碎片化严重,可以导出再导入一次.

    主从复制

    # replication

    role:slave

    master_host:192.168.1.128

    master_port:6379

    master_link_status:up

    持久化

    # persistence

    rdb_changes_since_last_save:0

    rdb_last_save_time:1375224063

    fork耗时

    #status

    latest_fork_usec:936 上次导出rdb快照,持久化花费微秒

    注意: 如果某实例有10g内容,导出需要2分钟,

    每分钟写入10000次,导致不断的rdb导出,磁盘始处于高io状态.

    慢日志

    config get/set slowlog-log-slower-than

    config get/set slowlog-max-len

    slowlog get n 获取慢日志


    运行时更改master-slave

    修改一台slave(设为a)为new master

    1) 命令该服务不做其他redis服务的slave

    命令: slaveof no one

    2) 修改其readonly为yes

    其他的slave再指向new master a

    1) 命令该服务为new master a的slave

    命令格式 slaveof ip port


    安装redis

    下载:http://download.redis.io/redis-stable.tar.gz

    上传redis-stable到/usr/local/src目录

    cd /usr/local/src

    tar -zxvf redis-stable.tar.gz #解压

    mv redis-stable  /usr/local/redis #移动文件到安装目录

    cd /usr/local/redis  #进入安装目录

    make #编译

    make install #安装

    cd  /usr/local/bin #查看是否有下面文件,如果没有,拷贝下面文件到/usr/local/bin目录

    cd /usr/local/redis

    mkdir -p /usr/local/bin

    cp -p redis-server /usr/local/bin

    cp -p redis-benchmark /usr/local/bin

    cp -p redis-cli /usr/local/bin

    cp -p redis-check-dump /usr/local/bin

    cp -p redis-check-aof /usr/local/bin

    ln -s  /usr/local/redis/redis.conf  /etc/redis.conf  #添加配置文件软连接

    vi /etc/redis.conf  #编辑

    daemonize yes  #设置后台启动redis

    :wq! #保存退出

    redis-server /etc/redis.conf  #启动redis服务

    redis-cli shutdown  #关闭redis

    vi /etc/sysctl.conf #编辑,在最后一行添加下面代码

    vm.overcommit_memory = 1

    :wq! #保存退出

    sysctl -p #使设置立即生效

    4、设置redis开机启动

    vi /etc/init.d/redis   #编辑,添加以下代码

    #!/bin/sh

    # chkconfig:   2345 90 10

    # description:  redis is a persistent key-value database

    # redis    startup script for redis processes

    # processname: redis

    redis_path="/usr/local/bin/redis-server"

    redis_conf="/etc/redis.conf"

    redis_pid="/var/run/redis.pid"

    # source function library.

    . /etc/rc.d/init.d/functions

    [ -x $redis_path ] || exit 0

    retval=0

    prog="redis"

    # start daemons.

    start() {

    if [ -e $redis_pid -a ! -z $redis_pid ];then

    echo $prog" already running...."

    exit 1

    fi

    echo -n $"starting $prog "

    # single instance for all caches

    $redis_path $redis_conf

    retval=$?

    [ $retval -eq 0 ] && {

    touch /var/lock/subsys/$prog

    success $"$prog"

    }

    echo

    return $retval

    }

    # stop daemons.

    stop() {

    echo -n $"stopping $prog "

    killproc -d 10 $redis_path

    echo

    [ $retval = 0 ] && rm -f $redis_pid /var/lock/subsys/$prog

    retval=$?

    return $retval

    }

    # see how we were called.

    case "$1" in

    start)

    start

    ;;

    stop)

    stop

    ;;

    status)

    status $prog

    retval=$?

    ;;

    restart)

    stop

    start

    ;;

    condrestart)

    if test "x`pidof redis`" != x; then

    stop

    start

    fi

    ;;

    *)

    echo $"usage: $0 {start|stop|status|restart|condrestart}"

    exit 1

    esac

    exit $retval

    :wq! #保存退出

    chmod 755 /etc/init.d/redis  #添加脚本执行权限

    chkconfig --add redis  #添加开启启动

    chkconfig --level 2345 redis on  #设置启动级别

    chkconfig --list redis  #查看启动级别

    service redis restart  #重新启动redis

    系统运维  www.osyunwei.com  温馨提醒:qihang01原创内容 凯发k8国际的版权所有,转载请注明出处及原文链接

    5、设置redis配置文件参数

    mkdir -p /usr/local/redis/var  #创建redis数据库存放目录

    vi /etc/redis.conf  #编辑

    daemonize yes  #以后台daemon方式运行redis

    pidfile "/var/run/redis.pid"  #redis以后台运行,默认pid文件路径/var/run/redis.pid

    port 6379  #默认端口

    bind 127.0.0.1 #默认绑定本机所有ip地址,为了安全,可以只监听内网ip

    timeout 300 #客户端超时设置,单位为秒

    loglevel verbose  #设置日志级别,支持四个级别:debug、notice、verbose、warning

    logfile stdout  #日志记录方式,默认为标准输出,logs不写文件,输出到空设备/deb/null

    logfile "/usr/local/redis/var/redis.log"  #可以指定日志文件路径

    databases 16  #开启数据库的数量

    save 900 1

    save 300 10

    save 60 10000

    创建本地数据库快照,格式:save * *

    900秒内,执行1次写操作

    300秒内,执行10次写操作

    60秒内,执行10000次写操作

    rdbcompression yes #启用数据库lzf压缩,也可以设置为no

    dbfilename dump.rdb  #本地快照数据库名称

    dir "/usr/local/redis/var/"   #本地快照数据库存放目录

    requirepass 123456  #设置redis数据库连接密码

    maxclients 10000 #同一时间最大客户端连接数,0为无限制

    maxmemory 1024mb #设定redis最大使用内存,值要小于物理内存,必须设置

    appendonly yes  #开启日志记录,相当于mysql的binlog

    appendfilename "appendonly.aof"   #日志文件名,注意:不是目录路径

    appendfsync everysec #每秒执行同步,还有两个参数always、no一般设置为everysec,相当于mysql事物日志的写方式

    :wq! #保存退出

    service redis restart #重启

    6、测试redis数据库

    redis-cli -a 123456  #连接redis数据库,注意:-a后面跟redis数据库密码

    set name osyunwei.com  #写数据

    get name  #读取数据

    exit #退出redis数据库控制台

    redis-benchmark -h 127.0.0.1 -p 6379 -c 1000 -n 100000  #1000个并发连接,100000个请求,测试127.0.0.1端口为6379的redis服务器性能
    分享到:
    评论

    相关推荐

      linux shell 一键安装配置redis 实现服务监控 宕机重启 开机自启 需在/home 录下解压运行 installredis.sh 即可完成 ,可以在linux上安装lrzsz 在利用 securecrt.上传到linux系统中

      安装 1.下载redis(http://redis.io/) 2.上传到linux 3.在 usr/local下新建文件夹 redis mkdir /usr/local/redis ... make prefix=/usr/local/redis install 安装成功之后 在redis目录下多出来一个bin目录

      make prefix=/usr/local/redis install 注: prefix要大写 7: 复制配置文件 cp redis.conf /usr/local/redis 注path为解压后的安装包路径 /root/gsj/redis-3.0.6 8: 让redis以后台进程的形式运行 vim /usr/local...

      windows版本 redis 下载文件直接安装即可

      新版windows的redis6.2.5安装包。如果想要教程,下载之后私聊我即可。

      导语 ... 编译到指定目录 make prefix=/usr/local/redis install创建 /usr/local/redis/ect 目录,将 redis.conf 复制过来 /usr/local/redis 目录结构如下 将 redis 添加系统服务,执行 vim /usr/li

      执行gem install redis /usr/local/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (loaderror) from /usr/local/lib/ruby/2.3.0/rubygems/core_ext/...

      使用脚本快速安装redis

      linux下redis集群,安装redis和ruby接口,所依赖的文件

      redis 6.x x86集群安装包,已经编译过的安装包,包括启动停止脚本,解压配置下ip就能搭建好redis集群

      sudo gem install -l ./redis-3.2.1.gem port 6379 daemonize yes #bind自己的ip bind 192.168.129.101 protected-mode no #启用集群 cluster-enabled yes cluster-config-file nodes-7000.conf #先启动各节点 #...

      make prefix=/usr/local/redis install 因为没有配置文件,所以将解压目录中的配置文件复制过来 cp redis/redis.conf /usr/local/redis 配置文件,启动后台启动选项 然后启动服务端,指定配置文件就可以了 ./bin/...

      搭建redis集群文件,内含六个redis,文件配置已经全部修改好了,1、先在服务器安装下yum install ruby 和 yum install rubygems 2、然后解压文件上传到linux服务器 3、./redis-cluster-start-all.sh 开启reids 4、...

      redis-serviceinstall .cmd安装成服务脚本(redis设置成windows下的服务,redis-serviceinstall .cmd脚本内容如下) redis-server --service-install redis.windows-service.conf --loglevel verbose redis-server -...

      make prefix=/usr/local/redis install 二:配置redis 使用默认配置文件,稍作修改就可以了 1.习惯做法,配置文件放在源码安装的文件夹下,便于管理吧 mkdir /usr/local/redis/etc/ cp redis-2.6.14/redis.conf /...

      linux上安装的redis

      sudo yum -y install gcc gcc-c tcl zlib zlib-devel ruby ruby-devel rubygems rpm-build sudo gem install -l ./redis-3.2.1.gem 启动6个redis节点,然后使用sudo /home/tydic/redis-3.2.13/src/redis-trib.rb ...

      安装redis(3.2.1稳定版)这是64位 如果你的操作系统是32位 则要在make 后指定是32位如下: make cflags="-march=i686" 解压进入目录 make cflags="-march=i686" 这里进入src目录 >>> make install && make test ...

      本脚本可以用于部署单节点和多节点的redis,做了如下处置: 1、配置yum源,适用于rhel/centos 2、可以灵活配置安装目录 3、可以在单节点和多节点安装多个实例 4、可以根据需要添加密码 5、根据安全需要,redis以普通...

      redis3.6版本linux系统安装脚本,一键安装redis,密码可在启动脚本中查看,快捷安装,省时省力

    global site tag (gtag.js) - google analytics
    网站地图