# Redis安装配置

Redis是一个开源的Key-Value 存储数据库,由于是内存型数据库,Redis拥有极高的性能,因此可用于存储web集群session信息,实现集群会话故障转移功能。

提示

SuccBI支持使用Redis单节点模式哨兵模式集群模式存储session信息。

# 获取Redis安装包

# windows下载Redis

在GitHub下可以下载Windows系统的Redis,点击这里 (opens new window)选择最新版本进行下载。

提示

mis文件是微软安装版,zip文件是解压版,解压即可使用,这里我们选择下载zip文件。

如果无法打开GitHub,可以在此处 (opens new window)(提取码:SuccBI)获取网盘下载链接。

# linux下载Redis

  1. 访问Redis官网 (opens new window)下载需要的Redis版本,推荐下载redis-5.0.14.tar.gz (opens new window)
  2. 或点击这里 (opens new window)(提取码:SuccBI)下载。

# 安装Redis

linux安装Redis前,需要对源码包进行编译,编译会依赖gcc编译器,若没有gcc环境,可以使用yum install gcc gcc-c++进行安装:

gcc -v #检查是否有 gcc 编译器

解压并安装:

tar zxvf redis-5.0.14.tar.gz #解压安装包
cd redis-5.0.14.tar.gz #进入解压目录
make && make PREFIX=/home/redis/redis install #安装命令,其中PREFIX为安装目录,用户可自行指定

提示

linux环境解压后需要编译安装,windows环境只需要解压zip文件即可。

# 配置Redis

根据用户不同的需求(如高并发、高可用等),reids可以部署配置为单节点、哨兵模式和集群模式,具体配置可参考Redis官方文档 (opens new window),也可参考以下配置方法:

  1. windows配置Redis单节点
  2. linux配置Redis单节点
  3. 哨兵模式配置
  4. 集群模式配置

# windows配置Redis单节点

进入Redis解压目录,编辑配置文件redis.windows.conf,修改以下内容:

bind 127.0.0.1 #默认ip为127.0.0.1,在默认情况下,只允许本机访问Redis服务,如果需要其他主机可以访问Redis服务,可以配置为对应服务器ip
port 6379 #默认端口为6379,也可根据需要更换为其他端口
protected-mode no #关闭保护模式
requirepass foobared  #配置Redis密码,默认用#号略去不启用
maxmemory 4294967296 # 内存大小,单位为byte,推荐大小为4G,也可配置成其他大小
notify-keyspace-events AKE #开启key event的监听,使用会话共享服务会使用此参数监听会话

cmd进入Redis目录,执行redis-server.exe redis.windows.conf语句,出现以下内容,说明启动成功。

windows单节点

# linux配置Redis单节点

进入Redis解压目录,编辑配置文件redis.conf,除了需要修改windows配置Redis单节点中的配置外,还需修改以下内容:

pidfile /home/redis/redis-5.0.14/redis_6379.pid #启动时生成的pid文件位置,用户可自行修改对应目录
daemonize yes #默认以后台进程的方式启动Redis

修改完毕后启动Redis服务:

cd /home/redis/redis/bin/ 
./redis-server /home/redis/redis-5.0.14/redis.conf #启动Redis,指定之前修改的配置文件

查看Redis进程,若可以查到对应的Redis进程,表示启动成功

ps -ef|grep redis

reids单节点

# 哨兵模式配置

单节点的最大缺点是当节点宕机后,无法对外提供服务。为了保证Redis的高可用,可以在服务器中部署哨兵模式,实现Redis主从自动切换,故障自动转移,提高系统可用性。具体配置如下:

提示

哨兵模式配置以一主二从三哨兵结构为例。

# 主从节点配置

进入Redis解压目录,将redis.conf复制为redis_7007.conf、redis_7008.conf、redis_7009.conf作为主从节点的配置文件:

