第一章 redis 集群安装配置

*** 集群对应的主从节点如果同时down,则整个redis集群无法工作

*** 部分是对网上资源的整理,部分是安装过程中存在问题的总结

准备、环境

centos1:192.168.215.156     A
centos2:192.168.215.157     B

yum -y  install zlib ruby rubygems
gem install redis

查看ruby安装的软件的结合

gem list

安装redis

[root@A opt]# tar -zxvf redis-3.2.2.tar.gz
[root@A opt]# cd redis-3.2.2
[root@A redis-3.2.2]# cd src/
[root@A src]# make && make install

redis 设置集群的配置

[[email protected] redis-3.2.2]# mkdir cluster/
[[email protected] cluster]# mkdir 7000
[[email protected] cluster]# mkdir 7001
[[email protected] cluster]# mkdir 7002

[[email protected] cluster]# mkdir 7003
[[email protected] cluster]# mkdir 7004
[[email protected] cluster]# mkdir 7005

修改redis的配置文件

[[email protected] 7000]# cat redis.conf
port  7000
#端口7000,7002,7003
bind  192.168.215.156
#默认ip为127.0.0.1 需要改为其他节点机器可访问的ip或者网段,否则创建集群时无法访问对应的端口,无法创建集群
daemonize    yes
#redis后台运行
pidfile  /var/run/redis_7000.pid
#pidfile文件对应7000,7001,7002
cluster-enabled  yes
#开启集群  把注释#去掉
cluster-config-file  nodes_7000.conf
#集群的配置  配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout  15000
#请求超时  默认15秒,可自行设置
appendonly  yes
#数据存放AOF

开启每一台机器上的redis的服务

[[email protected] redis-3.2.2]# redis-server cluster/7000/redis.conf

查看端口信息

[[email protected] redis-3.2.2]# ps -ef|grep redis
root      11302      1  0 11:41 ?        00:00:03 redis-server 192.168.215.156:7000 [cluster]
root      11306      1  0 11:41 ?        00:00:03 redis-server 192.168.215.156:7001 [cluster]
root      11310      1  0 11:41 ?        00:00:03 redis-server 192.168.215.156:7002 [cluster]
root      12125   2558  0 12:00 pts/4    00:00:00 redis-cli -h 192.168.215.156 -c -p 7000
root      12135   5806  0 12:15 pts/0    00:00:00 grep redis

开启防火墙iptables策略

例如:6379端口,需要放开6379和16379;6380需要开放6380和16380端口
原则上+10000
保护模式需要修改:protected-mode no

创建集群

[[email protected] redis-3.2.2]# redis-trib.rb create --replicas 1 A:7000 A:7001 A:7002 B:7003 B:7004 B:7005
----replicas 1 标识主节点下有1个从节点
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.215.157:7003
192.168.215.156:7000
192.168.215.157:7004
.
.
.
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

测试集群

集群的链接redis-cli   -h  host  -c  -p port
[[email protected] cluster]# redis-cli -h 192.168.215.156 -c -p 7000
[[email protected] redis-3.2.2]# redis-cli -h 192.168.215.157 -c  -p 7003

192.168.215.157:7003> SET "xiaozhang" "男"
-> Redirected to slot [6387] located at 192.168.215.156:7000
OK

192.168.215.156:7000> KEYS *
1) "xiaozhang"
192.168.215.156:7000> get "xiaozhang"
"\xe7\x94\xb7"

节点查询 > cluster nodes

./redis-trib.rb check 127.0.0.1:7002

cluster 扩容,增加节点

下面的命令将7006做为master添加到cluster中
./redis-trib.rb add-node IP:7006 IP:7000
把7007当成slave加入
./redis-trib.rb add-node --slave --master-id 226d1af3c95bf0798ea9fed86373b89347f889da 127.0.0.1:7007 127.0.0.1:7000

增加新的节点之后,问题就来了,16384个slot已经被其它3组节点分完了,新节点没有slot,没办法存放缓存,所以需要将slot重新分布。

查看:
?  src ./redis-trib.rb info 127.0.0.1:7000
127.0.0.1:7000 (0b7e0d53...) -> 4 keys | 5461 slots | 1 slaves.
127.0.0.1:7001 (e0e8dfdd...) -> 4 keys | 5462 slots | 1 slaves.
127.0.0.1:7006 (226d1af3...) -> 0 keys | 0 slots | 1 slaves. #7006上完全没有slot
127.0.0.1:7002 (ec964a7c...) -> 9 keys | 5461 slots | 1 slaves.
[OK] 17 keys in 4 masters.
0.00 keys per slot on average.

./redis-trib.rb reshard 127.0.0.1:7000

