centos6.8 安装redis 4.0 搭建主从

环境:

master:172.17.165.245

slave :172.17.165.230

redis 版本:redis 4.0

1.下载并进行安装包

[[email protected] ~]#wget http://download.redis.io/releases/redis-4.0.8.tar.gz
[[email protected] ~]#tar zxvf redis-4.0.8.tar.gz  -C /usr/local/
[[email protected] ~]# cd !$
[[email protected] redis-4.0.8]# ls
00-RELEASENOTES  CONTRIBUTING  deps     Makefile   README.md   runtest          runtest-sentinel  src    utils
BUGS             COPYING       INSTALL  MANIFESTO  redis.conf  runtest-cluster  sentinel.conf     tests
[[email protected] redis-4.0.8]#make

2.修改配置文件

[[email protected] redis-4.0.8]# cp redis.conf  /etc/redis/
[[email protected] redis-4.0.8]# cp utils/redis_init_script /etc/init.d/redis
[[email protected] redis]# mv redis.conf  6379.conf
[[email protected] ~]# vim /etc/redis/6379.conf
修改守护进程
#daemonize no
#修改为yes
daemonize yes  #Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
绑定的主机地址
bind 127.0.0.1 172.17.165.245 #bind后面再添加主机的ip,后面主从复制 从Redis需要通过IP连接。
端口号
port 6379
开启AOF
appendonly yes

3.修改启动文件

REDISPORT=6379
#EXEC=/usr/local/bin/redis-server
EXEC=/usr/local/redis-4.0.8/src/redis-server  #服务端绝对地址
#CLIEXEC=/usr/local/bin/redis-cli
CLIEXEC=/usr/local/redis-4.0.8/src/redis-cli  #客户端端绝对地址

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"           #配置文件
#CONF="/etc/redis/redis-master.conf"
case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF &   #后台启动
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
      restart)  #自己添加的重启动选择
        if [ -f $PIDFILE ]
        then
                $CLIEXEC -p $REDISPORT shutdown
                $EXEC $CONF
                echo "Waiting for  Reids is restart ..."
        else
                $EXEC $CONF
                #echo "Please use start or stop as first argument"
                echo "Waiting for  Reids is restart ..."
        fi
        ;;
esac


4.配置主从

从slave上修改配置文件

[[email protected] ~]# vim /etc/redis/6379.conf
# slaveof <masterip> <masterport>
slaveof 172.17.165.245 6379

5.主master 上进行查看状态

[[email protected] ~]# redis-cli
127.0.0.1:6379>info
...
# Replication
role:master         #节点状态master
connected_slaves:1  #链接slave数为1
slave0:ip=172.17.165.230,port=6379,state=online,offset=588,lag=0  #slave节点
master_replid:f7a4830f3b523187d959b4929dcb79f6cfca7c37
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:588
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:588
...

6.从slave 上进行查看状态

[[email protected] ~]# redis-cli
127.0.0.1:6379> info
...
# Replication
role:slave  #节点状态slave
master_host:172.17.165.245  #链接到master 地址为172.17.165.245
master_port:6379
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:140
slave_priority:100
slave_read_only:1
connected_slaves:0      #链接slave的数目为0
master_replid:f7a4830f3b523187d959b4929dcb79f6cfca7c37
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:140
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:140
...


7.主从同步进行测试

主master 进行设置一个键值:

[[email protected] redis-4.0.8]# redis-cli
127.0.0.1:6379> SET test-sync wiwiiwi20180217
OK

从slave 检查是否已经自动同步到了从库:

127.0.0.1:6379> get test-sync
"wiwiiwi20180217"

可以看到,数据确实是从主库同步到了从库。

注意:主库用来写数据,从库用来读取数据

因为从库中修改的数据不会被同步到任何其他数据库,并且一旦主库修改了数据,从库的数据就会因为自动同步被覆盖,所以一般情况下,不建议将从库设置为可写

主从同步的原理:

当一个从数据库启动时,会向主数据库发送SYNC命令,主数据库收到命令后会开始在后台保存快照(即RDB持久化过程),并将保存快照期间接收到的命令缓存起来。当快照完成后,Redis会将快照文件和缓存的命令发给从数据库,从数据库收到数据后,会载入快照文件并执行缓存的命令。以上过程称为复制初始化。复制初始化之结束后,主数据库每收到写命令时就会将命令同步给从数据库,从而保证主从数据库数据一致,这一过程称为复制同步阶段。