cd /home/redis/redis-5.0.14
cp redis.conf redis_7007.conf
cp redis.conf redis_7008.conf
cp redis.conf redis_7009.conf

配置可参考Redis单节点配置,并增加以下参数:

masterauth <master-password> #配置主节点的密码(主从节点密码需要相同),默认用#号略去不启用
slaveof <masterip> <masterport> #此属性只需从节点添加,配置为主节点的ip和端口

主从节点启动可参考Redis单节点配置,启动后使用ps -ef|grep redis查看redis进程,若查到对应的Redis进程,表示主从节点启动成功。

# 哨兵节点配置

进入Redis解压目录,将sentinel.conf复制为sentinel_7117.conf、sentinel_7118.conf、sentinel_7119.conf作为哨兵节点的配置文件:

cd /home/redis/redis-5.0.14
cp sentinel.conf sentinel_7117.conf
cp sentinel.conf sentinel_7118.conf
cp sentinel.conf sentinel_7119.conf

编辑配置文件,修改以下内容:

port 26379 #哨兵节点运行端口
sentinel monitor mymaster 127.0.0.1 6379 2  #将ip和端口更改为主节点的ip和端口

修改完毕后启动哨兵节点服务:

cd /home/redis/redis/bin/ 
./redis-sentinel /home/redis/redis-5.0.14/sentinel_7117.conf
./redis-sentinel /home/redis/redis-5.0.14/sentinel_7118.conf
./redis-sentinel /home/redis/redis-5.0.14/sentinel_7119.conf

启动三个哨兵节点后,可使用redis-cli查看相关节点信息,如下所示:

cd /home/redis/redis/bin/ 
./redis-cli -p 192.168.10.60 -p 7117
SENTINEL masters

节点信息

# 集群模式配置

Redis哨兵模式已经基本实现高可用和读写分离,但是在这种模式下只有主节点提供写入功能,无法支持高并发,为了使web集群实现高并发,可对Redis进行分布式集群部署,具体操作步骤如下:

提示

下面例子的三主三从集群模式部署在同一个服务器,为保证高可用,建议在实际生产环境中使用三台服务器部署Redis集群。

创建节点:

mkdir /home/redis/redis-cluster #创建集群目录redis-cluster
cd /home/redis/redis-cluster #进入redis-cluster目录
mkdir 7000 7001 7002 7003 7004 7005  #创建Redis节点的目录

切换到解压目录,将redis.conf配置文件复制到Redis节点目录

cd /home/redis/redis-5.0.14
cp redis.conf /home/redis/redis-cluster/7000

进入redis.conf配置文件,修改以下内容:

#bind 127.0.0.1 # 取消仅限本地访问的限制
daemonize yes # 设置Redis默认后台运行
protected-mode no # 关闭保护模式
maxmemory 4294967296 # 内存大小,单位为byte,推荐大小为4G,也可配置成其他大小
pidfile ./redis_7000.pid # pidfile文件,对应节点端口
port 7001 # 集群节点端口
cluster-enabled yes # 开启集群 
cluster-config-file nodes-7000.conf # 集群的配置,配置文件首次启动时自动生成

启动节点:

cd /home/redis/redis/bin #进入启动目录
./redis-server /home/redis/redis-cluster/7000/redis.conf

Redis启动

提示

7001-7005节点的启动可参考上述配置并启动,只需更改对应端口即可。

节点启动完毕后,各个节点实际上是独立的,并没有组成一个集群,还需进行以下操作:

cd /home/redis/redis/bin #进入启动目录
./redis-cli --cluster create --cluster-replicas 1 192.168.10.60:7000 192.168.10.60:7001 192.168.10.60:7002 192.168.10.60:7003 192.168.10.60:7004 192.168.10.60:7005

当程序显示Can I set the above configuration? (type 'yes' to accept):时,输入yes并回车:

Redis集群

至此集群模式部署完毕。

是否有帮助?
0条评论
评论