Redis5.0.x集群搭建
前言:
本文将介绍Redis5.0三主三从集群搭建以及集群配置。
一.资源配置(3主3从集群)
1.以下为生产环境下,集群搭建所需资源配置:
资源 | 配置 |
---|---|
cpu | 4核*6 |
内存 | 16G*6 |
硬盘 | 20G *6 |
linux版本 | CentOS 7.5 64bit |
2.服务器分配:
linux服务器 | ip |
---|---|
1 | 10.39.77.41 |
2 | 10.39.77.42 |
3 | 10.39.77.43 |
4 | 10.39.77.44 |
5 | 10.39.77.45 |
6 | 10.39.77.46 |
3.redis和linux版本:
名称 | 版本 |
---|---|
redis | 5.0.8 |
centos | 7.5 ( 64bit ) |
二.下载
分别在六台服务器执行:
安装wget:
yum install wget
下载redis到/usr/local
路径下:
cd /usr/local && wget http://download.redis.io/releases/redis-5.0.8.tar.gz
三.编译
在所有服务器上,执行下述命令:
解压:
tar -zxvf redis-5.0.8.tar.gz
安装gcc:
yum install gcc
编译Redis
cd redis-5.0.8
make
编译时出现错误:
cd src && make all
make[1]: Entering directory `/home/liuchaofan/redis-3.0.7/src'CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/home/liuchaofan/redis-3.0.7/src'
make: *** [all] Error 2
若出现上述报错,执行命令:
make CFLAGS="-march=x86-64"
编译时另一个报错:
zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
若出现上述报错,则执行命令:
make MALLOC=libc
编译成功,如下图:
四.安装
在所有服务器上,,执行安装命令:
cd redis-5.0.8 make install
安装成功后,redis-5.0.8的src目录下,会出现redis-server和redis-cli:
redis单机启动测试,测试redis单机编译和安装是否正确:
src/redis-server redis.conf
出现启动成功,则说明安装成功。
测试完成后,要杀死上面启动的redis进程,执行命令:
kill -9 $(ps aux | grep redis | grep -v grep | awk '{print $2}')
或:
kill -9 $(ps aux | grep redis | grep -v grep | awk '{print $2}') && ps -ef|grep redis
四.集群搭建
1.重命名redis-5.0.8文件夹名为redis
将文件夹重命名为redis,方便以后敲命令操作,也更美观一些。
mv redis-5.0.8 ./redis
2.修改每个服务器的redis.conf配置文件
以下是需要修改的地方摘要,根据自己情况,每个服务器都要配置一遍:
# 开启一个数据db0,默认是16个,我们只开启一个即可
databases 1# 集群需要把这个参数注释掉,不需要再绑定ip,在创建集群时,指定一次ip即可
# bind 127.0.0.1 # 记得创建data目录
dir /usr/local/redis/data# 待验证是否有用
pidfile /usr/local/redis/data/redis_6379.pid#集群节点信息文件名称(将生成在上面dir配置的路径下)
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
cluster-enabled yes# 关闭保护模式(yes 表示只允许本地连接,别的IP将无法连接)
protected-mode no# 开启守护线程,开启后可以后台运行
daemonize yes# 开启AOF模式,no:代表RDB模式
appendonly yes# 设置密码为123456
requirepass 123456# 日志文件地址,记得创建logs目录
#logfile "/usr/local/redis/logs/redis.log"
3.创建redis数据存储和日志目录
将这两个目录挂载到指定位置,方便我们统一查看:
mkdir /usr/local/redis/datamkdir /usr/local/redis/logs
注:如果上述路径配置出现错误,启动时会报错,如下:
Can't chdir to './usr/local/redis/data': No such file or directory
解决:
上述报错是,配置文件中,dir ./usr/local/redis/data路径最前面多了个“.”,删除即可。
4.创建集群
redis 5.x以上版本,可以通过redis-cli来创建集群,命令如下:
./src/redis-cli -a 123456 --cluster create 10.39.77.41:6379 10.39.77.42:6379 10.39.77.43:6379 10.39.77.44:6379 10.39.77.45:6379 10.39.77.46:6379 --cluster-replicas 1
若集群创建成功,则出现下图:
然后根据提示输入yes:几秒后,成功如下图。
若安装失败,则出现如果长时间一直输出…,则为失败。
上述命令参数含义:
- 123456 redis密码
- 10.39.77.41:6379 10.39.77.42:6379 10.39.77.43:6379 10.39.77.44:6379 10.39.77.45:6379 10.39.77.46:6379 集群真实ip和端口号
- -cluster-replicas 1 副本保留1份
五.客户端连接集群
在任意一台服务器,执行下述命令,都可以连接成功:
src/redis-cli -h 10.39.77.41 -p 6379 -a 123456 -c
连接成功后,执行下述几个命令,可以测试Redis集群是否创建成功:
# 查看集群主从节点信息
cluster nodes# 查看集群状态
cluster info# 查看存在的所有键值对
keys *
注:使用RDM客户端连接集群时,出现两个主节点无法连接现象:
通过redis-cli可以任意连接,但RDM客户端却出现两个节点连接不上,删除所有节点的usr/local/redis/data
目录下的内容,将集群节点杀死,并将重新建立集群,然后重启了电脑,RDM就能连接了。
总结:
redis集群搭建过程中,保证与本文redis版本和centos版本一直的情况下,按照上述集群搭建步骤顺序,基本不会出现大问题,本文也保留了所有搭建过程中遇到的问题以及解决方案,希望可以帮你快速的搭建生产环境下的redis3主3从集群。
Redis5.0.x集群搭建相关推荐
- csrediscore访问redis集群_搭建文档 | centos7.6环境下redis5.0.8集群搭建
" 本文作者:墨篱弦 " 一.做基础配置 a) 首先创建3个空文件 mkdir -p /server/redis_cluster/7001/datamkdir -p /server ...
- Redis5.0.8集群搭建与说明
文章目录 1. 环境说明 2. 修改集群配置 3. 创建集群 4. 集群槽位 5. 主节点故障问题 1. 环境说明 RedisCluster要求至少3个主节点,因此我们需要启动6个Redis实例(3主 ...
- redis-5.0.4集群部署
redis-5.0.4 集群搭建 redis-cluster介绍 1:redis是一个开源的key value存储系统,受到了广大互联网公司的青睐. 2:redis集群采用P2P模式,是完全去 ...
- Redis-5.0.5集群配置
Redis-5.0.5集群配置 版本:redis-5.0.5 参考:http://redis.io/topics/cluster-tutorial. 集群部署交互式命令行工具:https://gith ...
- 手动搭建高可用的Redis5.0分片集群,从理论到实践,超详细
前言 前一篇 高可用的Redis主从复制集群,从理论到实践 发布后,反响非常热烈.所以今天继续深入讲解redis集群的搭建和相关理论. 好吧,其实是因为上篇搭建的主从复制集群,还有一个实际问题不能解决 ...
- Redis 3.0.2集群搭建以及相关问题汇总
Redis3 正式支持了 cluster,是为了解决构建redis集群时的诸多不便 (1)像操作单个redis一样操作key,不用操心key在哪个节点上 (2)在线动态添加.删除redis节点,不用停 ...
- elasticsearch7.0.1集群搭建(最后有ES6.7的配置)
** ES集群搭建 **: 说明:首先要讨论搭建几个集群,集群搭建很简单,只需要配置做好就ok; 一 : 在搭建集群之前,我们首先要了解一个es中的相关内容 cluster : 代表一个集群,集群中有 ...
- Nacos2.0.3集群搭建
集群搭建 前置条件 JDK 1.8 MySQL 5.7.29 Nacos 2.0.3 搭建过程 将Nacos安装包上传至三个服务器,本次搭建使用三个端口来模拟三个不同的主机 解压: tar -zvxf ...
- spark3.0 分布式集群搭建
Spark 集群环境搭建-exsi 1.虚拟机环境配置 进入管理界面 创建虚拟机 后续选择存储空间位置 3处选择存储目录中的 centos7,安装过程略 如法炮制建立三个虚拟机 ssh连接 此处使用的 ...
最新文章
- 单片机原理,单片机能做什么?
- git 版本控制系统初学
- linux问题排查常用命令详解
- Success Rate CodeForces - 807C (数学+二分)
- 1-4 无监督学习(Unsupervised Learning)
- css怎么实现加载的圆圈_图像高清方案——响应式图像让图像加载又快又省
- python画折线图两种写法
- java线程生命周期
- Matlab如何平移图形(Figure)中的曲线
- 1KB文件夹快捷方式病毒解决方法
- 上微信怎么同时用计算机,怎么在电脑上同时登陆两个微信
- 初三毕业班主任压力过大割喉自尽
- 快速开发分享功能,一键分享到微博、微信等平台。
- ZBrush中常用3D笔触效果
- GC8837 DFN8 12V直流电机驱动芯片 完美替代TI DRV8837
- linux 内核源码下载网址
- JAVA出现x可以在Point中访问private是什么意思 高手进
- How to speed my too-slow ssh login?
- 鼠标右键,以管理员身份在当前目录打开命令行窗口
- 数蚁的校园云存储优势 云资源管理平台 数蚁科技
热门文章
- 邀请返现php怎么实现_PHP实现财务审核通过后返现金额到客户的功能
- python传递指针_python值传递和指针传递
- 基于C++的云安全主动防御系统客户端服务端设计
- 最简单的视音频播放演示样例4:Direct3D播放RGB(通过Texture)
- #define XXX do{ XXX } while(0) 为什么使用
- Centos7.5- Linux网络管理技术
- java中date获取前一天和后一天
- Python高级培训第一次作业(寒假)
- The X New Developer’s Guide——第一章 基本概念
- Maven之聚合与继承