部署redis内存缓存服务器方案

部署redis内存缓存服务器方案

环境所需3台服务器、一台哨兵服务器、两台redis主从关系数据库服务器redis-4.0.8版本

一,redis一主一从服务器简介

Redis服务的主从复制(与mysql服务主从同步的功能一样。都是实现数据自动同步的存储结构)redis服务搭建好后,默认本身就是master主角色服务器**

主服务器:接受客户端连接

从服务器:连接主服务器同步数据,客户端对从服务器只有查询权限(只读)

附:redis主从复制工作过程(数据同步原理):

(从服务器首次做的是全量同步,且同步的数据会覆盖本机的数据)

  第一步:slave向master发送sync命令

  第二步:master启动后台存盘进程,并收集所有修改数据命令

  第三步:master完成后台存盘后,传送整个数据文件到slave

  第四步:slave接受数据文件,加载到内存中完成首次完全同步,后续有新数据产生时,master继续收集数据修改命令依次传给slave,完成同步。

二,搭建redis服务器(主从都需做此步骤)

将下载的tar包解压后源码编译安装(注意安装依赖gcc工具)

[root@redis-0001 ~]# tar xfredis-4.0.8.tar.gz

[root@redis-0001 ~]# cdredis-4.0.8/

[root@redis-0001 redis-4.0.8]# make

[root@redis-0001 redis-4.0.8]# make install

[root@redis-0001 redis-4.0.8]# ./utils/install_server.sh  #初始化配置

(使用默认配置一路回车即可)

Welcome to the redis serviceinstaller

This script will help you easilyset up a running redis server

Please select the redis port forthis instance: [6379]  端口号

Selecting default: 6379

Please select the redis configfile name [/etc/redis/6379.conf]  主配置文件

Selected default -/etc/redis/6379.conf

Please select the redis log filename [/var/log/redis_6379.log] 服务日志文件

Selected default -/var/log/redis_6379.log

Please select the data directoryfor this instance [/var/lib/redis/6379] 数据库目录

Selected default -/var/lib/redis/6379

Please select the redis executablepath [/usr/local/bin/redis-server] 服务启动命令

Selected config:

Port          : 6379

Config file    : /etc/redis/6379.conf

Log file      : /var/log/redis_6379.log

Data dir      : /var/lib/redis/6379

Executable    : /usr/local/bin/redis-server

Cli Executable :/usr/local/bin/redis-cli  连接服务命令

Is this ok? Then press ENTER to goon or Ctrl-C to abort.

Copied /tmp/6379.conf =>/etc/init.d/redis_6379

Installing service...

Successfully added to chkconfig!

Successfully added to runlevels345!

Starting Redis server...  初始化配置后 会自动启动redis服务并设置开机运行

Installation successful!

修改配置文件/etc/redis/6379.conf

70 bind  本机ip地址   

#70行bind默认为lo地址无法接收连接请求,需改成本机物理网卡地址

93 port 6379          #默认端口,可更改

[root@redis-0001redis-4.0.8]# netstat -utnalp  | grep  6379  #查看服务端口号

tcp  0  0 127.0.0.1:6379          0.0.0.0:*      LISTEN      4108/redis-server 1

[root@redis-0001redis-4.0.8]#ps -C redis-server  #查看进程

  PID TTY          TIME CMD

4424 ?        00:00:00 redis-server

[root@redis-0001redis-4.0.8]#/etc/init.d/redis_6379 stop  #停止服务

Stopping ...

Redis stopped

[root@redis-0001redis-4.0.8]# /etc/init.d/redis_6379start  #启动服务

Starting Redis server...

说明:默认只能本机连接redis服务。修改了配置文件改变redis服务的运行配置需要重启redis服务才能生效,注意!修改配置文件就无法用脚本停止重启服务,需要修改默认脚本配置或者用命令停止服务]#redis-cli -h 本机ip地址 -p 6379 shutdown

三,搭建redis服务一主一从(只需在从服务器做此步骤)

方式1,每台redis默认就是主,所以只需配置从服务器

以下为命令行配置在从服务器操作,(马上生效、但不永久适合配置线上服务器)

[root@redis-0002 redis-4.0.8]# redis-cli -h 192.168.1.59 -p 6379 #进入交互式服务

>info replication    #查看复制信息

>slaveof 主服务器IP地址 主服务器端口号  #指定主服务IP地址和端口号

>config rewrite    #把配置生效到配置文件里

附:>slaveof no one      #临时恢复为默认的主服务器

方式2,修改配置文件(永久有效,重启了redis服务依旧有效)

]#vim /etc/redis/6379.conf  #找到以下行修改对应参数

slaveof  主服务器ip地址 主服务器端口号

搭建完成,最终完成redis主从数据库服务器实时数据同步

四,redis哨兵服务器

简介:监视主从复制结构中主服务器,发现主服务器无法连接后,会把对应的从升级为主服务器,继续监视新的主数据库服务器,坏掉的主数据库服务器恢复后会自动做当前主服务器的从,哨兵服务+redis主从服务,能够实现redis服务高可用和数据的自动备份,但远比redis集群的价格成本和运维成本要低。

作用功能说明:

1可以使用一主一从或一主多从或主从从+哨兵服务做服务的高可用和数据自动备份

2如果主从结构中的redis服务设置密码的话,就必须每台数据库都要设置密码且一样

3宕机的服务器启动服务后。需要人为的指定主服务器的连接密码

配置哨兵服务

具体操作步骤如下:

1,        安装源码软件redis(无需做初始化配置)

解包源码编译安装(注意先安装gcc依赖工具软件包)

]# tar xf redis-4.0.8.tar.gz

]# cd redis-4.0.8.tar.gz

]# make

]# make install

2,        创建并编辑著配置文件(源码包里就有哨兵服务配置文件的模板)

]# vim /etc/sentinel.cnf    //创建新的空白配置文件进行编辑配置

  bind  本机物理IP地址

  port 26379  #端口,默认就是26379(可不写,也可改)

  sentinel monitor redis_server  redis主服务器IP地址  6379 1

#1为台数,有几个哨兵就写几台,目前环境为一台

sentinel auth-passredis_server 123456

#如果主服务器没有没有连接密码此配置项可以省略

3,        启动哨兵服务(用nohup和&放后台启动,不占用当前终端)

]# nohup  redis-sentinel  /etc/sentinel.conf  &

]# jobs    #查看当前终端后台进程

[1]+ 运行中  nohup redis-sentinel /etc/sentinel.conf&

完成配置后,最终实现redis主从+哨兵服务的高可用方案

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。