我们来配置一个一主两从的服务,根据前面写的已经配置好的redis基础上进行主从配置

一:进入redis的配置目录

cd /usr/local/redis

创建下面3个目录,命令为:
make -p /usr/local/redis/master /usr/local/redis/slave1 /usr/local/redis/slave2

复制 redis.conf 到这个3个目录

cp /usr/local/redis/redis.conf  /usr/local/redis/master/redis.conf

依次复制redis.conf到另外2个从配置目录

二:配置项

2.1)修改端口为master->1000, slave1->2000, slave2->3000

vi /usr/local/redis/master/redis.conf

相应的修改其它2个从配置文件

2.2) 修改pidfile和logfile
在redis.conf中找到pidfile和logfile
pidfile /usr/local/redis/master/redis.pid
logfile /usr/local/redis/master/redis.log

相应的修改其它2个从配置文件slave1,slave2

2.3) 把启动方式设置为后台常驻进程方式
daemonize yes

修改主从所有的配置文件

2.4) 当然我们还可以设置外网访问的ip,(下面的实践没有设置,简单点)
默认就是绑定到了127.0.0.1

三:启动3个redis

/usr/local/redis/bin/redis-server /usr/local/redis/master/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis/slave1/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis/slave2/redis.conf

四:客户端连接redis

4.1)连接slave1:
./bin/redis-cli -h 127.0.0.1 -p 2000

然后输入下面的命令查看服务器信息:

127.0.0.1:> info Replication
# Replication
role:master
connected_slaves:
master_repl_offset:
repl_backlog_active:
repl_backlog_size:
repl_backlog_first_byte_offset:
repl_backlog_histlen:

# Replication
role:master

查看其它2台服务器得到的都是同样的信息

五:那么下面开始主从复制的配置

修改2台从服务器的配置文件
vi /usr/local/redis/slave1/redis.conf
设置为 slaveof 127.0.0.1 1000
如下图:

2台从服务器配置完成后,重启redis,查看redis是否重启成功
ps -ef|grep redis

主服务器不需要修改配置

六:验证

6.1)登录进从服务器slave1

[root@localhost redis]# ./bin/redis-cli -h 127.0.0.1 -p
127.0.0.1:> info replacation
# Replication
role:slave
master_host:127.0.0.1
master_port:
master_link_status:up
master_last_io_seconds_ago:
master_sync_in_progress:
slave_repl_offset:
slave_priority:
slave_read_only:
connected_slaves:
master_repl_offset:
repl_backlog_active:
repl_backlog_size:
repl_backlog_first_byte_offset:
repl_backlog_histlen:

6.2)登录进主服务器master:

[root@localhost redis]# ./bin/redis-cli -h 127.0.0.1 -p
127.0.0.1:> info replication
# Replication
role:master
connected_slaves:
slave0:ip=127.0.0.1,port=,state=online,offset=,lag=
slave1:ip=127.0.0.1,port=,state=online,offset=,lag=
master_repl_offset:
repl_backlog_active:
repl_backlog_size:
repl_backlog_first_byte_offset:
repl_backlog_histlen:

6.3)打开3个客户端窗口,分别连上主服务器和2个从服务器
master服务器用set命令设置一个值:
[root@localhost redis]# ./bin/redis-cli -h 127.0.0.1 -p 1000
127.0.0.1:1000> set test testslave
OK

查看2台从服务器是否获取到正确的值:
[root@localhost redis]# ./bin/redis-cli -h 127.0.0.1 -p 2000
127.0.0.1:2000> get test
"testslave"

[root@localhost redis]# ./bin/redis-cli -h 127.0.0.1 -p 3000
127.0.0.1:3000> get test
"testslave"

全部得到正确的值,说明配置就成功了

参考:

http://doc.redisfans.com/topic/replication.html