原文地址:http://blog.51cto.com/innocence/2071044

时间: 2024-09-30 06:37:35

centos6.8 安装redis 4.0 搭建主从的相关文章

centos / Linux 服务环境下安装 Redis 5.0.3

原文:centos / Linux 服务环境下安装 Redis 5.0.3 1.首先进入你要安装的目录 cd /usr/local 2.下载目前最新稳定版本 Redis 5.0.3 wget http://download.redis.io/releases/redis-5.0.3.tar.gz 3.解压到当前目录 tar -xvzf redis-5.0.3.tar.gz 4.删除压缩包 rm redis-5.0.3.tar.gz 5.进入解压出来的目录 cd redis-5.0.3 6.编译源

centos6.5安装john-1.8.0

centos6.5安装john-1.8.0 系统环境:CentOS release 6.5 john版本:john-1.8.0 官方网站:http://www.openwall.com/john/ 安装: cd /usr/local/src wget http://www.openwall.com/john/j/john-1.8.0.tar.gz tar -xf john-1.8.0.tar.gz cd john-1.8.0/src/ yum -y install gcc gcc-c++ mak

linux安装 redis(redis-3.0.2.tar.gz) 和 mongodb(mongodb-linux-x86_64-rhel62-4.0.0)

1:首先 要下载 这两个 压缩包 注意:liunx是否已经安装过 gcc没安装的话 先安装:yum install gcc-c++ 2:安装 redis:redis-3.0.2.tar.gz (1):解压到目录:tar -zxf redis-3.0.2.tar.gz (2):执行:make (3):执行:make PREFIX=/usr/redis install (注意:PREFIX=安装路径 install) (4):执行:cp redis.conf /usr/redis (5):执行:注:

redis 4.0.13 -- 主从模式

1.前提 本文使用的是redis-4.0.13.tar.gz版本. redis各版本下载地址:http://download.redis.io/releases/, 下载与安装单个redis查看我的另一篇<redis 4.0.13 -- 单个redis下载.安装.启动.验证>的“1.下载与初始化redis” 按照我之前的文章<redis 4.0.13 -- 单个redis下载.安装.启动.验证>先在两个虚拟机上分别安装一个redis 2.修改redis.conf配置 修改其中一个你

CentOS6.8 安装 Oracle11.2.0.4

1. 安装操作系统 安装的时候选择中文+英文支持 注意分区: swap sda盘做系统盘 sdb盘做数据盘 配置完成后的服务器分区路径信息: [[email protected] ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 21G 9.4G 9.7G 50% / tmpfs 1.5G 412M 1.1G 28% /dev/shm /dev/sda1 477M 39M 413M 9% /boot /dev/sdb1

转:Centos6.5_x86安装Redis。

Redis是一个高性能的,开源key-value型数据库.是构建高性能,可扩展的Web应用的完美解决方案,可以内存存储亦可持久化存储.因为要使用跨进程,跨服务级别的数据缓存,在对比多个方案后,决定使用Redis.顺便整理下Redis的安装过程,以便查阅. 下载Redis 解压Redis 编译安装Redis 配置Redis 启动Redis 添加开机启动项 Redis配置参数 1. 下载Redis 目前,最新的Redist版本为3.0,使用wget下载,命令如下: # wget http://dow

Centos6.5安装JDK8+tomcat8.0.22+oracle-11g

晚上10点多,领导突然交给一大活,让部署一个环境要求如下:OS:centos6.5    jdk1.8      tomcat8.0.22   oracle-11g 瞬间感觉萌萌的 jdk是什么?以前还真没搞过,这其中只对tomcat有过了解,其它一无所着:现对制作过程记录如下: 一:简介 先来了了解下各项是干什么的 1:JDKJDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境.它由一个处于操作系统层之上的运

CentOS6.5 安装ntopng-1.2.0

0.准备工作 安装libpcap yum install -y libpcap* 安装redis yum install -y redis* 1.安装 tar -zxvf ntopng cd ntopng ./autogen.sh ./configure makemake install 2.运行ntopng service redis start ntopng

CentOS6.4 安装Redis

按照下面步骤依次执行1.检查依赖,安装依赖 [[email protected] ~]# whereis gcc gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz [[email protected] ~]# whereis tc tc: /sbin/tc /usr/lib64/tc /usr/share/tc /usr/share/man/man8/tc.8.gz [[email prote