Redis主从部署
Master:192.168.30.131 Slave01:192.168.30.132 Slave02:192.168.30.134
1) 下载软件包
这里使用:redis-3.0.3.tar.gz
2) Redis安装
tarzxf redis-3.0.3.tar.gz mv redis-3.0.3 /data/redis cd /data/redis make&& make install mkdir /data/redis_6379
3) Redis配置
找到配置文件/data/redis/redis.conf
修改如下内容:
daemonize no 改为 yes #启动后台运行 dir ./ 改为 /data/redis_6379 #数据目录 slaveof 192.168.30.131 6379 #同步master,只在从上设置此参数
4) Redis启动
cp /data/redis/util/redis_init_scriptetc/init.d/redis
且修改如下:
CONF=/data/redis/redis.conf
PIDFILE=/var/run/redis.pid
serviceredis start
5) Redis主从测试
redis-cli
127.0.0.1:6379>set name yang
OK
127.0.0.1:6379>get name
“yang”
总结:缺点为单点故障
Redis哨兵部署
架构图:
修改文件/data/redis/sentinel.conf如下:
Sentialmontinelmymastar 192.168.30.131 2
格式如下:
Sentialmontinel监控主机名字(随意定义) 主数据IP 端口号quorum值
quorum值计算法:哨兵节点数量/2+1
总结:解决了单点故障,缺点是每个数据库依然存有集群中的所有数据,导致集群的总数据存储受限于可用存储内存最小的数据库节点,形成木桶效应。
/data/redis/src/redis-sentinel /data/redis/sentinel.conf
Redis持久化
两种持久化:RDB和AOF
RDB:指定的规则“定时”将内存中的数据存储在硬盘上;
AOF:在每次执行命令后将命令本身记录下来。
RDB设置(默认开启):
根据配置规则进行自动快照
用户执行save或bgsave命令
执行flushall命令
执行复制(主从)时
AOF设置:
开启appendonly参数
指定保存文件appendfilename参数
Redis数据迁移
利用持久化迁移数据 ##########查看配置信息及当前存储的key值########### 127.0.0.1:6379> INFO # Server redis_version:3.0.3 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:b12f89c1e0186f28 ….. # Keyspace db0:keys=7,expires=0,avg_ttl=0 #########保存最新的key值################ 127.0.0.1:6379> BGSAVE Background saving started ##########查看是否保存成功############## 127.0.0.1:6379> LASTSAVE (integer) 1444357287 ##########关闭redis服务器############## [root@hadoop01 ~]# killall -9 redis-server ##########压缩redis文件并拷入另一台机器######### [root@hadoop01 data]# tar zcf redis.gz redis_6379 [root@hadoop01 data]# scp redis.gzroot@192.168.30.134:/data/ #########登陆192.168.30.134机器并做相应配置####### 修改redis.conf文件 dir /data/redis_6379 #########解压缩RDB文件######################## [root@hadoop04 data]# tarzxf redis.gz #########重启Redis服务器######################## [root@hadoop04 redis_6379]# serviceredis start
Redis管理
以下都是在修改redis.conf配置文件
1) 指定登录服务器
bing 127.0.0.1
注:bing参数只能绑定一个地址
2) 数据库密码认证
requrepass密码
登录客户端认证格式:
AUTH 密码
注:从服务器设置masterauth参数为主的密码
3) 命令重命名设置
rename-command FLUSHELLdfsad
格式:
rename-command 原命令名新命令名
Redis desktop manager工具