温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Redis的安装及部署

发布时间:2021-08-26 15:05:52 来源:亿速云 阅读:152 作者:chen 栏目:大数据

这篇文章主要介绍“Redis的安装及部署”,在日常操作中,相信很多人在Redis的安装及部署问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis的安装及部署”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、安装Redis

本文档基于CentOS 7.6.1810编写而成,由于Linux发行版众多,安装过程可能有些许不同,仅供参考

1、下载Redis源码:wget http://download.redis.io/releases/redis-4.0.14.tar.gz

2、解压:tar xzf redis-4.0.14.tar.gz

3、进入目录:cd redis-4.0.14/

4、编译:make -j 4(4表示使用4核编译,默认是1核,请根据实际情况修改参数)

看到如下提示时表示编译成功

Redis的安装及部署

二、部署单机版Redis

1、使用cd命令切换目录到Redis主目录下

2、创建一个文件夹用于存放单机版的数据和配置:mkdir single

3、拷贝一份配置文件到single文件夹:cp redis.conf single/redis.conf

4、切换到single目录:cd single/

5、使用你熟悉的编辑器修改redis.conf文件

可能需要修改的配置如下:

第69行:bind 127.0.0.1(白名单配置,只允许指定IP的客户端连接,注释掉表示允许所有客户端)

第88行:protected-mode yes(yes表示只允许本地连接)

第92行:port 6379(端口号)

第136行:daemonize no(改成yes表示后台运行)

第158行:pidfile /var/run/redis_6379.pid(后边的数字改成跟端口号一致)

第171行:logfile ""(日志路径,指定为${redis.home}/single/redis.log,必须为绝对路径,${redis.home}表示redis的安装目录,必须配置)

第218行:RDB持久化配置,全部注释掉并加上save ""表示关闭RDB持久化
save 900 1(每900秒内有1个key修改则进行持久化)
save 300 10(每300秒内有10个key修改则进行持久化)
save 60 10000(每60秒内有10000个key修改则进行持久化)

第263行:dir ./(表示RDB文件的保存目录,需要修改为single的绝对路径,否则会保存在src中,必须配置)

第500行:requirepass foobared(设置redis的密码,注释掉表示不需要)

第559行:maxmemory <bytes>(redis最大占用内存,根据实际情况配置,单位是字节,如果注释掉则不限制内存,但是还是受系统可用内存限制)

第590行:maxmemory-policy noeviction(缓存清除策略,当内存占用满的时候,会触发这个策略,清空一部分key,默认不清除,而是对写请求报错)
主要是两个策略:
volatile-lru:使用LRU算法清除带有过期时间的缓存,LRU即清除长时间未使用的缓存
volatile-lfu:使用LFU算法清除带有过期时间的缓存,LFU即清除很少使用的缓存

第672行:appendonly no(是否开启AOF持久化)

6、在single目录下新建一个文件:touch start.sh并加入以下内容

#!/bin/sh
#注意这个目录是指你实际的redis安装目录
cd /home/iceberg/Program/redis-4.0.12
src/redis-server single/redis.conf

授予其可执行权限chmod 777 start.sh,运行即可启动

7、关闭redis

不要使用Kill -9的方法强制关闭Redis,不仅是Redis,任何程序都不应该使用这个方式关闭!这会使得程序预设的清理代码不执行!!!

在single目录下新建一个文件:touch stop.sh并加入以下内容

#!/bin/sh
cd /home/iceberg/Program/redis-4.0.12
src/redis-cli -p 6379 shutdown

三、部署主从版Redis

1、使用cd命令切换目录到Redis主目录下

2、创建一个文件夹用于存放主从版的数据和配置:mkdir replication

3、进入目录:cd relication

4、创建两个文件夹:mkdir master slave

5、切换到主目录,把配置文件分别拷贝到master和slave,cp redis.conf replication/master/redis.conf、cp redis.conf replication/slave/redis.conf

6、主从的配置大部分与单机版相同,必须修改的地方如下

第92行:port 6379(端口号,主从的端口号必须不一样)
第171行:logfile ""(日志路径,指定为${redis.home}/replication/master或者slave/redis.log,必须为绝对路径,${redis.home}表示redis的安装目录,必须配置)
第263行:dir ./(表示RDB文件的保存目录,需要修改为master或者slave的绝对路径,否则会保存在src中,必须配置)
第281行:slaveof <masterip> <masterport>(配置主节点的ip和端口号)
第288行:masterauth <master-password>(如果主节点配置了密码,这里也要配置相同的密码,否则连不上)

7、启动和关闭脚本也与单机版相同

四、部署哨兵版Redis

1、使用cd命令切换目录到Redis主目录下

2、创建一个文件夹用于存放哨兵版的数据和配置:mkdir sentinel

3、首先配置好主从节点,并启动

4、创建三个文件夹:mkdir sentinel1 sentinel2 sentinel3

5、复制sentinel.conf到三个文件夹中(注意这里的配置文件不是redis.conf!)

6、需要修改的地方如下

第21行:port 26379(端口号)
第50行:dir /tmp(数据存储目录)
第69行:sentinel monitor mymaster 127.0.0.1 6379 2(配置哨兵监控哪个主节点,mymaster是主节点的别名,2表示主从切换至少需要2台哨兵节点同意,一般为n/2+1,n表示哨兵节点数)

7、在sentinel1文件夹中新建一个文件,touch start.sh,填入以下内容

#!/bin/sh
#注意这个目录是指你实际的redis安装目录
cd /home/iceberg/Program/redis-4.0.12
src/redis-sentinel sentinel/sentinel1/sentinel.conf

授予其可执行权限chmod 777 start.sh,运行即可启动

8、关闭Redis与单机版相同,配置对端口号即可

五、配置集群版Redis

1、使用cd命令切换目录到Redis主目录下

2、创建一个文件夹用于存放集群版的数据和配置:mkdir cluster

3、准备前置环境

输入以下命令即可,虽然官网说这是一个较老的版本,但是是可以用的

sudo yum install ruby

安装完成后,输入下列指令出现版本号则安装成功

ruby -v

安装rubygem redis依赖

wget http://rubygems.org/downloads/redis-3.3.0.gem
gem install -l redis-3.3.0.gem

都安装好之后,进入{redis.home}/src目录,执行

./redis-trib.rb

出现下列信息则成功,

Redis的安装及部署

4、新建六个文件夹(Redis集群最少三主三从),mkdir cluster1 cluster2 cluster3 cluster4 cluster5 cluster6,并复制redis.conf文件进去

5、集群相关配置如下,其余跟单机模式相同

# 节点端口
port 6381
# 开启集群模式
cluster-enable yes
# 节点超时时间,单位毫秒
cluster-node-timeout 15000
#集群内部配置文件
cluster-config-file “nodes-6381.conf”

6、使用单机版的启动脚本将启动上述六个redis实例

7、切换到主目录下,执行(端口号自行修改)

# --replicas用于指定集群中每个主节点配备几个从节点
src/redis-trib.rb create --replicas 1 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 127.0.0.1:6386

结果如下

Redis的安装及部署

输入yes

Redis的安装及部署

发现所有16384个槽都分配成功,集群创建完成

8、集群完整性检查

集群完整性指所有的槽都必须分配到存活的主节点上,只要16384个槽有一个没有分配给节点则表示集群不完整。我们可以使用redis-trib.rb check命令检测任意一个节点即可完成检查,输入:

src/redis-trib.rb check 127.0.0.1:6381

Redis的安装及部署

出现上述提示即表示集群完整

到此,关于“Redis的安装及部署”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI