小虾9527

导航

 

一、普通部署

将Redis-x64-3.2.100解压,修改配置文件,一般不需要修改,直接使用默认,具体要修改可自行百度。

打开命令行,定位到解压目录,执行命令:

redis-server.exe redis.windows.conf

有如下回显表示配置正确:

  

命令行执行以下命令可打开客户端测试:

redis-cli.exe –h 127.0.0.1 –p 6379

  

通过以下命令可部署为WindowsService:

redis-server --service-install redis.windows.conf

通过以下命令可启动/停止服务

redis-server --service-start

redis-server --service-stop

 

 

二、密码配置

1.在配置文件中通过如下配置设置密码:

requirepass 123456

2.客户端连接后通过auth命令验证授权:

 

3.在StackExchange.Redis连接字符串中设置密码:

localhost:6379,password=123456

4.集群设置密码:

先通过redis-trib.rb工具构建集群,集群构建完成前不要配置密码,

集群构建完毕再通过config set + config rewrite命令逐个机器设置密码

config set masterauth 123456

config set requirepass 123456

config rewrite

注意

1)       对集群设置密码,requirepass和masterauth都需要设置,否则发生主从切换时,就会遇到授权问题,可以模拟并观察日志

2)       各个节点的密码都必须一致,否则Redirected就会失败

3)       如果设置密码后需要使用redis-trib.rb的各种命令,需要到rbuy环境的gems里找到并修改redis工具,路径如下:

 

修改client.rb如下:

 

三、Cluster集群部署

Cluster集群脚本redis-trib.rb是通过Ruby语言编写,需要安装Ruby环境,具体步骤如下:

双击rubyinstaller-2.2.4-x64.exe安装:

  

安装驱动:

gem install --local path_to_gem/ redis-3.2.1.gem 

  

 

部署redis集群首先要分别部署多个redis服务,集群节点少于三个无法部署,所以主服务器最少三个,下面的示例方案部署6个服务,三个主,三个从,

首先创建六个配置文件,端口从7001到7006:

  

其中redis.7001.conf的配置是:

  

其他的基本类似,分别将其中的7001改成对应的端口号即可,

配置说明:

port 7001       #端口号

loglevel notice    #日志的记录级别,notice是适合生产环境的

logfile "D:/Redis/Cluster/Logs/redis7001_log.txt"         #指定log的保持路径,默认是创建在Redis安装目录下,如果有子目录需要手动创建,如此处的Logs目录

syslog-enabled yes                         #是否使用系统日志

syslog-ident redis6380                   #在系统日志的标识名

appendonly yes                              #数据的保存为aof格式

appendfilename "appendonly.7001.aof"    #数据保存文件

cluster-enabled yes                           #是否开启集群以及集群配置

cluster-config-file nodes.7001.conf        #这个文件会自动生成,下次启动服务的时候回自动使用该集群配置

cluster-node-timeout 15000

cluster-slave-validity-factor 10

cluster-migration-barrier 1

cluster-require-full-coverage yes

部署6个服务:

  

其中—service-name参数是服务名称

启动服务:

  

部署成功后查看服务:

  

部署集群:

  

其中参数—replicas 是从库个数。 

输入yes:

  

集群成功,测试一下:

 

7001节点可以连接到所有节点,其中7001-7003是主库,7004-7006是从库,至此部署已完成,打开客户端测试:

  

客户端需要参数-c ,表示集群

有上图可知,集群会自动将缓存存放其中一个节点

key1键是在7002节点,现在把7002服务停止掉:

  

检查集群:

  

发现7002节点已失去联系,7004提升为主库。

重新打开redis-cli :

  

获取key1,是从7004节点获取,继续增加键,直到分配到7004节点上,打开7002节点:

  

此时7002是从库,重新启动7004,

 

发现7002重新被提升为主库。

至此,部署完成,主从备份功能正常,故障转移也正常。

注意,互为主从库的节点中,当主库宕机的时候从库会自动提升为主库,原主库重新连接上为置为从库,如果主从都宕机了,集群就故障了,为保障一套主从的安全,要多部署从库。

posted on 2018-05-04 21:42  小虾9527  阅读(169)  评论(0编辑  收藏  举报