Redis安装及配置主从复制
2013-12-18 17:34
615 查看
http://blog.sina.com.cn/s/blog_6577a3b00101bb84.html
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、 list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操
作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的 是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis 是一个高性能的key-value数据库。
redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。(以上内容摘自百度百科)
一:下载redis并安装
[root@server11 ~]# wget http://redis.googlecode.com/files/redis-2.6.4.tar.gz
[root@server11 ~]# tar -zxvpf redis-2.6.4.tar.gz
[root@server11 ~]# cd redis-2.6.4
[root@server11 redis-2.6.4]# make install
32位操作系统上可能会出现如下报错:
zmalloc.o: In function `zmalloc_used_memory':
/root/redis-2.6.4/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'
collect2: ld returned 1 exit status
make[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/root/redis-2.6.4/src'
make: *** [all] Error 2
解决方案参考:
https://groups.google.com/forum/?fromgroups#!topic/redis-db/NI_d00he39o
二:编辑redis配置文件,启动redis
[root@server11 ~]# mkdir -p /usr/local/redis2/{bin,etc,var}
[root@server11 redis-2.6.4]# cp redis.conf /usr/local/redis2/etc/
[root@server11 redis-2.6.4]# cp /usr/local/bin/redis-* /usr/local/redis2/bin/
[root@server11 ~]# grep -v '^#' /usr/local/redis2/etc/redis.conf |grep -v '^$' //各参数含义在配置文件中有具体的解释和介绍
daemonize yes
pidfile /usr/local/redis2/var/redis.pid
port 6379
bind 192.168.1.112
timeout 300
loglevel notice
logfile stdout
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
slave-serve-stale-data yes
slave-read-only yes
slave-priority 100
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
[root@server11 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
[root@server11 ~]# netstat -ntpl |grep 6379
tcp 0 0 192.168.1.112:6379 0.0.0.0:* LISTEN 6044/redis-server
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112
redis 192.168.1.112:6379> set number 100
OK
redis 192.168.1.112:6379> get number
"100"
redis 192.168.1.112:6379> del number
(integer) 1
redis 192.168.1.112:6379> get number
(nil)
redis 192.168.1.112:6379> quit
三: redis主从配置,关闭主节点的redis实例,复制/usr/local/redis2/目录至从节点
[root@server11 ~]# ps -ef |grep redis
root 6044 1 0 09:37 ? 00:00:00 /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
root 6072 27475 0 09:44 pts/1 00:00:00 grep redis
[root@server11 ~]# kill 6044
[root@server11 ~]# scp -rvp /usr/local/redis2/ root@192.168.1.113:/usr/local/
[root@server12 ~]# grep -v '^#' /usr/local/redis2/etc/redis.conf |grep -v '^$' //注意红色字体部分
daemonize yes
pidfile /usr/local/redis2/var/redis.pid
port 6379
bind 192.168.1.113
timeout 300
loglevel notice
logfile stdout
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename salve.rdb
dir ./
slaveof 192.168.1.112 6379
slave-serve-stale-data yes
slave-read-only yes
slave-priority 100
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
四:分别启动主从节点redis实例并测试
[root@server11 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
[root@server12 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
[root@server12 ~]# netstat -ntpl |grep 6379
tcp 0 0 192.168.1.113:6379 0.0.0.0:* LISTEN 16653/redis-server
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112
redis 192.168.1.112:6379> set number 1
OK
redis 192.168.1.112:6379> get number
"1"
redis 192.168.1.112:6379> quit
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113
redis 192.168.1.113:6379> get number
"1"
redis 192.168.1.113:6379> del number
(error) READONLY You can't write against a read only slave.
redis 192.168.1.113:6379> quit
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、 list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操
作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的 是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis 是一个高性能的key-value数据库。
redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。(以上内容摘自百度百科)
一:下载redis并安装
[root@server11 ~]# wget http://redis.googlecode.com/files/redis-2.6.4.tar.gz
[root@server11 ~]# tar -zxvpf redis-2.6.4.tar.gz
[root@server11 ~]# cd redis-2.6.4
[root@server11 redis-2.6.4]# make install
32位操作系统上可能会出现如下报错:
zmalloc.o: In function `zmalloc_used_memory':
/root/redis-2.6.4/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'
collect2: ld returned 1 exit status
make[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/root/redis-2.6.4/src'
make: *** [all] Error 2
解决方案参考:
https://groups.google.com/forum/?fromgroups#!topic/redis-db/NI_d00he39o
二:编辑redis配置文件,启动redis
[root@server11 ~]# mkdir -p /usr/local/redis2/{bin,etc,var}
[root@server11 redis-2.6.4]# cp redis.conf /usr/local/redis2/etc/
[root@server11 redis-2.6.4]# cp /usr/local/bin/redis-* /usr/local/redis2/bin/
[root@server11 ~]# grep -v '^#' /usr/local/redis2/etc/redis.conf |grep -v '^$' //各参数含义在配置文件中有具体的解释和介绍
daemonize yes
pidfile /usr/local/redis2/var/redis.pid
port 6379
bind 192.168.1.112
timeout 300
loglevel notice
logfile stdout
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
slave-serve-stale-data yes
slave-read-only yes
slave-priority 100
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
[root@server11 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
[root@server11 ~]# netstat -ntpl |grep 6379
tcp 0 0 192.168.1.112:6379 0.0.0.0:* LISTEN 6044/redis-server
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112
redis 192.168.1.112:6379> set number 100
OK
redis 192.168.1.112:6379> get number
"100"
redis 192.168.1.112:6379> del number
(integer) 1
redis 192.168.1.112:6379> get number
(nil)
redis 192.168.1.112:6379> quit
三: redis主从配置,关闭主节点的redis实例,复制/usr/local/redis2/目录至从节点
[root@server11 ~]# ps -ef |grep redis
root 6044 1 0 09:37 ? 00:00:00 /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
root 6072 27475 0 09:44 pts/1 00:00:00 grep redis
[root@server11 ~]# kill 6044
[root@server11 ~]# scp -rvp /usr/local/redis2/ root@192.168.1.113:/usr/local/
[root@server12 ~]# grep -v '^#' /usr/local/redis2/etc/redis.conf |grep -v '^$' //注意红色字体部分
daemonize yes
pidfile /usr/local/redis2/var/redis.pid
port 6379
bind 192.168.1.113
timeout 300
loglevel notice
logfile stdout
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename salve.rdb
dir ./
slaveof 192.168.1.112 6379
slave-serve-stale-data yes
slave-read-only yes
slave-priority 100
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
四:分别启动主从节点redis实例并测试
[root@server11 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
[root@server12 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf
[root@server12 ~]# netstat -ntpl |grep 6379
tcp 0 0 192.168.1.113:6379 0.0.0.0:* LISTEN 16653/redis-server
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112
redis 192.168.1.112:6379> set number 1
OK
redis 192.168.1.112:6379> get number
"1"
redis 192.168.1.112:6379> quit
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113
redis 192.168.1.113:6379> get number
"1"
redis 192.168.1.113:6379> del number
(error) READONLY You can't write against a read only slave.
redis 192.168.1.113:6379> quit
相关文章推荐
- redis4.0.1(stable)安装和主从复制配置
- redis之redis的安装,主从复制配置以及java客户端操作
- Redis安装及配置主从复制
- Linux+Windows环境下Redis安装详细教程(主从复制+哨兵机制配置)
- Ubuntu 12.10下安装Redis, 主从复制配置
- Redis 使用说明 安装配置 主从复制
- Redis 学习笔记(三):主从复制、主从配置和性能测试
- redis的主从复制配置
- redis 主从配置/复制
- win2003系统下学习Mysql主从复制安装配置
- Redis安装和主从配置
- linux下如何安装配置redis及主从配置
- redis 安装配置,主从服务器负载
- windows单机配置Redis主从复制
- Redis主从复制和集群配置
- Redis集群的安装测试(伪分布模式 - 主从复制)
- Redis的主从复制与集群配置实践
- Dark感觉不错的一篇文章。Redis主从复制和集群配置
- redis安装以及主从的简单配置测试
- Centos7下配置安装mysql5.5主从复制(一主两从)