redis的集群常规操作记录

2018-01-06 10:52:32来源:网络收集作者:纳米程序员人点击

分享

系列教程都是从网络上收集和本人的理解所编辑而成,仅供广大爱好者学习所用,请尊重本人的劳动成果。欢迎评论指正和转帖!(请保留连接谢谢!)


 《redis安装》
    下载地址http://redis.io/download


安装步骤:
    1 首先需要安装gcc,把下载好的redis-3.0.0-rc2.tar.gz 放到linux /usr/local文件夹下
    2 进行解压 tar -zxvf redis-3.0.0-rc2.tar.gz
    3 进入到redis-3.0.0目录下,进行编译 make
    4 进入到src下进行安装 make install  验证(ll查看src下的目录,有redis-server 、redis-cil即可)
    5 建立俩个文件夹存放redis命令和配置文件
       mkdir -p /usr/local/redis/etcmkdir -p /usr/local/redis/bin
    6 把redis-3.0.0下的redis.conf 移动到/usr/local/redis/etc下,
       cp redis.conf /usr/local/redis/etc/
    7 把redis-3.0.0/src里的mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-check-dump、redis-cli、redis-server 
文件移动到bin下,命令:
       mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
    8 启动时并指定配置文件:./redis-server /usr/local/redis/etc/redis.conf(注意要使用后台启动,所以修改redis.conf里的 daemonize 改为yes)
    9 验证启动是否成功:
       ps -ef | grep redis 查看是否有redis服务 或者 查看端口:netstat -tunpl | grep 6379       进入redis客户端:./redis-cli 


       退出客户端:quit


退出redis服务三种方法: 
    (1)pkill redis-server 
    (2)kill 进程号            
    (3)/usr/local/redis/bin/redis-cli shutdown 


《Redis主从复制》
      原理:从服务器找主服务器,主服务器可读可写,从服务器只能读不能写。
      配置:在从服务器中配置一句:slaveof 主服务器IP地址 主服务器端口号。


《Redis哨兵》
      原理:在从节点的任意一台机器上部署,或者开启一台新机器进行部署。
      配置:修改redis中的sentinel.conf文件。
      port 26378(自己取IP地址)
      dir "/tmp"
      sentinel monitor master1 10.46.28.2 6378 1
      sentinel down-after-milliseconds master1 5000
      sentinel failover-timeout master1 5000
      sentinel config-epoch master1 80
      loglevel notice
      logfile "/home/www/output/redis/logs/redis-sentinel.log"
      # Generated by CONFIG REWRITE
      sentinel leader-epoch master1 5049
      sentinel current-epoch 5049
      启动:   ./redis-server  ./sentinel.conf
      查看:   ./redis-cli -h 192.168.1.121 -p 26379 info Sentinel
      关闭:   ./redis-cli -h 192.168.1.121 -p 6379 shutdown


《Redis事务》
  进入redis中,执行如下命令:
  multi --->开启事务
  set xx -->设置值
  exec  --->确认执行
  注意:事务操作不会影响其它的数据,仅仅当前出错的数据不能成功,其它是成功的,没有回滚环节。


《 Redis持久化-RDB与AOF的区别》
   两种区别就是,一个是持续的用日志记录写操作,crash后利用日志恢复;一个是平时写操作的时候不触发写,只有手动提交save命令,或者是关闭命令时,才触发备份操作。
   选择的标准,就是看系统是愿意牺牲一些性能,换取更高的缓存一致性(aof),还是愿意写操作频繁的时候,不启用备份来换取更高的性能,待手动运行save的时候,再做备份(rdb)。rdb这个就更有些 eventually consistent的意思了。
   参考:http://blog.csdn.net/jackpk/article/details/30073097

《Redis集群》
  原理:主要是修改redis.conf文件中的配置,来实现多redis集群,可以用一台电脑或多台电脑。
  实现:
  1.把redis.conf文件放置在统一的位置,方便管理。
  2.修改里面的配置:
    a.daemonize  --->yes
    b.port --> 设置成独立的,类似的:7000。。。。70001
    c.bind --> 必须要绑定当前机器的IP地址
    d.dir  --> 指定数据文件存放的位置,有RDB和A0F模式
    e.cluster-enabled --> yes  设置集群模式
    f.cluster-config-file -->对应设置每个conf文件,用端口号+名字的方法 例如:redis7000.conf
    g.cluster-node-timeout -->设置节点超时时间 5000
    h.appendonly -->yes
  3.由于redis集群需要ruby,所有需要安装
    a.yum install runby
    b.yum install rubygems
    c.gem install redis  (插件)
  4.运行单个的redis
  5.启动集群
  ./redis-trib.rb create --replicas 1(主从占比,从除以主) 192.168.1.121:7001 192.168.1.121:7002 192.168.1.121:7003 192.168.1.121:7004 192.168.1.121:7005 192.168.1.121:7006

《访问集群某个节点》
./redis-cli -c -h 192.168.1.121 -p 7001

《新增集群从节点》
  ./redis-trib.rb add-node 192.168.1.121.7007(新增节点) 192.168.1.121.7001(主节点)默认是主节点,但是不能存放数据,需要分配存储数据的空间
  ./redis-trib.rb reshard 192.168.1.121.7007 (增加存储数据的空间)
  1.设置存储空间
  2.输入ID号
  3.输入 all 表示平均分配
  4.输入yes

《新增集群主节点》
./redis-trib.rb add-node 192.168.1.121.7008(新增节点) 192.168.1.121.7001(默认是主节点,变成从节点)
./redis-cli -c -h 192.168.1.121 -p 7008 (登陆后输入下面命令)
cluster replicate id(主节点id) 
《删除集群从节点》
./redis-trib.rb del-node 191.168.1.121:7008  id(节点id) 

删除集群主节点》
  删除主节点之前,我们要把数据移动到其它节点上。
  ./redis-trib.rb reshard 192.168.1.121.7007 (增加存储数据的空间)
  1.设置存储空间
  2.移动到哪个ID号
  3.输入done 表示结束
  4.输入yes
  执行删除
  ./redis-trib.rb del-node 191.168.1.121:7008  id(节点id) 


最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台