CentOS环境配置三——Redis部署

本文详细介绍了如何在CentOS系统中部署Redis的单机和集群模式。首先,通过下载Redis安装包并安装gcc进行单机部署,包括编译、测试和配置。然后,通过创建多个Redis实例和使用ruby脚本来搭建Redis集群,包括修改配置、启动实例、创建集群和连接测试。整个过程涵盖了Redis的基础部署和高可用集群配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CentOS环境配置三——Redis部署

1.Redis单机部署

首先去Redis官网下载Redis安装包并传输到CentOS系统。Redis官网

由于redis需要c语言的编译环境,如果当前系统未安装gcc需要进行安装

$ yum -y install gcc

image-20201112231339425

可以看到我这里已经安装了gcc,但是由于当前gcc版本过低,编译redis仍然会报错,需要对gcc进行升级

# 依次进行如下操作
$ yum -y install centos-release-scl
$ yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
$ scl enable devtoolset-9 bash
$ echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
$ gcc -v

image-20201112231828145

# 解压redis
$ tar -zxvf redis-6.0.9.tar.gz -C /usr/local
# 进入redis中进行编译
$ cd /usr/local/redis-6.0.9
# 由于当前使用的是最新的redis和gcc
$ make
# 如果使用的是较老版本的redis(如redis3.X)和gcc(4.8.5)可能需要指定分配器
$ make MALLOC=libc

编译成功会提示可你可以执行make test进行测试,这里我们需要先安装tcl提供测试支持

$ yum install tcl
$ make test

测试的过程需要花费十分钟左右时间

image-20201112233741277

可以看到最终测试全部完成,接下来将redis安装到指定路径下

$ make PREFIX=/usr/local/redis install 

查看redis内容

# 此工具用于展示文件夹的树状结构
$ yum install tree
$ cd /usr/local/redis
$ tree

image-20201112234154031

复制redis编译目录下的redis.conf文件到redis的bin目录下进行配置,使得redis能够以守护进程的方式在后台运行

$ cd /usr/local/redis-6.0.9
$ cp redis.conf /usr/local/redis/bin/redis.conf
# 修改redis.conf配置
$ vim /usr/local/redis/bin/redis.conf

注释bind从而允许任意ip访问

将protected-mode设为no

image-20201113014325607

在这种情况下就可以实现外部直接访问了。如果此处为yes意味著你需要配置绑定ip或者设置访问密码

设置redis为守护进程,也就是让redis在后台运行

image-20201113014811246

开启持久化,持久化规则默认是每秒持久化一次

image-20201113192209058

wq保存

启动redis

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

测试连接

# -h 表示连接的服务器地址 -p表示连接的端口,redis默认端口为6379
$ ./redis-cli -h 192.168.17.3 -p 6379

image-20201113015651711

2.Redis集群部署

由于Redis的集群至少需要三个节点,为了保证集群的高可用,每一个节点需要一个备份,所以至少需要6台Redis服务器。这里一台虚拟机启动6个redis实例的方式来演示集群的搭建。

# 创建redis集群目录
$ cd /usr/local
$ mkdir redis-cluster
# 复制redis文件夹到集群目录下
$ cp -r /usr/local/redis /usr/local/redis-cluster/redis1
$ cp -r /usr/local/redis /usr/local/redis-cluster/redis2
$ cp -r /usr/local/redis /usr/local/redis-cluster/redis3
$ cp -r /usr/local/redis /usr/local/redis-cluster/redis4
$ cp -r /usr/local/redis /usr/local/redis-cluster/redis5
$ cp -r /usr/local/redis /usr/local/redis-cluster/redis6
# 修改每一个redis.conf配置,设置不同的端口号并开启集群化,这里我使用的端口7001-7006
$ vim /usr/local/redis-cluster/redis1/bin/redis.conf

修改端口

image-20201113192913516

开启集群化

image-20201113192802589

将6个redis实例配置都修改完毕后启动实例

$ cd /usr/local/redis-cluster/redis1/bin
$ ./redis-server redis.conf

查看端口是否正常打开

$ netstat -tlunp|grep redis

image-20201113193737054

当前仅仅是启动了6个redis实例,集群的创建需要依赖ruby的脚本

$ yum install ruby
$ yum install rubygems
# 查看ruby的版本,2.0版本的ruby无法完成集群的配置,需要进行升级
$ ruby -v

image-20201113194231600

升级ruby版本

# 安装yum源
$ yum install -y centos-release-scl-rh
# 下载指定版本的ruby,我选择的是2.7版本
$ yum install -y rh-ruby27
# 使配置生效
$ scl enable rh-ruby27 bash
# 查看当前版本
$ ruby -v

image-20201113195615338

# 安装redis脚本
$ gem install redis
# 进入之前解压过的redis目录
$ cd /usr/local/redis-6.0.9/src
# 执行redis脚本
$ ./redis-trib.rb create --replicas 1  192.168.17.3:7001 192.168.17.3:7002 192.168.17.3:7003 192.168.17.3:7004 192.168.17.3:7005 192.168.17.3:7006

由于我当前使用的是redis6.X和ruby2.7,提示我需要使用redis-cli进行创建,甚至连命令都已经为我准备好了

image-20201113202950849

# 进入任意一个redis目录,启动客户端
$ cd /usr/local/redis/bin
$ ./redis-cli --cluster create 192.168.17.3:7001 192.168.17.3:7002 192.168.17.3:7003 192.168.17.3:7004 192.168.17.3:7005 192.168.17.3:7006 --cluster-replicas 1

由于我们并不是真正的分布式集群,所以会弹出提示,输入yes继续

image-20201113203222104

配置完成

image-20201113203358150

连接测试

# -c表示以集群方式连接
$ ./redis-cli -p 7002 -c
# 连接成功后查看redis状态信息
127.0.0.1:7002> info

image-20201113204209250

可见当前redis节点为master节点,从节点为7004端口的redis。Redis的集群部署完成。

**注意:**如果外部无法访问到redis请查看防火墙设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值