您的位置:首页 > 数据库 > Redis

redis 安装 主从同步 哨兵模式

2017-10-10 19:23 267 查看

一.redis 的安装

1.先将安装包放到linux的一个文件夹下面
2.解压压缩包如图所示



3.解压后进入解压文件

4.安装: make 出现it.s a good idea to run 'make test'则表示安装成功

如下图:





5.修改redis.config文件
a)因为我们要在外网使用 需要将绑定的本机给注释掉  并且在redis3.2之后新增了protected-mode配置,默认是yes,
我们这里还要将他改成no
详情参考这里http://blog.csdn.net/sukexiaozi/article/details/52022449





b)保护进程   后台启动redis  将daemonize设置为yes



c)在这里我修改一下端口号  以便对后面的哨兵和主从同步进行配置  这里我把端口号改成6360



然后启动redis   
 ./src/redis-server  ./redis.conf 
然后查看进程



入上图 redis    6360端口起启动了
然后本地测试:./src/redis-cli -h localhost -p 6360
-h 是连接的主机ip,host的缩写,-p 是端口 port的缩写  ,-a 后面是密码(requirepass 后面配置的)auth的缩写 (这里我们没有设置密码所以不用输入)

如下图就是成功了  并且存值 123 为haha   123 位键    haha为值





然后外网测试:可以在另外一台机器上安装上redis通过redis-cli来连接     也可以通过工具连接测试比如RedisDesktopManager
因为我本地安装了redis所以直接在本地连接服务器上的redis来测试结果如下:



这样redis就安装完毕。

二.主从同步

当数据量变得庞大的时候,读写分离还是很有必要的。同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能。

准备三个redis服务,依次命名文件夹子6360,6361,6362,我们这里是一主两从 主为master从为slave
   master的使用6360端口。

并在同级目录下创建bin目录留作备用

结构如下:



接下来配置redis.config
master为6360和刚才的配置一样

slave1修改配置

slave2修改配置

将各个配置文件放到对应的文件夹下面 并将下面这些文件复制到刚才创建的bin目录下

redis-benchmark                redis性能测试工具 (src目录下)

redis-check-aof                aof文件修复程序(src目录下)

redis-check-rdb               RDB文件检查工具(src目录下)

redis-cli                      redis客户端(src目录下)

redis-sentinel                 redis集群(这个是2.8新增的功能,具体的再进一步摸索)

redis-server                   redis服务器   (src目录下)

启动三个redis
./bin/redis-server  ./6360/redis6360.conf

./bin/redis-server  ./6361/redis6361.conf

./bin/redis-server  ./6362/redis6362.conf

  测试方法就是连上 master的存储一个值然后再连接上salve的获取这个值能获取则表示成功

从机能同步主机的值,主从复制,读写分离就实现了
但是万一主机挂了怎么办,这是个麻烦事情,所以redis提供了一个sentinel(哨兵),以此来实现主从切换的功能,类似与zookeeper.

三.哨兵模式

我们配置三个sentinel进程:

将三个sentinel.config分别放到不同的文件夹下

测试方法    把6360端口的redis杀了 然后分别连接redis6361 和redis6362   看看哪个能够存储进去值 则哪个变成了master  也表明哨兵成功了
因为只要主机可以写  从机只能读。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息