linux虚拟机环境快速搭建redis5.x版本的主从集群总结
文/朱季谦
我在阿里云服务器上曾参与过公司redis集群的搭建,但时间久了,都快忘记当时的搭建过程了,故而决定在虚拟机centOS 7的环境,自行搭建一套redis5.x版本的集群,该版本集群的搭建比较方便,不用再像以前版本那样还得再搞一个 Ruby,5.x版本可直接使用 redis-cli的方式来构建集群。
提前准备六台虚拟机:
192.168.200.111:6379
192.168.200.112:6379
192.168.200.113:6379
192.168.200.117:6379
192.168.200.115:6379
192.168.200.116:6379
搭建之前,先ping一下各虚拟机的网络情况,看是否可以正常ping通,若正常,则进行下一步操作。
一、将redis-5.0.8.tar.gz安装包离线拷贝到/app目录底下
我使用的是5.0.8版本的redis,已上传到网盘,可直接根据下边网盘地址进行下载——
链接:https://pan.baidu.com/s/1HUw_gAtyE7E01w0fVVmgeQ
提取码:2r6j
下载完成后,上传redis-5.0.8.tar.gz至/app目录后,按步骤执行以下操作——
[root@192 app]# tar -zxvf redis-5.0.8.tar.gz
[root@192 app]# cd redis-5.0.8
[root@192 redis-5.0.8]# make
[root@192 redis-5.0.8]# make install PREFIX=/usr/local/redis
正常执行到最后一步,会打印以下的信息,这时,redis相关的操作脚本,都会自动放入到/usr/local/redis目录底下。

二、将redis.conf文件复制到/usr/local/redis/bin目录下
在解压完成的redis-5.0.8目录下,可以找到一个redis.conf文件,将其通过以下命令拷贝到/usr/local/redis/bin/目录,该文件是配置redis的最重要文件。
[root@192 redis-5.0.8]# cp redis.conf /usr/local/redis/bin/

复制到/usr/local/redis/bin/目录后,就可以修改redis.conf的文件配置了,我主要是修改了以下几个参数,用于实现redis集群节点作用——
port 6379 #端口
cluster-enabled yes #开启集群模式
cluster-config-file nodes.conf #节点信息文件
cluster-node-timeout 15000 #设置节点连接超时时间
appendonly yes #开启AOF模式
protected-mode no #非保护模式
bind 192.168.200.111 #绑定本机ip
**以上步骤分别在六台机器上执行,后续我会出一期脚本方式的搭建,可直接使用脚本在各台机器上自动完成操作。
**
三、启动集群模式
首先,先在每一台机器上启动redis服务:
-rwxr-xr-x. 1 root root 4367616 8月 17 11:24 redis-benchmark
-rwxr-xr-x. 1 root root 8127048 8月 17 11:24 redis-check-aof
-rwxr-xr-x. 1 root root 8127048 8月 17 11:24 redis-check-rdb
-rwxr-xr-x. 1 root root 4808704 8月 17 11:24 redis-cli
-rw-r--r--. 1 root root 61793 8月 17 11:24 redis.conf
lrwxrwxrwx. 1 root root 12 8月 17 11:24 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 8127048 8月 17 11:24 redis-server
[root@192 bin]# ./redis-server redis.conf
检查是否已经正常启动:
[root@192 bin]# ps -ef|grep redis
root 5592 1 0 11:25 ? 00:00:00 ./redis-server 192.168.200.111:6379 [cluster]
root 5597 1215 0 11:25 pts/0 00:00:00 grep --color=auto redis
其中,有[cluster]后缀的,则显示此节点已经成功启动,并能作为一个集群节点生效。
接下来,选择其中一台机器,进入到其/usr/local/redis/bin目录下,直接使用./redis-cli --cluster create 192.168.200.111:6379 192.168.200.112:6379 192.168.200.113:6379 192.168.200.117:6379 192.168.200.115:6379 192.168.200.116:6379 --cluster-replicas 1 就可以开启各节点的集群模式,到这里,就会发现,5.x版本以上的redis集群开始,是不是很方便,直接一键开启。
[root@192 ~]# cd /usr/local/redis/bin
[root@192 bin]# ./redis-cli --cluster create 192.168.200.111:6379 192.168.200.112:6379 192.168.200.113:6379 192.168.200.117:6379 192.168.200.115:6379 192.168.200.116:6379 --cluster-replicas 1
执行之后,可以看到打印信息当中,自动将111,112,113三台机器作为主机,即集群的节点,117,115,116三台则作为对应主机的从机,也就是主从模式。
这里输入yes回车——

正常启动后,就可以可启动成功的打印信息了——

接下来,我们验证一下集群,先连接到集群当中——这里有几个参数简单介绍下,-h代表客户端连接指定ip地址是192.168.200.111,-p代表指定端口是6379,-c即cluster缩写,表示以集群模式来进行连接。
[root@192 bin]# redis-cli -h 192.168.200.111 -p 6379 -c
连接成功后,我们可以查看一下集群节点信息:
192.168.200.111:6379> cluster nodes

