没有合适的资源?快使用搜索试试~ 我知道了~
首页Redis部署笔记(单机+主从+哨兵+集群)
Redis部署笔记(单机+主从+哨兵+集群)
需积分: 48 3.5k 浏览量
更新于2023-05-29
评论 2
收藏 570KB PDF 举报
基于Centos7系统,由浅入深讲解如何部署Redis的四种模式,分别是:单机模式、主从模式、哨兵模式、集群模式。 完整原文:http://exp-blog.com/2018/09/14/pid-2285/ 同时提供Jedis客户端封装源码: ● 屏蔽Jedis与JedisCluster的连接细节和差异,统一封装成RedisClient类,并内置连接池 ● 统一Jedis与JedisCluster连接的配置项,封装成RedisBean类,主要供RedisClient使用 ● 屏蔽byte[]数据类型,所有实现了序列化接口的对象均可直接在Redis进行读写 ● 保留String数据类型(并不会序列化成byte[],目的是保留与其他程序交互数据的方式) ● 把Redis的Map封装成RedisMap<T>类(key强制为String),暴露API模仿Java的Map ● 把Redis的Set封装成RedisSet<T>类,暴露API模仿Java的Set ● 把Redis的List封装成RedisList<T>类,暴露API模仿Java的List ● 把Redis的单键值对封装成RedisObj<T>类
资源详情
资源评论
资源推荐

