前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Redis】Redis安装+主从部署

【Redis】Redis安装+主从部署

作者头像
用户5522200
发布2019-06-02 15:08:57
6790
发布2019-06-02 15:08:57
举报
文章被收录于专栏:linda

IP:192.168.225.128 环境:centos7

一、安装redis

步骤 1、首先确认系统中是否存在C语言的编译环境

代码语言:javascript
复制
# gcc -version
或者 # g++ --version
yum install -y  gcc 

步骤 2、下载redis安装包

代码语言:javascript
复制
 wget http://download.redis.io/releases/redis-3.2.10.tar.gz

步骤 3、解压到/usr/local/redis

代码语言:javascript
复制
# tar -zxvf redis-3.2.10.tar.gz
# mv redis-3.2.10 /usr/local/redis
# cd redis

步骤 4、安装

代码语言:javascript
复制
# make
# make test
遇到报错
Executing test client: NOREPLICAS Not enough good slaves to write..
可以修改文件tests/integration/replication-2.tcl,将after 1000改为after 10000以延长等待时间。
# make test
# make install PREFIX=/usr/local/redis    PREFIX安装指定目录 否则安装到/usr/local/bin里面了

步骤 5、修改配置文件

代码语言:javascript
复制
bind 192.168.225.128
port 6379
timeout 0
daemonize yes
pidfile /var/run/redis6379.pid
loglevel debug
logfile /var/log/redis6379.log

步骤 6、启动

代码语言:javascript
复制
# cd /usr/local/redis6379/bin
# ./redis-server ../redis6379.conf &
# cd /usr/local/redis6380/bin
# ./redis-server ../redis6380.conf &

步骤 7、6380端口启动服务,方法如上,只不过存放的目录不同

代码语言:javascript
复制
安装位置:/usr/local/redis6380
配置文件:/usr/local/redis6380/redis6380.conf
启动后pid文件:/var/run/redis_6380.pid
日志文件:/var/log/redis6380.log
数据文件位置:/data/redis6380/

二、配置redis主从

(一个服务器上启动两个redis,端口为6379和6380, 192.168.225.128:6379主,192.168.225.128:6380从

步骤 1、主redis服务器6379

不需要改动

步骤 2、从redis服务器6380

代码语言:javascript
复制
vi /etc/redis/6380.conf
slave-serve-stale-data yes
# slaveof <masterip> <masterport>下面添加一句
slaveof 192.168.225.128 6379

步骤 3、启动redis

代码语言:javascript
复制
先关闭redis
# redis-cli -h 192.168.225.128 -p 6380 shutdown
# cd /usr/local/redis6379/
# bin/redis-server redis6379.conf &
# cd /usr/local/redis6380/
# bin/redis-server redis6380.conf &

步骤 4、查看redis进程

代码语言:javascript
复制
# ps -ef |grep redis

步骤 5、验证主从是否同步(128:6379和128:6380)

代码语言:javascript
复制
[root@bogon redis6379]# redis-cli -h 192.168.225.128 -p 6379
192.168.225.128:6379> set ma right
OK
192.168.225.128:6379> set Li class2
OK
192.168.225.128:6379> keys *
 1) "ma"
 2) "fangchan"
 3) "Li"
192.168.225.128:6379> 
[root@bogon redis6379]# redis-cli -h 192.168.225.128 -p 6380
192.168.225.128:6380> keys *
 1) "ma"
 2) "Li"
 3) "fangchan"
192.168.225.128:6380> 

步骤 6、主从同步正常

步骤 7、从库默认是只读的

代码语言:javascript
复制
192.168.225.128:6380> set lll beaty
(error) READONLY You can't write against a read only slave.

三、redis主从切换

192.168.225.128:6379主,192.168.225.128:6380从

步骤 1、停止主库redis

代码语言:javascript
复制
# redis-cli -h 192.168.225.128 -p 6379 shutdown

步骤 2、将从redis设为主redis

代码语言:javascript
复制
[root@bogon redis6379]# redis-cli -h 192.168.225.128 -p 6380 slaveof NO ONE
OK

步骤 3、测试从redis是否切换为主redis

代码语言:javascript
复制
[root@bogon redis6379]# redis-cli -h 192.168.225.128 -p 6380
192.168.225.128:6380> set apu new
OK
192.168.225.128:6380> get apu
"new"
192.168.225.128:6380> 

从库可以写入,切换成功

步骤 4、原来的主redis6379重新恢复正常,需要重新切换回去

1.将现在的主redis6380数据进行保存
代码语言:javascript
复制
[root@bogon redis6379]# redis-cli -h 192.168.225.128 -p 6380
192.168.225.128:6380> set apu new
OK
192.168.225.128:6380> get apu
"new"
192.168.225.128:6380> save
2.将现在的主redis数据目录下dump.rdb文件拷贝覆盖原来主redis6379数据目录下面
3.启动原来的redis6379
代码语言:javascript
复制
# cd /usr/local/redis6379
# bin/redis-server redis6379.conf &
4.将现在的主redis6380切换为从库
代码语言:javascript
复制
[root@bogon redis6379]# redis-cli -h 192.168.225.128 -p 6380 slaveof 192.168.225.128 6379
OK

步骤 5、查看主库redis是否正常

之前在从库中添加的key,此时在主库6379中都可以查看

步骤 6、验证主从同步是否正常

主redis6379写入,从redis6380可正常同步; 从redis只支持读,不支持写入

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、安装redis
    • 步骤 1、首先确认系统中是否存在C语言的编译环境
      • 步骤 2、下载redis安装包
        • 步骤 3、解压到/usr/local/redis
          • 步骤 4、安装
            • 步骤 5、修改配置文件
              • 步骤 6、启动
                • 步骤 7、6380端口启动服务,方法如上,只不过存放的目录不同
                • 二、配置redis主从
                  • 步骤 1、主redis服务器6379
                    • 步骤 2、从redis服务器6380
                      • 步骤 3、启动redis
                        • 步骤 4、查看redis进程
                          • 步骤 5、验证主从是否同步(128:6379和128:6380)
                            • 步骤 6、主从同步正常
                              • 步骤 7、从库默认是只读的
                              • 三、redis主从切换
                                • 步骤 1、停止主库redis
                                  • 步骤 2、将从redis设为主redis
                                    • 步骤 3、测试从redis是否切换为主redis
                                      • 步骤 4、原来的主redis6379重新恢复正常,需要重新切换回去
                                        • 1.将现在的主redis6380数据进行保存
                                        • 2.将现在的主redis数据目录下dump.rdb文件拷贝覆盖原来主redis6379数据目录下面
                                        • 3.启动原来的redis6379
                                        • 4.将现在的主redis6380切换为从库
                                      • 步骤 5、查看主库redis是否正常
                                        • 步骤 6、验证主从同步是否正常
                                        相关产品与服务
                                        云数据库 Redis
                                        腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档