码迷,mamicode.com
首页 > 其他好文 > 详细

redis主从

时间:2018-01-22 23:11:43      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:oca   1.2   moni   cal   list   port   lease   pidfile   man   

1 redis配置文件常用选项说明
daemonize no
说明:是否把redis-server启动在后台,默认是“否”。若改成yes,会生成一个pid文件。

pidfile /var/run/redis.pid
说明:redis-server的pid文件。
port 6379
说明:redis-server的端口号

dbfilename dump.rdb
说明:数据库文件的位置,最好添加绝对路径,若不添加时在启动用户的home目录下。
slaveof <masterip> <masterport>
说明:设置主从服务器的主服务器的地址和端口。例如:slaveof 192.168.1.1 6379

loglevel verbose
说明:日志级别,有四种,debug,verbose,notice,warning。

logfile stdout
说明:日志的输出文件,默认是标准输出。例如:logfile /tmp/redis.log

2 主从的安装和配置
2.1 基本环境
假设我有两台机器:
master: 192.168.1.1
slave: 192.168.1.2
.下载
使用的版本是: redis-2.4.13

cd redis-2.4.13
make
sudo make install

2.2 安装主服务器
vim redis.conf
根据自己的需要修改一些参数
.修改磁盘上保存数据库文件的位置:
dbfilename /redisdb/dump.rdb
.修改日志级别
#如果只要输出少量日志的话,可以用waring
loglevel warning
.修改日志文件的位置
logfile /tmp/redis.log

2.3 安装和配置从机
cp redis.conf /etc/redis_slave.conf
vim redis_slave.conf
修改其中的一行
配置master的ip地址和redis-server的端口。
slaveof <masterip> <port>

3 启动和测试
主机: redis-server /etc/redis.conf
从机: redis-server /etc/redis_slave.conf
3.1 测试
在主机上启动redis客户端:
ssh 192.168.1.1
redis-cli

set k1 v1
get k1
"v1"
.登陆从机,并在从机上启动客户端:
ssh 192.168.1.2
redis-cli
get k1
"v1"
可以看到redis已经把数据同步过来了。
试验环境:虚拟机上装2台cnetOS 64位
主服:192.168.210.11 (nat上网模式)
从服:192.168.210.12

Redis是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。
它提供了Python,Ruby,Erlang,PHP客户端,支持复制。
目前最新版本为:redis-2.8.9
下载地址:http://download.redis.io/releases/redis-2.8.9.tar.gz
安装:
[root@localhost ~]# yum install -y gcc gcc-c++ tcl //这些是必须安装的,否则会报错!!!
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar xf redis-2.8.9.tar.gz
[root@localhost src]# cd redis-2.8.9
[root@localhost redis-2.8.9]# make //直接make就行了,因为redis不支持configure配置预配置环境,所以为了管理方便,手动创建 ,redis家目录用来存放命令和配置文件。
[root@localhost redis-2.8.9]# make test //检查是否有错误
[root@localhost redis-2.8.9]# mkdir -p /usr/local/redis/bin
[root@localhost redis-2.8.9]# mkdir /usr/local/redis/conf
[root@localhost redis-2.8.9]# cd src/
[root@localhost src]# cp redis-benchmark redis-check-aof redis-check-dump redis-sentinel redis-server redis-cli /usr/local/redis/bin/ #相关命令
[root@localhost src]# cd .. && cp redis.conf /usr/local/redis/conf/ #拷贝主配置文件

修改配置文件(主服):
[root@localhost ~]# vi /usr/local/redis/conf/redis.conf
daemonize yes #no改为yes,启动守护进程。
保存退出,启动redis。
[root@localhost ~]# /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
[root@localhost ~]# lsof -i:6379 #6379为redis默认监听端口 //没有lsof,就yum安装一下呗~0.0
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 7324 root 4u IPv6 22814 0t0 TCP :6379 (LISTEN)
redis-ser 7324 root 5u IPv4 22816 0t0 TCP
:6379 (LISTEN)
测试(主服):
redis自带命令行工具,也可以通过telnet到端口测试。
[root@localhost ~]# /usr/local/redis/bin/redis-cli -p 6379
127.0.0.1:6379> set test rootop
OK
127.0.0.1:6379> get test
“rootop”
127.0.0.1:6379> exit

修改配置文件(从服):安装redis是一样的方法 ~
[root@localhost ~]# vi /usr/local/redis/conf/redis.conf
daemonize yes #no改为yes,启动守护进程。
port 6380 #6379改成6380
保存退出,启动redis。
[root@localhost ~]# /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
[root@localhost ~]# lsof -i:6380 #这个地方的端口是6379还是6380我记得不清楚了,自己试一下~
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 7324 root 4u IPv6 22814 0t0 TCP :6380 (LISTEN)
redis-ser 7324 root 5u IPv4 22816 0t0 TCP
:6380 (LISTEN)

测试(从服):
redis自带命令行工具,也可以通过telnet到端口测试。
[root@localhost ~]# /usr/local/redis/bin/redis-cli -p 6380
127.0.0.1:6380> get test //由于主服那里 set test rootop 了,这里只要 get test 能得到 “rootop” 就成功了~
“rootop”
127.0.0.1:6380> exit

redis主从

标签:oca   1.2   moni   cal   list   port   lease   pidfile   man   

原文地址:http://blog.51cto.com/amazing61/2063893

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!