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
- 把bin目录复制到redis1下
cp -r /usr/local/redis/bin /usr/local/redis-cluster/redis1
- 修改 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注释掉即可(注意关闭防火墙)