安装Redis、搭建集群、主从同步、主从切换、远程登录

centos7安装redis环境

1. yum install -y gcc-c++

2.

1)下载压缩包:

wget http://download.redis.io/releases/redis-4.0.2.tar.gz

2)解压:

tar -zxvf redis-4.0.2.tar.gz

3)进入目录后make编译

cd redis-4.0.2
	make

4)执行make install命令进行安装,后面更参数PREFIX指的是安装路径,安装在/usr/local/redis目录下
make install PREFIX=/usr/local/redis

3.

1)前端启动

cd /usr/local/redis/bin/
./redis-server

2)后端启动
将redis4.0.2下面的redis.conf配置文件复制到/usr/local/redis/bin/下

cp /root/redis-4.0.2/redis.conf /usr/local/redis/bin/

修改/usr/local/redis/bin/目录下的redis.conf,把no改为yes
在这里插入图片描述
此时启动命令是:在/usr/local/redis/bin/目录下执行 ./redis-server redis.conf
(可在任意目录下执行 /usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf 来启动)

4. 查看是否启动成功

ps -ef | grep redis

在这里插入图片描述
在bin目录下执行此命令可进入客户端模式 :./redis-cli -c -h 127.0.0.1 -p 6379

5. 关闭命令

/usr/local/redis/bin/redis-cli -p 6379 shutdown

CentOS7搭建基于Redis-4.0.2的集群环境

1. 安装yum install -y ruby rubygems

ll /root/redis-4.0.2/src/*.rb   这条命令可以找到Redis 集群管理工具 " redis-trib.rb "

2. 搭建Redis集群

1)创建文件夹用来放Redis实例

mkdir /usr/local/redis-cluster
  1. 把bin目录复制到redis1下
cp -r /usr/local/redis/bin /usr/local/redis-cluster/redis1
  1. 修改 Redis 的端口号,取消cluster-enabled yes 的注释,表示启用 Redis 集群
vi /usr/local/redis-cluster/redis1/redis.conf

在这里插入图片描述
在这里插入图片描述
4.) 再创建 5 个 Redis 实例,即复制redis2-6

cp -r redis1/ redis2

在这里插入图片描述
复制完后执行第(3)步中的修改端口号 我的端口号为1001-1006
5)把集群管理工具复制到/usr/local/redis-cluster/目录下

cp -r /root/redis-4.0.2/src/redis-trib.rb /usr/local/redis-cluster/

在这里插入图片描述
6)创建集群前,启动6个Redis实例,
在/usr/local/redis-cluster目录下操作

vi start-all.sh

在这里插入图片描述

chmod +x start-all.sh   赋予执行权限

执行后输入命令 ps aux|grep redis 查看是否正常启动成功
在这里插入图片描述
可以看到IP地址全是127.0.0.1,因为配置文件中写的是127.0.0.1,可以改为本机IP

3.创建集群:

./redis-trib.rb create --replicas 1 127.0.0.1:1001 127.0.0.1:1002 127.0.0.1:1003 127.0.0.1:1004 127.0.0.1:1005  127.0.0.1:1006

问题:

在这里插入图片描述

1.需要安装Ruby接口

gem install redis 安装接口

在这里插入图片描述

2.提示版本需要2.2.2以上,需要升级Ruby版本

ruby -v  查看当前版本

在这里插入图片描述
1.)安装CURL

yum install -y curl

2.) 使用CURL安装RVM

RVM是一个可以提供便捷的多版本Ruby环境的管理和切换的工具
a)	gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
b)	\curl -sSL https://get.rvm.io | bash -s stable
c)	source ~/.bashrc
d)	source ~/.bash_profile
e)	source /usr/local/rvm/scripts/rvm
3.)查看rvm中管理的所有Ruby版本
rvm list known  

在这里插入图片描述
4.)安装高版本的Ruby

 rvm install 2.5.1
 ![](https://img-blog.csdnimg.cn/20181115201609308.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNDk5Mzg1,size_16,color_FFFFFF,t_70)
rvm use 2.5.1   切换Ruby版本
rvm remove 2.0.0  移除系统默认版本号
ruby -v  再次查看版本

在这里插入图片描述

3. 再次安装Redis接口

在这里插入图片描述

4. 搭建集群

./redis-trib.rb create --replicas 1 127.0.0.1:1001 127.0.0.1:1002 127.0.0.1:1003 127.0.0.1:1004 127.0.0.1:1005  127.0.0.1:1006

在这里插入图片描述

5.集群搭建完成

在这里插入图片描述

Redis主从同步

	准备工作:
			一台CentOS7做Master(10.0.0.157)
			一台CentOS7做Salve(10.0.0.158)
两台虚拟机
把默认IP修改为本机IP(修改ip后关闭redis的命令为./redis-cli -h 10.0.0.158 -p 6379 shutdown)
cd /usr/local/redis/bin
vi redis.conf

在这里插入图片描述
重新启动服务

/usr/local/redis/bin/redis-cli -p 6379 shutdown
./redis-server redis.conf

在这里插入图片描述
可以看到IP已变为本机IP

主从同步配置

master 配置

vi redis.conf

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Slave配置
vi redis.conf
port 6301
slaveof 10.0.0.157 6379 master的IP端口
requirepass 123456
masterauth 123456
daemonize yes
配置完成后重启服务
daemonize 表示后台启动。
requirepass 为主机认证密码。
masterauth 为从机访问主机验证密码,需要与主机的requirepass一致。

测试:

Master
./redis-cli -c -h 10.0.0.157 -p 6379    进入数据库
先输入auth +密码 通过验证,再插入一条数据

在这里插入图片描述

Salve
同样先通过验证后,查询money对应的值

在这里插入图片描述
可以看到读写同步配置完成

Redis主从切换

Salve操作
正常情况下,如下图可以看到Salve只能进行读操作
在这里插入图片描述

1. vi sentinel.conf 编写配置文件。写入以下内容

port 26301
sentinel monitor master 10.0.0.157 6379 1
sentinel auth-pass master 123456
logfile “/tmp/sentinel.log”
daemonize yes

sentinel monitor master 10.0.0.157 6379 1 中的 1 表示有1个以上的sentinel服务检测到master失效,才会执行主从切换。

2.启动sentinel进程

./redis-server sentinel.conf –sentinel
ps aux|grep redis

在这里插入图片描述

3.测试

./redis-cli -c -h 10.0.0.158 -p 6379
 

在这里插入图片描述
可以看到当前Salve已经成功接替Master的工作,可读可写。
此时恢复Master
在这里插入图片描述
在这里插入图片描述
可以看到,恢复后的Master,更新了Salve修改的money值,但是不能执行写命令。
完成主从切换

设置远程登录连接

在配置文件redis.conf中,找到bind localhost注释掉即可(注意关闭防火墙)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值