Redis集群的安装测试(伪分布模式 - 主从复制)

想跑一下Redis集群,但是没有那么多服务器,所以使用伪分布式模式,模拟一下,记录一下安装过程。

软件: redis-3.0.3.tar.gz

集群正常工作至少需要3个主节点(本示例创建6个节点,3主3从节点)

安装前提,要有ruby、rubygems环境,先安装一下:

#安装ruby
yum --nogpgcheck -y install ruby
yum --nogpgcheck -y install ruby-devel.x86_64

#安装rubygem
yum --nogpgcheck -y install rubygems

#安装Ruby的redis接口gem-redis

安装Redis软件

#进入安装目录
cd /usr/local/
rm -rf redis
rm -rf redis-3.0.3

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

mv redis-3.0.3 redis

#进入源码目录
cd redis

#编译安装
make && make install

创建集群的相关配置

#创建集群需要的目录
mkdir -p /usr/local/redis/cluster/16001/
mkdir -p /usr/local/redis/cluster/16002/
mkdir -p /usr/local/redis/cluster/16003/
mkdir -p /usr/local/redis/cluster/16004/
mkdir -p /usr/local/redis/cluster/16005/
mkdir -p /usr/local/redis/cluster/16006/

#修改配置文件redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16001/redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16002/redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16003/redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16004/redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16005/redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster/16006/redis.conf

配置文件示例:

daemonize no
pidfile /var/run/redis.pid

#修改端口
port 16001

tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile ""
databases 16
save 900 1
save 300 10
save 60 10000
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

#修改为yes
appendonly yes

appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
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-entries 512
list-max-ziplist-value 64
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
#=========================新增===============================
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
#========================================================

启动Redis实例:

#分别启动这6个redis实例(此时,节点均以Redis Cluster的方式运行,但并没有自动构建集群,因为还处于“我不认识你,你不属于我”的状态,它们每个都是孤零零的Redis节点,或者说只包含了一个节点的集群)
cd /usr/local/redis/cluster/16001 && redis-server redis.conf > redis.log 2>&1 &

cd /usr/local/redis/cluster/16002 && redis-server redis.conf > redis.log 2>&1 &

cd /usr/local/redis/cluster/16003 && redis-server redis.conf > redis.log 2>&1 &

cd /usr/local/redis/cluster/16004 && redis-server redis.conf > redis.log 2>&1 &

cd /usr/local/redis/cluster/16005 && redis-server redis.conf > redis.log 2>&1 &

cd /usr/local/redis/cluster/16006 && redis-server redis.conf > redis.log 2>&1 &

##启动之后使用命令查看redis的启动情况
ps -ef|grep redis

创建集群,让上面的实例互相通讯

#创建集群,让上面的实例互相通讯(1 表示为每个master分配一个salve)
/usr/local/redis/src/redis-trib.rb create --replicas 1 127.0.0.1:16001 127.0.0.1:16002 127.0.0.1:16003 127.0.0.1:16004 127.0.0.1:16005 127.0.0.1:16006

集群创建完成,可以使用下面的命令查看相关信息:

#查看集群目前状况
redis-cli -c -p 16001

#打印集群的信息
cluster info

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

输出的信息:

127.0.0.1:16002 master - 0 1439345771781 2 connected 5461-10922
127.0.0.1:16003 master - 0 1439345772286 3 connected 10923-16383
127.0.0.1:16001 myself,master - 0 0 1 connected 0-5460
127.0.0.1:16004 slave 2566ea486fc30c911aafaf1b71130fd24a38dba9 0 1439345772791 4 connected
127.0.0.1:16005 slave edea1e50bd224c6895b1904bce79e83fa07d6017 0 1439345772286 5 connected
127.0.0.1:16006 slave ab06e033698627ce0ecd4c8c645585a1ae70cc84 0 1439345771276 6 connected

从上面的信息可以明显看到哪些是主节点、从节点。

#将节点的配置文件保存到硬盘里

cluster saveconfig

#------------------------测试-----------------------------------
#连接端口(可以使用其他端口测试16001 -> 16006)
redis-cli -c -p 16001

127.0.0.1:16001> set key001 v001
127.0.0.1:16001> get key001

正常输出信息的话,集群建立成功,集群搭建完成。

祝好运!!

时间: 2024-10-11 05:34:53

Redis集群的安装测试(伪分布模式 - 主从复制)的相关文章

