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. #解压
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集群的安装测试(伪分布模式 - 主从复制)的更多相关文章
- Dubbo入门到精通学习笔记(十五):Redis集群的安装(Redis3+CentOS)、Redis集群的高可用测试(含Jedis客户端的使用)、Redis集群的扩展测试
文章目录 Redis集群的安装(Redis3+CentOS) 参考文档 Redis 集群介绍.特性.规范等(可看提供的参考文档+视频解说) Redis 集群的安装(Redis3.0.3 + CentO ...
- Redis 集群的安装
Redis 集群介绍.特性.规范等Redis 集群的安装(Redis3.0.3 + CentOS6.6_x64)要让 Redis3.0 集群正常工作至少需要 3 个 Master 节点,要想实现高可用 ...
- Redis集群的使用测试(Jedis客户端的使用)
Redis集群的使用测试(Jedis客户端的使用)1.Jedis客户端建议升级到最新版(当前为2.7.3),这样对3.0.x集群有比较好的支持.https://github.com/xetorthio ...
- redis集群离线安装
环境准备: redis-4.0.7.tar.gz redis的安装包 Ruby环境(集群搭建需要用ruby创建, ruby环境在2.2以上.) rubygems-2.7.4.tgz 和 redis-3 ...
- redis 集群模式安装
概念 Redis集群提供一种方式自动将数据分布在多个Redis节点上. 每个Redis集群中的节点都需要打开两个TCP连接.一个连接用于正常的给Client提供服务,比如6379,还有一个额外的端口( ...
- Mac 下,Redis(集群)的安装和配置
1. Redis 安装步骤 1. 到github下载redis,我下载的是3.0.4 下载地址:GitHub 2. 将下载下来的redis-3.0.4.tar.gz拷贝到 /usr/local 目录下 ...
- Centos7搭建redis集群及安装sentinel
准备三个节点,系统版本为CentOS7.3 11.0.8.15 master 11.0.8.16 slave01 11.0.8.17 slave02 1.安装redis # yum install - ...
- Redis集群的安装和使用
- 离线安装redis集群
Step0:redis集群组件需求 Step1:离线安装ruby Step2:离线安装rubygems Step3:安装rubygems的 redis api Step4:离线安装tcl 8.6 St ...
随机推荐
- css选择器:first-child和nth-child 采坑记
今天想用nth-child来给一个类似于树的目录(bootstrap-nav-tree 一个angularjs插件)设置不同的颜色,结构大致类似于 <ul> <li class=& ...
- SEAndroid安全机制简要介绍和学习计划
与iOS相比.Android最被人诟病的是其流畅性和安全性. 然而,从4.0開始,Android不遗余力地改善其流畅性. 特别是在即将公布的L版本号中,用ART替换了Dalvik,相信会越来越流畅.至 ...
- unity 3D + Google Play In-app Billing (IAB)(转) 热度 3
最近由于工作需要,研究unity如何接入Google Play以实现游戏内购买.目前IAB的实现,prime31做的插件比较好,各平台的IAB均有,但费用相对过高(几乎都是70刀左右,可怜穷小子).在 ...
- TortoiseSVN 冲突解决详细步骤 (图)
冲突还是很好解决的,但我没有试过在IDE里边集成怎样.记得VSS在Visual Studio里边解决冲突就非常完美,冲突自动报告,自动弹出冲突解决窗口,让你处理该怎么合并两份版本.合并后自动签入com ...
- 最好的 NMAP 扫描策略
# 适用所有大小网络最好的 nmap 扫描策略 # 主机发现,生成存活主机列表 $ nmap -sn -T4 -oG Discovery.gnmap 192.168.56.0/24 $ grep &q ...
- python笔记6-%u60A0和\u60a0类似unicode解码
前言 有时候从接口的返回值里面获取到的是类似"%u4E0A%u6D77%u60A0%u60A0"这种格式的编码,不是python里面的unicode编码. python里面的uni ...
- vi命令用法
从shell中启动可视化编辑器vi filename指示shell启动vi编辑器,并将参数filename传给它.如果当前目前中存在该文件,则vi编辑器将它解释为要打开的文件:如果没有该文件,则vi编 ...
- 彻底删除SVN版本库中部分文件或文件夹
例:假设SVN库路径为E:/svn/project,库中的目录结构为 QA/Trunk Software/Tags/test.exe 删除Software/Tags/目录下的test.exe文件 操作 ...
- ContextLoaderListener 与 ServletDispatcher
网上找了一下关于ContextLoaderListener和ServletDispatcher的解释,这是原文 http://simone-folino.blogspot.com/2012/05/di ...
- GPGPU OpenCL使用结构体数据
OpenCL编程中可以使用结构体,只需要在核函数kernel中提供同样的结构体申明就可以啦. 如果在主函数中定义了结构体: typedef struct studentNode{ int age; f ...