想跑一下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. #解压
tar -zxvf redis-3.0..tar.gz mv redis-3.0. redis #进入源码目录
cd redis #编译安装
make && make install

创建集群的相关配置

#创建集群需要的目录
mkdir -p /usr/local/redis/cluster//
mkdir -p /usr/local/redis/cluster//
mkdir -p /usr/local/redis/cluster//
mkdir -p /usr/local/redis/cluster//
mkdir -p /usr/local/redis/cluster//
mkdir -p /usr/local/redis/cluster// #修改配置文件redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster//redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster//redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster//redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster//redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster//redis.conf
#cp /usr/local/redis/redis.conf /usr/local/redis/cluster//redis.conf

配置文件示例:

daemonize no
pidfile /var/run/redis.pid #修改端口
port tcp-backlog
timeout
tcp-keepalive
loglevel notice
logfile ""
databases
save
save
save
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
repl-disable-tcp-nodelay no
slave-priority #修改为yes
appendonly yes appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit
slowlog-log-slower-than
slowlog-max-len
latency-monitor-threshold
notify-keyspace-events ""
hash-max-ziplist-entries
hash-max-ziplist-value
list-max-ziplist-entries
list-max-ziplist-value
set-max-intset-entries
zset-max-ziplist-entries
zset-max-ziplist-value
hll-sparse-max-bytes
activerehashing yes
client-output-buffer-limit normal
client-output-buffer-limit slave 256mb 64mb
client-output-buffer-limit pubsub 32mb 8mb
hz
aof-rewrite-incremental-fsync yes
#=========================新增===============================
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout
#========================================================

启动Redis实例:

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

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

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

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

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

#查看集群目前状况
redis-cli -c -p #打印集群的信息
cluster info #列出集群当前已知的所有节点(node),以及这些节点的相关信息。
cluster nodes

输出的信息:

127.0.0.1: master -    connected -
127.0.0.1: master - connected -
127.0.0.1: myself,master - connected -
127.0.0.1: slave 2566ea486fc30c911aafaf1b71130fd24a38dba9 connected
127.0.0.1: slave edea1e50bd224c6895b1904bce79e83fa07d6017 connected
127.0.0.1: slave ab06e033698627ce0ecd4c8c645585a1ae70cc84 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

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

祝好运!!

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

  1. Dubbo入门到精通学习笔记(十五):Redis集群的安装(Redis3+CentOS)、Redis集群的高可用测试(含Jedis客户端的使用)、Redis集群的扩展测试

    文章目录 Redis集群的安装(Redis3+CentOS) 参考文档 Redis 集群介绍.特性.规范等(可看提供的参考文档+视频解说) Redis 集群的安装(Redis3.0.3 + CentO ...

  2. Redis 集群的安装

    Redis 集群介绍.特性.规范等Redis 集群的安装(Redis3.0.3 + CentOS6.6_x64)要让 Redis3.0 集群正常工作至少需要 3 个 Master 节点,要想实现高可用 ...

  3. Redis集群的使用测试(Jedis客户端的使用)

    Redis集群的使用测试(Jedis客户端的使用)1.Jedis客户端建议升级到最新版(当前为2.7.3),这样对3.0.x集群有比较好的支持.https://github.com/xetorthio ...

  4. redis集群离线安装

    环境准备: redis-4.0.7.tar.gz redis的安装包 Ruby环境(集群搭建需要用ruby创建, ruby环境在2.2以上.) rubygems-2.7.4.tgz 和 redis-3 ...

  5. redis 集群模式安装

    概念 Redis集群提供一种方式自动将数据分布在多个Redis节点上. 每个Redis集群中的节点都需要打开两个TCP连接.一个连接用于正常的给Client提供服务,比如6379,还有一个额外的端口( ...

  6. Mac 下,Redis(集群)的安装和配置

    1. Redis 安装步骤 1. 到github下载redis,我下载的是3.0.4 下载地址:GitHub 2. 将下载下来的redis-3.0.4.tar.gz拷贝到 /usr/local 目录下 ...

  7. Centos7搭建redis集群及安装sentinel

    准备三个节点,系统版本为CentOS7.3 11.0.8.15 master 11.0.8.16 slave01 11.0.8.17 slave02 1.安装redis # yum install - ...

  8. Redis集群的安装和使用

  9. 离线安装redis集群

    Step0:redis集群组件需求 Step1:离线安装ruby Step2:离线安装rubygems Step3:安装rubygems的 redis api Step4:离线安装tcl 8.6 St ...

随机推荐

  1. 使用Spring配置shiro时,自定义Realm中属性无法使用注解注入解决办法

    先来看问题    纠结了几个小时终于找到了问题所在,因为shiro的realm属于Filter,简单说就是初始化realm时,spring还未加载相关业务Bean,那么解决办法就是将springmvc ...

  2. 装饰者模式:轻松记住IO类的关系与API

    开门见山 目录 概述与模型 1.概述 含义:动态地将责任附加到对象上.若要拓展功能,装饰者提供了比继承更有弹性的替代方案. 初衷:需要动态为某一个类拓展.通常我们会使用继承,但是继承的话,会产生很多子 ...

  3. Delphi 的插件框架 WisdomPluginFramework

    WisdomPluginFramework是融合OSGI微内核理念 + Eclipse的扩展点概念而精心设计的轻量级插件框架, 由Delphi实现,但可以使用于Delphi.BCB.VC++中,提供非 ...

  4. Handling Errors and Exceptions

    http://delphi.about.com/od/objectpascalide/a/errorexception.htm Unfortunately, building applications ...

  5. Can't deserialize with binaryFormatter after changing namespace of class

    After changing the namespace of my class I can no longer deserialize the objects. I've implemented S ...

  6. Linux系统下查看目录大小

    转载:http://blog.csdn.net/iamlaosong/article/details/7085178 我们有个系统每天要下载数据,为了检查下载数据是否正常,需要查看下载数据目录大小,因 ...

  7. Sound.loadCompressedDataFromByteArray

    前不久Adobe发布了Flash Player 11的release版本, Flash Player 11 带来了很多新特性, 最最红火的就是Stage3D了,但是这里讲的是这个版本的另一个新特性, ...

  8. 对于矩阵的理解-- by 孟岩老师

    “如果不熟悉线性代数的概念,要去学习自然科学,现在看来就和文盲差不多.” --瑞典数学家Lars Garding名著<Encounter with Mathematics>. 1. 矩阵的 ...

  9. @ERR Unsupported CONFIG parameter: notify-keyspace-events

    Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR Unsupported CONFIG parameter: noti ...

  10. HTML:几个常见的列表标签

    介绍: 在网页中列表是很常见的标签,主要分为有序标签.无序标签.列表嵌套.定义标签 有序标签:<ol><li></li><ol> 无序标签:<ul ...