Liunx下Redis集群的安装与测试,以及项目中的应用(redis中对象和集合的储存)。

Liunx下Redis集群的安装与测试,以及项目中的应用. 首先准备ruby和redis接口: redis-3.0.0.gem和 去https://redis.io/下载 1.使用ruby脚本搭建集群.需要ruby的运行环境. 安装ruby yum install ruby yum install rubygems 1.1安装ruby脚本运行使用的包. [[email protected] ~]# gem install redis-3.0.0.gem Successfully installe

mac下,redis集群的安装和配置

1.安装redis,执行命令brew install redis 2.安装完成后,brew info redis,可以查看redis的安装路径 3.cd /usr/local/Cellar/redis/3.0.7 进入redis安装路径 4.在/usr/local/etc下建立cluster/7001,7002,7003目录 5.复制3步骤中的bin目录下的redis-server redis.conf 文件到7001,7002,7003目录, 修改redis.conf中端口为7000,7001

redis集群的安装部署

安装过程 1. 下载并解压 wget http://download.redis.io/releases/redis-3.2.4.tar.gz tar -zxvf redis-3.2.4.tar.gz 2. 编译安装 cd redis-3.2.4 make && make install 3. 将 redis-trib.rb 复制到 /usr/local/bin 目录下 cd src cp redis-trib.rb /usr/local/bin/ 4. 创建 Redis 节点 修改red

安装、配置Redis集群

安装.配置Redis集群 目录 安装.配置Redis集群... 1 1.配置yum... 1 2.安装gcc. 1 3.下载软件包... 2 4.安装(主从都需要安装) 2 5.配置redis集群... 3 6.启动与关闭... 4 7.安装ruby rubygems. 4 8.初始化集群... 4 注:本例操作系统为Red Hat Enterprise Linux Server release 6.4 1.配置yum 未注册的Redhat不支持yum,调整步骤: cd /etc/yum.rep

Redis集群以及自动故障转移测试

在Redis中,与Sentinel(哨兵)实现的高可用相比,集群(cluster)更多的是强调数据的分片或者是节点的伸缩性,如果在集群的主节点上加入对应的从节点,集群还可以自动故障转移,因此相比Sentinel(哨兵)还是有不少优势的.以下简单测试Redis的集群(单机多实例的模式),来体验一下集群的自动故障转移功能,同时结合Python,来观察自动故障转移过程中应用程序端的表现. redis集群实例安装 启动6个redis集群实例,集群模式,除了正常的配置项目之外,需要在每个主节点中增加集群配

Redis集群容器化安装

Redis集群概述Redis作为当前非常热门的内存型数据结构存储,可用于数据存储,缓存和消息代理等.本文将讲解如何基于docker搭建Redis集群,Redis的集群设计包括两个部分:主从复制和哈希Slot.1.1. 主从复制主从复制在数据库中很常见,一般用来做读写分离,Redis中也是如此.要求只有1个Master(主节点),可以有N个slaver(从节点),而且Slaver也可以有自己的Slaver,由于这种主从的关系决定他们是在配置阶段就要指定他们的上下级关系,而不是Zookeeper那种

Redis集群的高可用测试(含Jedis客户端的使用)

Redis集群的使用测试(Jedis客户端的使用) 1.  Jedis客户端建议升级到最新版(当前为2.7.3),这样对3.0.x集群有比较好的支持. https://github.com/xetorthio/jedis http://mvnrepository.com/artifact/redis.clients/jedis 2.  直接在Java代码中链接Redis集群: // 数据库链接池配置 JedisPoolConfig config = new JedisPoolConfig();

CentOS/Linux Redis集群安装

在此文章中,只介绍redis集群的安装步骤,若想知道详细过程,请参阅以下几篇文章: Redis集群_1.redis安装 Redis集群_2.redis主从配置 Redis集群_3.redis 主从自动切换Sentinel Redis集群_4.redis 启动脚本 系统环境:CentOS 6.5 mini 软件版本:redis-2.8.19 IP地址: 节点1:192.168.100.211 节点2:192.168.100.212 节点3:192.168.100.213 Redis安装(三个节点)

离线安装redis集群

redis集群需要安装如下组件: ruby rubygems redis ---------------------------------------------------------------------------------- 离线安装ruby 1:上传ruby-2.3.1.tar.gz至服务器: 2:tar -xzvf ruby-2.3.1.tar.gz: 3:cd ruby-2.3.1 4:./configure --prefix='/opt/ruby' 5:make 6:mak