redis主从复制配置(1)的更多相关文章

  1. Redis主从复制配置+哨兵模式

    架构设计: master:s0 slave:s1.s2 主机映射信息如下: 192.168.32.100 s0 192.168.32.101 s1 192.168.32.102 s2 1.安装Redi ...

  2. Windows环境和Linux环境下Redis主从复制配置

    Windows环境下和Linux环境下配置Redis主从复制基本上一样,都是更改配置文件.Windows环境下修改的配置文件是:redis.windows.conf.redis.windows-ser ...

  3. windows下Redis主从复制配置(报错:Invalid argument during startup: unknown conf file parameter : slaveof)

    主从复制配置中的遇到的异常: Invalid argument during startup: unknown conf file parameter :  slaveof 把Redis文件夹复制两份 ...

  4. redis主从复制配置

    master配置 主要是下面配置 # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the # intern ...

  5. redis的主从复制配置

    redis的主从复制配置 一.     原理 Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架 ...

  6. 实现Redis的主从复制配置

    实现Redis的主从复制配置比较简单,而且容易明白. 下图是要配置的主从复制结构图: 1.说明 Redis主从复制中一个主服务可以有多个从服务,一个从服务可以有多个从服务. 配置比较简单,只需要更改r ...

  7. 配置Redis主从复制

    [构建高性能数据库缓存之redis主从复制][http://database.51cto.com/art/201407/444555.htm] 一.什么是redis主从复制? 主从复制,当用户往Mas ...

  8. Linux07 /redis的配置、五大数据类型、发布订阅、持久化、主从复制、哨兵配置、集群搭建

    Linux07 /redis的配置.五大数据类型.发布订阅.持久化.主从复制.哨兵配置.集群搭建 目录 Linux07 /redis的配置.五大数据类型.发布订阅.持久化.主从复制.哨兵配置.集群搭建 ...

  9. Redis教程(九):主从复制配置实例

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/136.html 一.Redis的Replication: 这里首先需要说明 ...

随机推荐

  1. Python——Django-应用的models.py内容

    一.数据的相关配置 #数据库的相关配置 DATABASE = { 'default':{ #连接的数据库类型 'ENGINE':'django.db.backends.sqlite3', #连接数据库 ...

  2. jquery获取select选择的文本与值

    jquery获取select选择的文本与值获取select :获取select 选中的 text :    $("#ddlregtype").find("option:s ...

  3. LODOP循环多任务 同模版只设置不同队列任务名

    LODOP中从PRINT_INIT(或PRINT_INITA)到最后PRINT(或PREVIEW等),是一个任务,关于Lodop中一个任务,以及一个任务中可以包含哪些语句,详细可查看本博客另一篇博文: ...

  4. css背景色 透明字体不透明

    .demo{ padding: 25px; background-color: rgba(,,,0.5);/* IE9.标准浏览器.IE6和部分IE7内核的浏览器(如QQ浏览器)会读懂 */ }

  5. Docker自制CentOS镜像

    系统环境:CentOS 7.3 将yum源切换到阿里源 可以直接写成一个脚本 #!/bin/sh mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos ...

  6. python之旅六【第六篇】模块

    json和pickle 用于序列化的两个模块json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进行转换 json模块提供了四 ...

  7. LeetCode:152_Maximum Product Subarray | 最大乘积连续子数组 | Medium

    题目:Maximum Product Subarray Find the contiguous subarray within an array (containing at least one nu ...

  8. P1200 你的飞碟在这儿

    P1200 题目描述 众所周知,在每一个彗星后都有一只UFO.这些UFO时常来收集地球上的忠诚支持者.不幸的是,他们的飞碟每次出行都只能带上一组支持者. 因此,他们要用一种聪明的方案让这些小组提前知道 ...

  9. codeforces1093G Multidimensional Queries 【线段树】

    题目分析: 搜索2^k种情况,线段树分别处理就行了,正确性明显. 代码: #include<bits/stdc++.h> using namespace std; ; int n,k; ] ...

  10. Django+Xadmin打造在线教育系统(七)

    全局导航&个人中心&全局搜索 配置全局导航 让index页面也继承base页面,注意首页有个单独的__index.js__ base页面的导航栏也进行配置 <nav> &l ...