删除节点del-nod

./redis-trib.rb del-node 127.0.0.1:7006 88e16f91609c03277f2ee6ce5285932f58c221c1
时间: 2024-10-29 08:19:34

第一章 redis 集群安装配置的相关文章

redis集群安装

Redis集群安装 1         环境准备 1.1  系统环境 Centos6.5 2.6.32-431.el6.x86_64 1.2  依赖包 yum -y install wget tcpdump glibc libgcc gcc gcc-c++ ncurses-devel bison openssl openssl-devel xinetd glibc glibc-common gd gd-devel rsync puppet ntp perl cmake man tree lsof

redis集群部署配置

Redis集群部署配置 测试环境:服务器系统为centos6.5,redis版本为3.2.2,使用一台机器,模拟6个redis实例来创建redis集群,其中3主3从 分别建立redis的安装目录,并复制redis.conf到安装目录下. 2.修改每个目录下的redis.conf配置文件 port 7000   #端口 daemonize yes cluster-enabled yes   #开启集群模式 cluster-config-file nodes-7000.conf  #集群配置文件 c

Redis集群的配置

[转]Redis集群的配置 一:memcache 和 Redis 对比总结 [memecache 特点] 1:速度最快(没有自测,但网上有详细的测试用例) 2:支持水平扩展,可以任意添加节点 [redis 特点] 1:速度没有memcache快 2:支持M/S的主从备份 3:可以支持多数据库 4:操作指令很丰富 4:支持异步数据持久化(以文件保存) 总结: 1:如果是简单的数据缓存建议使用MEMCACHE. 2:如果要对单一操作的数据量非常的大则使用MEMCACHE 3: 如果想做性能很好的缓存

1.22 redis集群介绍21.23/21.24 redis集群搭建配置21.25 redis集群

21.22 redis集群介绍多个redis节点网络互联,数据共享所有的节点都是一主一从(可以是多个从),其中从不提供服务,仅作为备用不支持同时处理多个键(如mset/mget),因为redis需要把键均匀分布在各个节点上,并发量很高的情况下同时创建键值会降低性能并导致不可预测的行为.支持在线增加.删除节点客户端可以连任何一个主节点进行读写 21.23/21.24 redis集群搭建配置场景设置:两台机器,分别开启三个Redis服务(端口)A机器上三个端口7000,7002,7004,全部为主B

redis集群介绍、redis集群搭建配置、redis集群操作

一:redis集群介绍 多个redis节点网络互联,数据共享所有的节点都是一主一从(可以是多个从),其中从不提供服务,仅作为备用不支持同时处理多个键(如mset/mget),因为redis需要把键均匀分布在各个节点上,并发量很高的情况下同时创建键值会降低性能并导致不可预测的行为.支持在线增加.删除节点客户端可以连任何一个主节点进行读写 二:redis集群搭建配置 场景设置:两台机器,分别开启三个Redis服务(端口)A机器上三个端口7000,7002,7004,全部为主B机器上三个端口7001,

高可用RabbitMQ集群安装配置

RabbitMQ集群安装配置+HAproxy+Keepalived高可用 rabbitmq 集群 消息队列 RabbitMQ简介 RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现. AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然.AMQP的主

elk集群安装配置详解

#  一:简介 ``` Elasticsearch作为日志的存储和索引平台: Kibana 用来从 Elasticsearch获取数据,进行数据可视化,定制数据报表: Logstash 依靠强大繁多的插件作为日志加工平台: Filebeat 用来放到各个主机中收集指定位置的日志,将收集到日志发送到 Logstash: Log4j 直接与 Logstash 连接,将日志直接 Logstash(当然此处也可以用 Filebeat 收集 tomcat 的日志). ``` ####  port ```

spark集群安装配置

spark集群安装配置 一. Spark简介 Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发.Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoop MapReduce所具有的优点:但不同于Hadoop MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,节省了磁盘IO耗时,性能比Hadoop更快. 所以,相对来说Hadoop更适合做批处理,而Spark更适合做需要反复迭代的机器学习.下面是我在ubuntu1

Hadoop集群安装配置文档

Hadoop集群安装配置文档 日期 内容 修订人 2015.6.3 文档初始化 易新             目录 1 文档概要... 5 1.1软件版本... 5 1.2机器配置... 5 2 虚拟机配置... 5 2.1新建虚拟机... 5 2.2虚拟网络配置... 8 3 CentOS安装及配置... 9 3.1系统安装... 9 3.2系统配置... 10 3.2.1防火墙配置... 10 3.2.2 SElinux配置... 10 3.2.3 IP配置... 11 3.2.4安装vim