前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >redis主从

redis主从

作者头像
零月
发布2018-04-25 15:54:47
8910
发布2018-04-25 15:54:47
举报
文章被收录于专栏:从零开始的linux

主机名

ip

node01(主)

192.168.6.71

node02(从)

192.168.6.72

  • 分别在两台机器上面安装redis
代码语言:javascript
复制
wget https://codeload.github.com/antirez/redis/tar.gz/2.8.21
  mv 2.8.21  redis-2.8.21.tar.gz
  rsync -av redis-2.8.21.tar.gz node02:/root/
  tar xf redis-2.8.21.tar.gz -C  /usr/local/src/
  cd /usr/local/src/
  cd redis-2.8.21/
  make
  make PREFIX=/usr/local/redis   install
 useradd -s /sbin/nologin redis
 mkdir /usr/local/redis/etc/
  mkdir /usr/local/redis/var/
  vim /etc/init.d/redis
#!/bin/sh
#
# redis        init file for starting up the redis daemon
#
# chkconfig:   - 20 80
# description: Starts and stops the redis daemon.
# Source function library.
. /etc/rc.d/init.d/functions
name="redis-server"
basedir="/usr/local/redis"
exec="$basedir/bin/$name"
pidfile="$basedir/var/redis.pid"
REDIS_CONFIG="$basedir/etc/redis.conf"
[ -e /etc/sysconfig/redis ] && . /etc/sysconfig/redis
lockfile=/var/lock/subsys/redis
start() {
    [ -f $REDIS_CONFIG ] || exit 6
    [ -x $exec ] || exit 5
  echo -n $"Starting $name: "
    daemon --user ${REDIS_USER-redis} "$exec $REDIS_CONFIG"
  retval=$?
  echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}
stop() {
  echo -n $"Stopping $name: "
    killproc -p $pidfile $name
  retval=$?
  echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}
restart() {
  stop
  start
}
reload() {
  false
}
rh_status() {
    status -p $pidfile $name
}
rh_status_q() {
    rh_status >/dev/null 2>&1
}
case "$1" in
  start)
        rh_status_q && exit 0
  $1
        ;;
  stop)
        rh_status_q || exit 0
  $1
        ;;
  restart)
  $1
        ;;
    reload)
        rh_status_q || exit 7
  $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
  restart
        ;;
    *)
  echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart}"
  exit 2
esac
exit $?
  chmod 755 /etc/init.d/redis
  chmod 777 /usr/local/redis/var
  service redis start
  vim /etc/profile
  export PATH=/usr/local/redis/bin/:$PATH
  vim  /usr/local/redis/etc/redis.conf
daemonize yes
pidfile /usr/local/redis/var/redis.pid
port 6379
timeout 300
loglevel debug
logfile /usr/local/redis/var/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /usr/local/redis/var/
appendonly no
appendfsync always
  启动redis
  ps aux | grep redis
redis      4435 0.0  0.7 137376 7472 ?        Ssl  13:45   0:00 /usr/local/redis/bin/redis-server *:6379                         
root       4440 0.0  0.0 103304 892 pts/0    S+ 13:45   0:00 grep redis  
  • 主从配置

主[root@node01]# vim /usr/local/redis/etc/redis.confdaemonize yespidfile /usr/local/redis/var/redis.pidport 6379timeout 300loglevel debuglogfile /usr/local/redis/var/redis.logdatabases 16save 900 1save 300 10save 60 10000rdbcompression yesdbfilename dump.rdbdir /usr/local/redis/var/appendonly noappendfsync alwaysrequirepass alex从[root@node02 ~]# vim /usr/local/redis/etc/redis.confdaemonize yespidfile /usr/local/redis/var/redis.pidport 6379timeout 300loglevel debuglogfile /usr/local/redis/var/redis.logdatabases 16save 900 1save 300 10save 60 10000rdbcompression yesdbfilename dump.rdbdir /usr/local/redis/var/appendonly noappendfsync alwaysslaveof 192.168.6.71 6379masterauth alex

  • 重启服务 [root@node01 ~]# service redis restart[root@node02 ~]# service redis restart
  • 查看日志 [root@node01]# tailf /usr/local/redis/var/redis.log[4507] 19 Jun 13:58:55.688 - Accepted 192.168.6.72:45249[4507] 19 Jun 13:58:55.689 * Slave 192.168.6.72:6379 asks for synchronization[4507] 19 Jun 13:58:55.689 * Full resync requested by slave 192.168.6.72:6379[4507] 19 Jun 13:58:55.690 * Starting BGSAVE for SYNC with target: disk[4507] 19 Jun 13:58:55.690 * Background saving started by pid 4512[4512] 19 Jun 13:58:55.702 * DB saved on disk[4512] 19 Jun 13:58:55.702 * RDB: 6 MB of memory used by copy-on-write[4507] 19 Jun 13:58:55.747 * Background saving terminated with success
  • 测试数据 [root@node01 redis]# redis-cli -a alex127.0.0.1:6379> keys *(empty list or set)127.0.0.1:6379> set key1 alexOK127.0.0.1:6379> get key1"alex"127.0.0.1:6379> sadd set1 123(integer) 1127.0.0.1:6379> sadd set1 222(integer) 1127.0.0.1:6379> sad set1 333(error) ERR unknown command 'sad'127.0.0.1:6379> sadd set1 333(integer) 1127.0.0.1:6379> keys *1) "key1"2) "set1"[root@node02 ~]# redis-cli -a alex127.0.0.1:6379> keys *1) "key1"2) "set1"127.0.0.1:6379> SMEMBERS set11) "123"2) "222"3) "333"127.0.0.1:6379> get key1"alex"
    • 成功了
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始的linux 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档