Rumah pangkalan data tutorial mysql Redis+Keepalived内存数据库集群配置

Redis+Keepalived内存数据库集群配置

Jun 07, 2016 pm 03:10 PM
kelompok redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

前言:Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。

Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。

Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个usr/localend only file(aof)里面(这称为“全持久化模式”)。

为了提升redis高可用性,我们除了备份redis dump数据之外,还需要创建redis主从架构,可以利用从将数据库持久化(数据持久化通俗讲就是把数据保存到磁盘上,保证不会因为断电等因素丢失数据。

redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另一种是Append-only file(缩写aof)的方式。)

什么是redis的主从复制呢?

Redis主从复制,当用户往Master端写入数据时,通过Redis Sync机制将数据文件发送至Slave,Slave也会执行相同的操作确保数据一致;且实现Redis的主从复制非常简单。同时slave上还可以开启二级slave,三级slave从库,跟MySQL的主从类似。

安装redis可以参考上一次课程哦,这里直接安装slave,只需要在slave redis.conf配置文件中加入如下语句即可:

slaveof 192.168.33.10 6379  # slaveofmaster的ip master的端口。

一、安装Keepalived:

tar zxf keepalived-1.2.1.tar.gz

cd keepalived-1.2.1&&./configure --with-kernel-dir=/usr/src/kernels/2.6.18* &&make&& make install

DIR=/usr/local/ ;cp $DIR/etc/rc.d/init.d/keepalived  /etc/rc.d/init.d/

cp $DIR/etc/sysconfig/keepalived /etc/sysconfig/ &&mkdir -p /etc/keepalived

cp $DIR/sbin/keepalived /usr/sbin/

二、配置Keepalived:

vi /etc/keepalived/keepalied.conf

! Configuration File for keepalived

global_defs {

  notification_email{

      wgkgood@139.com

  }

  notification_email_fromwgkgood@139.com

  smtp_server127.0.0.1

  smtp_connect_timeout30

  router_idLVS_DEVEL

}

# VIP1

vrrp_instance VI_1 {

    state BACKUP 

    interface eth0

  lvs_sync_daemon_inteface eth0

    virtual_router_id151

    priority 100

    advert_int 5

    nopreempt

    authentication {

        auth_typePASS

        auth_pass2222

    }

    virtual_ipaddress{

        192.168.33.100

    }

}

virtual_server 192.168.33.100 6379 {

    delay_loop 6   

    lb_algo wrr   

    lb_kind DR 

    persistence_timeout60   

    protocol TCP       

    real_server 192.168.33.10 6379 {

        weight 100       

        notify_down/data/sh/redis.sh

        TCP_CHECK {

        connect_timeout10

        nb_get_retry3

        delay_before_retry3

        connect_port6379

        }

    }

}

三、从Keepalived配置:

Redis从服务器配置keepalived.conf跟master一样,只需要把Realserver IP修改成:

real_server 192.168.33.11 ;优先级从100改成90即可。

vi /etc/keepalived/keepalied.conf

! Configuration File for keepalived

global_defs {

  notification_email{

      wgkgood@139.com

  }

  notification_email_fromwgkgood@139.com

  smtp_server127.0.0.1

  smtp_connect_timeout30

  router_idLVS_DEVEL

}

# VIP1

vrrp_instance VI_1 {

    state BACKUP 

    interface eth0

  lvs_sync_daemon_inteface eth0

    virtual_router_id151

    priority 90

    advert_int 5

    nopreempt

    authentication {

        auth_typePASS

        auth_pass2222

    }

    virtual_ipaddress{

        192.168.33.100

    }

}

virtual_server 192.168.33.100 6379 {

    delay_loop 6   

    lb_algo wrr   

    lb_kind DR 

    persistence_timeout60   

    protocol TCP       

    real_server 192.168.33.11 6379 {

        weight 100       

        notify_down/data/sh/redis.sh

        TCP_CHECK {

        connect_timeout10

        nb_get_retry3

        delay_before_retry3

        connect_port6379

        }

    }

}

四、创建切换脚本:

在master、slave数据库上创建/data/sh/redis.sh脚本,内容为:

/etc/init.d/keepalived stop

然后分别重启两台Redis数据库上keepalived服务即可。

最后测试停止master Mysql服务,,是否会自动切换到Backup上即可。

下面关于Redis的文章您也可能喜欢,不妨参考下:

Ubuntu 14.04下Redis安装及简单测试

Redis主从复制基本配置

Redis集群明细文档

Ubuntu 12.10下安装Redis(图文详解)+ Jedis连接Redis

Redis系列-安装部署维护篇

CentOS 6.3安装Redis

Redis安装部署学习笔记

Redis配置文件redis.conf 详解

Redis 的详细介绍:请点这里
Redis 的下载地址:请点这里

本文永久更新链接地址

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Melaksanakan kelompok Redis menggunakan ThinkPHP6 Melaksanakan kelompok Redis menggunakan ThinkPHP6 Jun 20, 2023 am 08:36 AM

Melaksanakan kelompok Redis menggunakan ThinkPHP6

Penyelesaian kluster Redis dan Node.js: cara mencapai ketersediaan tinggi Penyelesaian kluster Redis dan Node.js: cara mencapai ketersediaan tinggi Jul 29, 2023 pm 05:42 PM

Penyelesaian kluster Redis dan Node.js: cara mencapai ketersediaan tinggi

Ketahui fungsi pangkalan data dalam bahasa Go dan laksanakan operasi baca dan tulis dalam kelompok Redis Ketahui fungsi pangkalan data dalam bahasa Go dan laksanakan operasi baca dan tulis dalam kelompok Redis Jul 29, 2023 pm 12:21 PM

Ketahui fungsi pangkalan data dalam bahasa Go dan laksanakan operasi baca dan tulis dalam kelompok Redis

Kelompok Redis dalam Redis dan cara menggunakan PHP Kelompok Redis dalam Redis dan cara menggunakan PHP May 15, 2023 pm 03:22 PM

Kelompok Redis dalam Redis dan cara menggunakan PHP

Bagaimana untuk melaksanakan penyebaran kluster cache data PHP melalui Redis? Bagaimana untuk melaksanakan penyebaran kluster cache data PHP melalui Redis? Aug 10, 2023 am 08:13 AM

Bagaimana untuk melaksanakan penyebaran kluster cache data PHP melalui Redis?

Cara menggunakan bahasa Redis dan Julia untuk melaksanakan fungsi kelompok ketersediaan tinggi Cara menggunakan bahasa Redis dan Julia untuk melaksanakan fungsi kelompok ketersediaan tinggi Sep 20, 2023 am 10:58 AM

Cara menggunakan bahasa Redis dan Julia untuk melaksanakan fungsi kelompok ketersediaan tinggi

Penyelesaian kluster Redis dan PHP: bagaimana untuk mencapai ketersediaan dan kebolehskalaan yang tinggi Penyelesaian kluster Redis dan PHP: bagaimana untuk mencapai ketersediaan dan kebolehskalaan yang tinggi Jul 30, 2023 pm 08:51 PM

Penyelesaian kluster Redis dan PHP: bagaimana untuk mencapai ketersediaan dan kebolehskalaan yang tinggi

Pelan pengembangan kelompok Redis dan butiran pelaksanaan Pelan pengembangan kelompok Redis dan butiran pelaksanaan Jun 21, 2023 am 10:58 AM

Pelan pengembangan kelompok Redis dan butiran pelaksanaan

See all articles