这里,可以看到集群当中主从节点的信息。
到这一步,就初步完成了虚拟机环境上搭建5.x版本的redis集群了,接下来,就可以在该集群上进行更多的学习。
linux虚拟机环境快速搭建redis5.x版本的主从集群总结的更多相关文章
- 三分钟快速搭建分布式高可用的Redis集群
这里的Redis集群指的是Redis Cluster,它是Redis在3.0版本正式推出的专用集群方案,有效地解决了Redis分布式方面的需求.当单机内存.并发.流量等遇到瓶颈的时候,可以采用这种Re ...
- Linux环境快速搭建RocketMQ双Master模式
RocketMQ的集群部署方式有多种,其中包括单个Master.多个Master.多Master多Slave模式(异步复制)以及多Master多Slave模式(同步双写).本次以多Master集群模式 ...
- Java Web 开发环境快速搭建
Java Web 开发环境快速搭建 在因某种原因更换开发设备后,可依据此文快速搭建开发环境,恢复工作环境. Java开发环境: Windows 10 (64-bit) Oralce JDK Eclip ...
- 快速搭建ELK7.5版本的日志分析系统--搭建篇
title: 快速搭建ELK7.5版本的日志分析系统--搭建篇 一.ELK安装部署 官网地址:https://www.elastic.co/cn/ 官网权威指南:https://www.elastic ...
- redis5.0.0功能介绍以及主从集群、哨兵搭建
这两天突然想起redis,索性就再尝试一下搭建最新版本的redis,过程有点艰辛呀,记录一下,供自己和大家今后搭建做参考. 一.为什么用Redis? 我自己总结了一下: 1.基于内存实现的key-va ...
- etcd v3版本生产级集群搭建以及实现一键启动脚本
本专栏的上一篇文章写了<长篇图解etcd核心应用场景及编码实战>,本文继续.后续计划章节内容如下: <长篇图解etcd核心应用场景及编码实战> <搭建高可用etcd集群& ...
- linux -- 基于zookeeper搭建yarn的HA高可用集群
linux -- 基于zookeeper搭建yarn的HA高可用集群 实现方式:配置yarn-site.xml配置文件 <configuration> <property> & ...
- Haproxy+Keepalived搭建Weblogic高可用负载均衡集群
配置环境说明: KVM虚拟机配置 用途 数量 IP地址 机器名 虚拟IP地址 硬件 内存3G 系统盘20G cpu 4核 Haproxy keepalived 2台 192.168.1.10 192 ...
- 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群
需要说明的是我们搭建的SQL Server故障转移集群(SQL Server Failover Cluster)是可用性集群,而不是负载均衡集群,其目的是为了保证服务的连续性和可用性,而不是为了提高服 ...
随机推荐
- 自己动手模拟spring的IOC
我们这里是模拟spring,主要模拟spring中的IOC功能,所以在此我们一样要在service层中定义dao的实例,当然不用new出来,我们就通过spring的IOC把这里的dao层注入进来.不要 ...
- Result Maps collection already contains value for cn.itcast.ssm.mapper.CompetesMapperCustom.baseMap
在使用ssm时出现的错误: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang ...
- 第13次抽考(IO流)
1.将文本文件a.txt 复制成 b.txt.要求: a. 用逐个字符复制方式: b. 用逐行读写方式: c. 用字符数组方式 2.将压缩包a.rar复制成b.rar. 注意:复制前后手工打开文件,若 ...
- adb bat 改进
@REM 生成随机数@echo off@REM 设置延迟变量setlocal enabledelayedexpansionset min=9set max=17set /a mod=!max!-!mi ...
- C语言:Unicode字符集
Unicode 也称为统一码.万国码:看名字就知道,Unicode 希望统一所有国家的字符编码.Unicode 于 1994 年正式公布第一个版本,现在的规模可以容纳 100 多万个符号,是一个很大的 ...
- Java基础00-Stream流34
1. Stream流 Stream流 1.1 体验Stream流 代码示例: //需求:按照下面的要求完成集合的创建和遍历 public class StreamDemo { public stati ...
- final修饰符(6)-final类
final修饰的类不可以有子类,例如:java.lang.Math类就是一个final类,它不可以有子类 子类继承父类,可以访问父类的内部数据,可以重写父类的方法来改变父类方法的实现细节,可能导致不安 ...
- [刘阳Java]_easyui-panel组件入门级_第3讲
EasyUI中的panel组件在前面一节中我们简单告诉了大家代码如何写.这一节我们会从panel的入门级开始讲起走,重点包括它的事件监听,属性tool介绍 1. 事件监听-通过data-options ...
- [源码解析] 深度学习分布式训练框架 horovod (18) --- kubeflow tf-operator
[源码解析] 深度学习分布式训练框架 horovod (18) --- kubeflow tf-operator 目录 [源码解析] 深度学习分布式训练框架 horovod (18) --- kube ...
- 03 高性能IO模型:采用多路复用机制的“单线程”Redis
本篇重点 三个问题: "Redis真的只有单线程吗?""为什么用单线程?""单线程为什么这么快?" "Redis真的只有单线程吗? ...