其中第一次接触安装redis,set --有序集合)和hash(

作者: 操作系统  发布:2019-11-05

最近因公司项目原因,去了趟昆明出差,其中第一次接触安装redis,配置sentinel,学习到不少,但也都是皮毛而已,本随笔记下所学知识。

1. 部署Redis集群说明

 

     需要用到6台主机,所以采用Redis Replication + Redis Sentinel实现主从复制与故障转换。采用1 master 2 slave 3 sentinel(一主二从三哨兵)模式。3个sentinel是为了保证其中一个sentinel和主主机挂掉后,其它2个检测到并且同意后才会实现故障转移。如果总共只有2个sentinel的话,只能设置一个sentinel同意转移(具体设置文中会提到),那么可能会引起不必要的冲突。

  1、首先介绍下redis,来源自百度百科

      Redis简介:Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对很多其它。包含string(字符串)、list(链表)、set(集合)、zset(sorted

  redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

set --有序集合)和hash(哈希类型)。为了保证效率,数据都是缓存在内存中。

  Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。[1] 

2. 下载Windows 版Redis

  Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

       由于Redis官网没有提供Windows版本,下载微软提供的 Redis-x64-3.2.100 解压包,下载Url:https://pan.baidu.com/s/1mi3QB4O。 三台主机都需要安装。例如主主机IP 192.168.38.204 ,从主机IP 192.168.38.205,从主机IP 192.168.38.206为例(一主二从三哨兵)。

  redis的官网地址,非常好记,是redis.io。(特意查了一下,域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地)

3. 在主主机中,解压后去根目录,打开redis.windows.conf文件,将默认的bind 127.0.0.1修改为主机的真实IP,如下:

目前,Vmware在资助着redis项目的开发和维护。

 

4. 配置从主机 192.168.38.205 (192.168.38.206一样配置)

 

       解压后去根目录,打开redis.windows.conf文件,将默认的bind 127.0.0.1修改为主机的真实IP,如下:

  2、 下载redis

添加以下,关联主主机的Redis

  这里我安装的是redis-window-64bit-2.8.19版本,所以就给出我安装的版本下载地址

至此,Redis主从配置完成,数据会实时进行同步

  链接: 密码: sf95

5. 以下为配置Sentinel进行故障转移

 

3个Sentinel的部署主机分别IP为:192.168.36.227, 192.168.36.228, 192.168.36.229

  3、安装redis

6.配置Sentinel (三台配置方式一致)

    下载完之后放在本地解压即可,比如我是放在C:redis2.8-64bit

        解压后去根目录,新建sentinel文件夹并且在文件夹中新建sentinel.conf文件并打开,插入如下信息:

  一般来说默认配置就是可以启动的,以防不对就再检查一遍redis.windos.conf,

bind 192.168.38.205

  端口默认 port 6379

port 26379

  其他都不用改,直接启动即可

dir sentinel

  cmd进入到 C:redis2.8-64bit,然后命令 redis-server.exe redis.windows.conf 就可以启动redis,看到如下图所示时表示启动成功

sentinel monitor mymaster 192.168.38.204 6379 2     //这里的2代表需要2台sentinel同意才实现转移

  图片 1

sentinel down-after-milliseconds mymaster 60000

  其中可以看到redis的版本,因为是第二次启动,会从硬盘读取之前存储的数据,DB loaded from disk

sentinel failover-timeout mymaster 180000

 

sentinel parallel-syncs mymaster 1

  4、测试redis

7. 将Redis设置为开机自启动(2选1)

这是启动的服务端,然后我们启动客户端去尝试连接redis服务端,并简单测试redis服务是否正常,同样是启动另一个cmd窗口,进入到redis主目录,敲命令

 1.根目录执行redis-server --service-install redis.windows.conf添加到服务中。如图在系统服务中可见

reids-cli.exe

  1. 使用Windows工作排程器

图片 2

将Sentinel设置为开机自启动。新建一个bat文件,输入以下内容,在排程内设置为开机自执行。

忽略我的目录,因为本人用的是mac,安装的windows 32位的虚拟机,连接给出的下载是64位的(昆明现网测试过,可用,32 64位的配置一样)

C:

这里有个需要注意的是,如果之前redis.windows,.conf 里bind配置注释掉或者配置的是bind 127.0.0.1,那么启动可以用 redis-cli.exe 直接启动,如果配置的是本机ip,比如 bind 10.211.55.3  

cd C:

 图片 3

cd C:redis

 

redis-server.exe  sentinel/sentinel.conf --sentinel

那么必须用 redis-cli.exe -h 10.211.55.3 -p 6379 来启动(有人可能会问,默认配置不就行了么,为啥要配置成自己本机ip?后面配置sentinel会用到的)

8. 测试:先启动主主机Redis,然后启动从主机Redis,最后启动Sentinel,

 

Redis启动命令为:根目录中执行redis-server.exe  redis.windows.conf或者在系统服务中启动

启动完客户端之后如下图,写个简单的测试下

Sentinel启动命令为:根目录中执行redis-server.exe  sentinel/sentinel.conf --sentinel

首先测试 get redisTest ,是没有值的

(注意:是cmd打开控制台,cd到根目录执行命令)

图片 4

9. 启动后可用RedisDesKtopManager可视化工具进行查看数据是否同步

然后 set redisTest 1231231,存储下,再get下,发现已经存储进去,就这么简单。

10. 测试故障转移:在主主机Redis根目录中执行:redis-cli.exe -h 192.168.38.204 -p 6379进入主主机Redis,同理另外打开一个cmd并执行redis-cli.exe -h 192.168.38.205 -p 6379 进入192.168.38.205中的Redis,进入不同IP的Redis后查看当前Redis的信息,如图:

 

注意:截图中的205主机采用的端口是6380,请以实际设置的端口为准

下面给出配置文件解释的博文

可以看出当前204为主主机,205为从主机

配置文件解释:

10.关闭主主机的Redis

至于redis怎么用,这个大家自行百度,教程很多,我也刚接触不太懂。

 

11. 当Sentinel监听到主主机断开时,当30秒内(时间在新建的sentinel.conf进行设置)确认无法从新连接后,会自动切换从主机为主主机,sentinel输入如下

12. 至此,205切换为主主机

     204切换为从主机

至此,测试完成

本文由9159.com发布于操作系统,转载请注明出处:其中第一次接触安装redis,set --有序集合)和hash(

关键词:

上一篇:没有了
下一篇:没有了