文档章节

redis 运维常用命令

cpaku
 cpaku
发布于 2017/01/19 15:39
字数 1067
阅读 15
收藏 0

CLUSTER INFO 打印集群的信息  

CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。   

  //节点(node)  

CLUSTER MEET <ip> <port> 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。  

CLUSTER FORGET <node_id> 从集群中移除 node_id 指定的节点。  

CLUSTER REPLICATE <node_id> 将当前节点设置为 node_id 指定的节点的从节点。  

CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。   

  //槽(slot)  

CLUSTER ADDSLOTS <slot> [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点。  

CLUSTER DELSLOTS <slot> [slot ...] 移除一个或多个槽对当前节点的指派。  

CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。  

CLUSTER SETSLOT <slot> NODE <node_id> 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。  

CLUSTER SETSLOT <slot> MIGRATING <node_id> 将本节点的槽 slot 迁移到 node_id 指定的节点中。  

CLUSTER SETSLOT <slot> IMPORTING <node_id> 从 node_id 指定的节点中导入槽 slot 到本节点。  

CLUSTER SETSLOT <slot> STABLE 取消对槽 slot 的导入(import)或者迁移(migrate)。   

  //键 (key)  

CLUSTER KEYSLOT <key> 计算键 key 应该被放置在哪个槽上。  

CLUSTER COUNTKEYSINSLOT <slot> 返回槽 slot 目前包含的键值对数量。  

CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 个 slot 槽中的键。  

 

http://wenku.baidu.com/link?url=95fErDdvPOyeE426qhPhywbRubpG8tv17jOI2yQc8VI-kO51RN4z0TCHSqwrPPgYymj_1Pek37z-14ovKOScjUf1qi0hetIU6XEpagx4h0W

http://blog.51yip.com/nosql/1726.html/comment-page-1

http://hot66hot.iteye.com/blog/2050676/

http://blog.csdn.net/huwei2003/article/details/50973967

安装步骤

wget http://download.redis.io/releases/redis-3.2.1.tar.gz

tar -zxvf redis-3.2.1.tar.gz

cd redis-3.2.1

make && make install

mkdir /home/redis

cd /home/redis 

mkdir 7000 7002 7003 7004 7005

修改redis.conf

port 7000 

daemonize yes 

cluster-enabled yes  

cluster-config-file nodes.conf 

cluster-node-timeout 5000 

bind 172.16.97.5 必须绑定真实IP,否则集群启动不了

修改完以后复制6分到对应目录并且改成对应的端口和名称

启动所有的实例

/home/redis/redis-3.2.1/src/redis-server /home/redis/7000/redis.7000.conf

安装ruby

yum install ruby ruby-devel rubygems

gem 安装 redis ruby 接口

gem install redis,

wget https://rubygems.org/downloads/redis-3.3.0.gem, 安装包安装 gem install -l /data/soft/redis-3.0.0.gem  

rm -rf /home/redis/7000/dump.rdb nodes.conf

rm -rf /home/redis/7001/dump.rdb nodes.conf

rm -rf /home/redis/7002/dump.rdb nodes.conf

rm -rf /home/redis/7003/dump.rdb nodes.conf

rm -rf /home/redis/7004/dump.rdb nodes.conf

rm -rf /home/redis/7005/dump.rdb nodes.conf

 

   /home/redis/redis-3.2.1/src/redis-server /home/redis/redis.7000.conf

   /home/redis/redis-3.2.1/src/redis-server /home/redis/redis.7001.conf

   /home/redis/redis-3.2.1/src/redis-server /home/redis/redis.7002.conf

   /home/redis/redis-3.2.1/src/redis-server /home/redis/redis.7003.conf

   /home/redis/redis-3.2.1/src/redis-server /home/redis/redis.7004.conf

   /home/redis/redis-3.2.1/src/redis-server /home/redis/redis.7005.conf

创建集群 replicas 表示为集群中的master 分配几个slave 节点

/home/redis/redis-3.2.1/src/redis-trib.rb  create --replicas 1 172.16.97.5:7000 172.16.97.10:7002 172.16.97.18:7004   172.16.97.10:7003 172.16.97.5:7001  172.16.97.18:7005

集群创建成功

查看集群状态 /home/redis/redis-3.2.1/src/redis-trib.rb check 172.16.97.5:7000

进入集群  /home/redis/redis-3.2.1/src/redis-cli -c -h 172.16.97.5 -p 7000

 

添加主节点

1:启动一个新节点

2:redis-trib.rb add-node 172.16.97.5:7006  172.16.97.5:7000

3 注释:172.16.97.5:7006 为新节点,172.16.97.5:7000 为集群中的任意主节点

 

 

添加从节点

  redis-trib.rb add-node --slave --master-id 03ccad2ba5dd1e062464bc7590400441fafb63f2 172.16.97.5:7007  172.16.97.5:7000

--slave,表示添加的是从节点

--master-id 03ccad2ba5dd1e062464bc7590400441fafb63f2,主节点的nodeid,在这里是前面新添加的7006的nodeid

172.16.97.5:7007 新节点

172.16.97.5:7000集群任一个主节点

重新shard slot

redis-trib.rb reshard 172.16.97.5:7000

改变从节点的master

redis-cli -c -p 172.16.97.5:7007

输入命令:cluster replicate 5d8ef5a7fbd72ac586bef04fa6de8a88c0671052  //新master的nodeid 

 

删除从节点:

    redis-trib.rb del-node 172.16.97.5:7007 9c240333476469e8e2c8e80b089c48f389827265

删除主节点

如果主节点有从节点,将从节点转移到其他主节点

如果主节点有slot,去掉分配的slot,然后再删除主节点

redis-trib.rb reshard 172.16.97.5:7006

redis-trib.rb del-node 172.16.97.5:7006 03ccad2ba5dd1e062464bc7590400441fafb63f2

导入数据

/home/redis/redis-3.2.1/src/redis-trib.rb import --from  172.16.97.3:6380 172.16.97.5:7000 

上面的命令是把 172.16.97.3:6380(redis 2.8)上的数据导入到 172.16.97.5:7000 这个节点所在的集群

redis-cli -p 6380 -n 1 keys '*' | xargs -I '{}' redis-cli -p 6380  -n 1 move '{}' 0

把 database 1的Key move 到 database 0

redis-cli -p 6379 -n 2 keys '*' | xargs -I '{}' redis-cli -p  6379 -n 2  migrate 172.16.97.17 6379 '{}' 2 1000 

COPY and REPLACE are available only in 3.0 and above. KEYS is available 

/home/redis-2.8.13/src/redis-cli -p 6380 -n 1 keys '*' | xargs -I '{}' /home/redis-2.8.13/src/redis-cli -p  6380 -n 1  migrate 172.16.97.5 7000 '{}' 1 1000 

cat /tmp/users.txt | xargs -I '{}' /home/redis/redis-3.2.3/src/redis-cli -h 172.16.97.10 -p 7000 -n 1 sadd downip:mail:users '{}'

© 著作权归作者所有

上一篇: Tomcat奇怪的错误
下一篇: Maven
cpaku
粉丝 0
博文 42
码字总数 5111
作品 0
常州
高级程序员
私信 提问
[ Linux运维学习 ] 路径及实战项目合集

我们知道运维工程师(Operations)最基本的职责就是负责服务的稳定性并确保整个服务的高可用性,同时不断优化系统架构、提升部署效率、优化资源利用率,确保服务可以7*24H不间断地为用户提供服...

实验楼
2017/11/15
0
0
美团在Redis上踩过的一些坑-2.bgrewriteaof问题

转载请注明出处哈:http://carlosfu.iteye.com/blog/2254154 一、背景 1. AOF: Redis的AOF机制有点类似于Mysql binlog,是Redis的提供的一种持久化方式(另一种是RDB),它会将所有的写命令按...

付磊-起扬
2015/11/05
0
0
这可能是最全的 Redis 集群方案介绍了

这可能是最全的 Redis 集群方案介绍了 原创 2016-06-01 曾健生 运维帮 由于Redis出众的性能,其在众多的移动互联网企业中得到广泛的应用。Redis在3.0版本前只支持单实例模式,虽然现在的服务...

fdhay
2016/06/02
258
0
Java开发——Redis云管理平台 实现方案CacheCloud 扫盲

本文简述一个redis云平台解决方案,该方案是搜狐TV云平台管理的解决方案CacheCloud ,感兴趣的可以持续关注我的发布。 一、CacheCloud是做什么的 CacheCloud提供一个Redis云管理平台:实现多...

欧阳愠斐
2018/07/25
0
0
Redis info cpu

Redis 运维中有个命令如下: info CPU # CPU used_cpu_sys:799.66 used_cpu_user:662.00 used_cpu_sys_children:4.72 used_cpu_user_children:39.98 想请问一下,这个几个字段是什么意思,他......

learn_more
2017/10/10
274
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
7
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
昨天
7
0
Flutter系列之在 macOS 上安装和配置 Flutter 开发环境

本文为Flutter开发环境在macOS下安装全过程: 一、系统配置要求 想要安装并运行 Flutter,你的开发环境需要最低满足以下要求: 操作系统:macOS(64位) 磁盘空间:700 MB(不包含 IDE 或其余...

過愙
昨天
6
0
OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
昨天
2.7K
16
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
昨天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部