{PAGE \* MERGEFORMAT}
Redis 部署笔记(单机+主从+哨兵+集群)
By EXP (http://exp-blog.com) 2018-08-27
1.
简介
Redis 是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的 Web
应用程序。它有三个主要特点,使其优越于其它键值数据存储系统:
● Redis 将其数据库完全保存在内存中,仅使用磁盘进行持久化。
● 与其它键值数据存储相比,Redis 有一组相对丰富的数据类型。
● Redis 可以将数据复制到任意数量的从机中。
2.
部署声明
本文基于 Centos7 系统,由浅入深讲解如何部署 Redis 的四种模式,分别是:单机模式、主
从模式、哨兵模式、集群模式。
需注意,这里因为只用于教学演示,所以这四种模式都是部署在同一台 Centos 机器上的(通
过不同的服务端口区分不同的 Redis 实例)。实际使用时,一般会使用多台机器部署,此时只需
要对应修改 IP 即可,部署过程是一样的。
3. 前置环境部署
如果只是部署 Redis【单机模式/主从模式/哨兵模式】,是不需要安装这个前置环境的。
如果要部署 Redis【集群模式(Redis Cluster)】,建议先装完这个前置环境才往下阅读。
这是因为 Redis Cluster 需要使用 ruby 脚本构建。虽然 Centos7 自带了 ruby 支持库的安装源,
但是版本过低(只是 2.0.0 版本),Redis 要求 ruby 的版本至少为 2.2.2。安装方法如下:
先更换 yum 源安装 2.3 版本的 ruby:
yum install centos-release-scl-rh # 会在/etc/yum.repos.d/目录多出一个 CentOS-SCLo-scl-rh.repo 源
通过 yum 安装 ruby:
yum install rh-ruby23 -y
scl enable rh-ruby23 bash # 临时变更当前环境变量的 ruby 版本为 2.3(重启后失效)

{PAGE \* MERGEFORMAT}
注:这种安装方式是使得
ruby2.0
和
2.3
版本并存,并非升级
ruby
。之后若要再使用
2.3
版本的
ruby
,需再次执
行 scl enable rh-ruby23 bash 命令。
查看 ruby 版本:
ruby -v
# ruby 2.3.6p384 (2017-12-14 revision 61254) [x86_64-linux]
安装 gem:
yum install rubygems -y
安装 ruby 的 redis 包(用于 redis 通讯):
gem install redis
# 若前面安装 ruby 版本过低就会报错:
# ERROR: Error installing redis:
# redis requires Ruby version >= 2.2.2.
查看 gem 版本:
gem -v
至此前置环境就安装完成了,下面开始讲述 Redis 四种模式的部署。
4. 单机模式
4.1 简介
单机模式是 Redis 最基本的模式,之后的主从、哨兵、集群模式都是据此扩展而来。而且在
开发环境下,出于方便起见,一般部署单机模式即可满足调试要求。
4.2
安装
到官网下载最新版,本文下载的版本是 redis-4.0.10.tar.gz :
中文官网:http://www.redis.cn/
英文官网(需翻墙):https://redis.io/
上传到 Centos 服务器,本文上传位置为:

{PAGE \* MERGEFORMAT}
/usr/local/redis-4.0.10.tar.gz
解压安装包:
tar -zxvf redis-4.0.10.tar.gz
由于 Redis 需要编译安装,先安装 gcc 编译环境:
yum install gcc
进入 Redis 安装目录:
cd /usr/local/redis-4.0.10/
编译:
make MALLOC=libc
编译完成后,进入 src 目录:
cd /usr/local/redis-4.0.10/src/
把 src 目录下的文件安装到 /usr/local/bin :
make install
4.3
部署
默认情况下,Redis 是通过以下方式启动/停止的:
cd /usr/local/redis-4.0.10/src/ # 切换到启动脚本目录
./redis-server ../redis.conf # 启动 Redis
Ctrl + C # 停止 Redis
这种启动方式非但无法在后台运行,而且也不符合使用习惯。
另外默认情况下 Redis 也不直接支持开机自启,为此要对其进行改造。
通过命令 vi /usr/local/redis-4.0.10/redis.conf 编辑 Redis 配置文件,为支持后台启动:
daemonize yes #
后台启动模式
#
顺便修改一下其他配置项
maxmemory 536870912 # 最大内存(单位 byte),需根据实际配置,建议为当前空闲内存的 50%左右

{PAGE \* MERGEFORMAT}
dir /tmp/redis # Redis
的工作目录(若不存在需手建否则无法启动),默认值为
[./]
,
logfile
与
dbfilename
受其影响
logfile "" # Redis 日志名称(默认不配置,表示输出到 stdout),正式部署请设置为合适的名称
dbfilename dump.rdb # Redis
数据持久化时的存储位置,正式部署请设置为合适的名称
● 单机模式配置 redis.conf 下载:{ HYPERLINK "https://share.weiyun.com/5ZhIKTe" } 密码:nppwyt ●
新建上面配置的 Redis 工作目录:
mkdir /tmp/redis
然后在/etc 目录下新建 redis 目录:
mkdir /etc/redis
拷贝 redis.conf 配置文件到/etc/redis 目录下,并重命名为 6379.conf(取的是 Redis 默认端口
名称,Redis 启动脚本里的变量会读取这个名称,因此若 redis 的端口号改了,这个文件名也要修
改):
cp /usr/local/redis-4.0.10/redis.conf /etc/redis/6379.conf
拷贝 Redis 的启动脚本到/etc/init.d 目录下,并重命名为 redisd:
cp /usr/local/redis-4.0.10/utils/redis_init_script /etc/init.d/redisd
通过 vi /etc/init.d/redisd 命令修改 redisd 文件,在首行#!/bin/sh 下面添加两行(其含义是 Redis
服务必须在运行级 2,3,4,5 下被启动或关闭,启动的优先级是 90,关闭的优先级是 10):
#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
切换到/etc/init.d 目录:
cd /etc/init.d
设置为开机自启:
chkconfig redisd on # 若不需要自启则执行 chkconfig redisd off
现在可以直接以服务的形式启动 Redis 了:
service redisd start

{PAGE \* MERGEFORMAT}
4.4
测试
然后通过 Redis 测试客户端命令 redis-cli 分别连接到 Redis 实例:
cd /usr/local/redis-4.0.10/src/ # 切换到启动脚本目录
./redis-cli -h 127.0.0.1 -p 6379 # 连接到 Redis
172.168.10.63:6379> info # 查看 Redis 信息
# Server
redis_version:4.0.10
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:a5e228e715215d35
redis_mode:standalone
os:Linux 2.6.32-358.el6.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:sync-builtin
gcc_version:4.4.7
process_id:26027
run_id:d5f3dd33bb6b52f9b82927992251e21b3a68432e
tcp_port:6379
uptime_in_seconds:1806685
uptime_in_days:20
hz:10
lru_clock:9988483
executable:/usr/local/bin/redis-server
config_file:/etc/redis/6379.conf
至此 Redis 单机模式部署完成。
为了开始下一阶段部署,现在先停止这个 Redis 进程:
service redisd stop
剩余30页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0