Redis集群的安装测试(伪分布模式 - 主从复制)
2016-04-06 14:38
761 查看
想跑一下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
https://rubygems.org/gems/redis/versions/3.2.2 (要翻墙下载)安装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/7000/ mkdir -p /usr/local/redis/cluster/7001/ mkdir -p /usr/local/redis/cluster/7002/ mkdir -p /usr/local/redis/cluster/7003/ mkdir -p /usr/local/redis/cluster/7004/ mkdir -p /usr/local/redis/cluster/7005/ #修改配置文件redis.conf cp /usr/local/redis/redis.conf /usr/local/redis/cluster/7000/redis.conf cp /usr/local/redis/redis.conf /usr/local/redis/cluster/7001/redis.conf cp /usr/local/redis/redis.conf /usr/local/redis/cluster/7002/redis.conf cp /usr/local/redis/redis.conf /usr/local/redis/cluster/7003/redis.conf cp /usr/local/redis/redis.conf /usr/local/redis/cluster/7004/redis.conf cp /usr/local/redis/redis.conf /usr/local/redis/cluster/7005/redis.conf
cp /usr/local/redis/src/redis-server /usr/local/redis/cluster/7000/redis-servercp /usr/local/redis/src/redis-server /usr/local/redis/cluster/7001/redis-servercp /usr/local/redis/src/redis-server /usr/local/redis/cluster/7002/redis-servercp /usr/local/redis/src/redis-server /usr/local/redis/cluster/7003/redis-servercp /usr/local/redis/src/redis-server /usr/local/redis/cluster/7004/redis-servercp /usr/local/redis/src/redis-server /usr/local/redis/cluster/7005/redis-server配置文件示例:
daemonize nopidfile /var/run/redis.pid#修改端口port 7000tcp-backlog 511timeout 0tcp-keepalive 0loglevel noticelogfile ""databases 16save 900 1save 300 10save 60 10000stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename dump.rdbdir ./slave-serve-stale-data yesslave-read-only yesrepl-diskless-sync norepl-diskless-sync-delay 5repl-disable-tcp-nodelay noslave-priority 100#修改为yesappendonly yesappendfilename "appendonly.aof"appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mbaof-load-truncated yeslua-time-limit 5000slowlog-log-slower-than 10000slowlog-max-len 128latency-monitor-threshold 0notify-keyspace-events ""hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-entries 512list-max-ziplist-value 64set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value 64hll-sparse-max-bytes 3000activerehashing yesclient-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10aof-rewrite-incremental-fsync yes#=========================这几个参数是必须的,可以看下官方文档===============================daemonize yescluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000#========================================================启动Redis实例:
#分别启动这6个redis实例(此时,节点均以Redis Cluster的方式运行,但并没有自动构建集群,因为还处于“我不认识你,你不属于我”的状态,它们每个都是孤零零的Redis节点,或者说只包含了一个节点的集群)cd /usr/local/redis/cluster/7000 && redis-server redis.conf > redis.log 2>&1 &cd /usr/local/redis/cluster/7001 && redis-server redis.conf > redis.log 2>&1 &cd /usr/local/redis/cluster/7002 && redis-server redis.conf > redis.log 2>&1 &cd /usr/local/redis/cluster/7003 && redis-server redis.conf > redis.log 2>&1 &cd /usr/local/redis/cluster/7004 && redis-server redis.conf > redis.log 2>&1 &cd /usr/local/redis/cluster/7005 && 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:7000 \127.0.0.1:7001 \127.0.0.1:7002 \127.0.0.1:7003 \127.0.0.1:7004 \127.0.0.1:7005集群创建完成,可以使用下面的命令查看相关信息:
#查看集群目前状况redis-cli -c -p 7000#打印集群的信息cluster info#列出集群当前已知的所有节点(node),以及这些节点的相关信息。cluster nodes输出的信息:
127.0.0.1:7000 master - 0 1439345771781 2 connected 5461-10922127.0.0.1:7001 master - 0 1439345772286 3 connected 10923-16383127.0.0.1:7002 myself,master - 0 0 1 connected 0-5460127.0.0.1:7003 slave 2566ea486fc30c911aafaf1b71130fd24a38dba9 0 1439345772791 4 connected127.0.0.1:7004 slave edea1e50bd224c6895b1904bce79e83fa07d6017 0 1439345772286 5 connected127.0.0.1:7005 slave ab06e033698627ce0ecd4c8c645585a1ae70cc84 0 1439345771276 6 connected从上面的信息可以明显看到哪些是主节点、从节点。#将节点的配置文件保存到硬盘里
cluster saveconfig#------------------------测试-----------------------------------#连接端口(可以使用其他端口测试7001-> 7000)redis-cli -c -p 7001127.0.0.1:7001> set key001 v001127.0.0.1:7001> get key001正常输出信息的话,集群建立成功,集群搭建完成。祝好运!
相关文章推荐
- Ubuntu 14.04 安装 Redis
- 基于Redis的BloomFilter实战
- 谈谈Redis的SETNX
- Redis命令小细节
- Redis命令-有序集合-zcard
- Java中使用Jedis操作Redis
- 使用Python操作Redis
- ubuntu环境下redis安装
- redis分布锁Redisson性能测试
- Java通过Jedis操作Redis
- Ubuntu Redis3.0集群测试
- redis与spring的集成
- redis开机启动
- PHP下使用Redis消息队列发布微博(复制)
- Redis三种启动方式
- Redis配置文件参数详解
- Linux下安装Redis
- Linux下PHP安装Redis扩展
- Python连接Redis连接配置
- (转)LINUX测试环境部署Redis(四)