想跑一下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. textbox约束输入值问题解答

    网上很多关于文本框只能输入数字的,今天又找了一遍,发现以前的写法居然有点问题! onkeypress="if (event.keyCode<48 || event.keyCode> ...

  2. Android Material Design-Working with Drawables(使用Drawable)-(五)

    转载请注明出处:http://blog.csdn.net/bbld_/article/details/40584331 翻译自:http://developer.android.com/trainin ...

  3. CSS隐藏元素的几个方法(display,visibility)的区别

    在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间:有的可以响应点击,有的不能响应点击. { display: none; /* 不占据空间,无法点击 */ } ...

  4. Emacs复制粘贴乱码问题以及修改当前文件编码

    编码修改: 为了和Linux兼容,win环境下将emacs编码修改为utf-8,随意复制了其他关于emacs编码的配置,如下: (setq locale-coding-system 'utf-8) ( ...

  5. 【redis】redis五大类 用法 【转载:https://www.cnblogs.com/yanan7890/p/6617305.html】

    转载地址:https://www.cnblogs.com/yanan7890/p/6617305.html

  6. lua学习:lua中“类”的实现

    在之前的面试遇到考用lua实现类的题目.现在就补补这块知识点. 我们都知道Lua中的table是一个对象.拥有状态,拥有self,拥有独立于创建者和创建地的生命周期. 一个类就是一个创建对象的模具.L ...

  7. Nginx集群

    转自:http://hi.baidu.com/xingyuanju/blog/item/779a2a23b7ebb749935807f1.html http://hi.baidu.com/dianhu ...

  8. [C#.NET] X509 數位電子簽章

    摘自: http://www.dotblogs.com.tw/yc421206/archive/2012/06/30/73140.aspx 在上篇[C#.NET] 字串及檔案,利用 RSA 演算法加解 ...

  9. 移动端的emoji表情符号插入MySQL数据库失败

    插入数据时候报了错:### Error updating database. Cause: Java.sql.SQLException: Incorrect string value: ‘\xF0\x ...

  10. win10 修改cmd终端编码格式为utf8

    最近在使用ssh 连接服务器时,好多中文显示为乱码,查明原因,是因为自己cmd终端编码给是为gbk,而服务器编码格式为utf8,所以需要修改cmd终端编码格式为utf8,但是网上看到好多解决方案是 1 ...