至少需要3个master节点,这里搭建三个master节点,并且给每个master节点在搭建一个slave节点,共6个redis节点,这里采用一台机器上创建6个redis实例,并将6个redis实例配置成集群模式,所以这里是伪集群模式,当然真正的分布式集群的配置方法几乎一样,搭建伪集群的步骤如下

基于centos7搭建单机redis5.0

# 第一步,在/usr/local下创建文件夹redis-cluster ,然后在其下面分别创建6个文件夹如下
mkdir -p /usr/local/redis-cluster
cd /usr/local/redis-cluster/
mkdir 8001 8002 8003 8004 8005 8006 # 第二步:把之前redis.conf配置文件copy到8001下,修改如下内容
1. daemonize yes
2. port 8001 (分别对应每个机器的端口号进行设置)
3. bind 192.168.222.129 (必须要绑定当前机器的ip,这里方便redis集群定位机器,不绑定可能会出现循环查找集群节点机器的情况)
4. dir /usr/local/redis-cluster/8001/ (指定数据文件存放位置,必须指定不同的目录位置,不然会丢失数据)
5. cluster-enabled yes (启动集群模式)
6. cluster-config-file nodes-8001.conf (这里800x最好和pod对应上)
7. cluster-node-timeout 5000
8. appendonly yes # 第三步: 把修改后的配置文件,分别copy到各个文件夹下,注意每个文件要修改第2,4,6项中的端口号,可以批量替换
:%s/源字符串/目的字符串/g # 第四步: 由于redis集群需要使用ruby命令,所以我们需要安装ruby
# 1. 安装ruby,rubygems
yum install ruby
yum install rubygems
# 2. 安装curl
yum -y install curl
# 3. 安装rvm
command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
command curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
curl -L get.rvm.io | bash -s stable
# 4. 修改 rvm下载 ruby的源,到 Ruby China 的镜像
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
# 5. 查看rvm库中已知的ruby版本
/usr/local/rvm/bin/rvm list known
# 6. 安装一个ruby版本
/usr/local/rvm/bin/rvm install 2.6.3
# 7. 使用一个ruby版本
/usr/local/rvm/bin/rvm use 2.6.3
# 8. 设置默认版本
/usr/local/rvm/bin/rvm alias create default ruby-2.6.3
mv /usr/bin/ruby /usr/bin/ruby.bak
ln -s /usr/local/rvm/rubies/ruby-2.6.3/bin/ruby /usr/bin/ruby
# 9. 卸载一个已知版本(可选操作)
rvm remove 2.0.0
# 10. 查看ruby版本
ruby --version
# 11. 安装redis和ruby的接口
gem install redis # 第五步: 分别启动6个redis实例,检查是否启动成功
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/8001/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/8002/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/8003/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/8004/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/8005/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis-cluster/8006/redis.conf
ps -ef | grep redis 查看是否启动成功 # 第六步: 在redis5的安装目录下执行redis-trib.rb命令创建整个redis集群(--replicas 1 表示每个master有1个slave,这样默认就有三个master,默认前三个机器为主节点)
cd /usr/local/redis-5.0.5/src
redis-cli --cluster create 192.168.222.129:8001 192.168.222.129:8002 192.168.222.129:8003 192.168.222.129:8004 192.168.222.129:8005 192.168.222.129:8006 --cluster-replicas 1 # 第七步:验证集群:
1. 连接任意一个客户端即可: ./redis-cli -c -h -p (-c表示集群模式,指定ip地址和端口号)
如: /usr/local/redis/bin/redis-cli -c -h 192.168.222.129 -p 800*
/usr/local/redis/bin/redis-cli -c -h 192.168.222.129 -p 8001
2. 进行验证: cluster info (查看集群信息) cluster nodes (查看节点列表)
3. 进行数据操作验证
4. 关闭集群需要逐个进行关闭,使用命令
/usr/local/redis/bin/redis-cli -c -h 192.168.222.129 -p 800* shutdown

redis5.0集群搭建的更多相关文章

  1. linux redis5.0 集群搭建

    一.下载 wget http://download.redis.io/releases/redis-5.0.0.tar.gz 二.解压.编译 #解押到 /usr/local/ 文件夹 tar -zxv ...

  2. Redis5.0集群搭建实战

    安装环境: 6台 centos7.4 在各个节点下载官网release包,可以自己去官网找: wget  http://download.redis.io/releases/redis-5.0.5.t ...

  3. Redis 5.0 集群搭建

    Redis 5.0 集群搭建 单机版的 Redis 搭建 https://www.jianshu.com/p/b68e68bbd725 /usr/local/目录 mkdir redis-cluste ...

  4. redis5.0集群配置

    介绍 redis自3.0版本以来支持主从模式的集群,可用哨兵监控集群健康状态,但这种方式的集群很不成熟,数据备份需要全量拷贝.在之后的版本才真正支持集群分片. 在redis5.0中去除了以redis- ...

  5. 模拟安装redis5.0集群并通过Java代码访问redis集群

    在虚拟机上模拟redis5.0的集群,由于redis的投票机制,一个集群至少需要3个redis节点,如果每个节点设置一主一备,一共需要六台虚拟机来搭建集群,此处,在一台虚拟机上使用6个redis实例来 ...

  6. Redis 3.0 集群搭建

    Redis 3.0 集群搭建 开启两个虚拟机 分别在两个虚拟机上开启3个Redis实例 3主3从两个虚拟机里的实例互为主备 下面分别在两个虚拟机上安装,网络设置参照codis集群的前两个主机 分别关闭 ...

  7. 多机部署redis5.0集群环境

    redis5.0集群部署 一.集群介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation). Redis 集群不支持那些需要同时处理多个键的 Redi ...

  8. Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)

    现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机 ...

  9. redis5.0.0集群搭建【实战经历】

    redis集群搭建 作者:陈土锋 时间:2020年6月2日 目录 一.环境介绍... 1 1.机器准备... 1 2.关闭防护墙和selinux. 1 3.时间同步... 1 二.Redis Clus ...

随机推荐

  1. sh_09_字典的定义

    sh_09_字典的定义 # 字典是一个无序的数据集合,使用print函数输出字典时,通常 # 输出的顺序和定义的顺序是不一致的! xiaoming = {"name": " ...

  2. QtQtConcurrent 使用方式

    说明:QtConcurrent 的线程函数启动方式略述. 1) 全局函数或静态函 ,作为线程函数 void threadFunc() { //...add } QtConcurrent::run(th ...

  3. 如何在组件中监听vuex数据变化(当vuex中state变化时,子组件需要进行更新,怎么做?)

    todo https://blog.csdn.net/qq_37899792/article/details/97640434

  4. [CSP-S模拟测试]:集合合并(记忆化搜索)

    题目传送门(内部题133) 输入格式 第一行一个正整数$n$. 第二行$n$个正整数$a_i$,表示一开始有$S_i=\{a_i\}$ 输出格式 输出一个非负整数表示最大的收益之和 样例 样例输入: ...

  5. Android学习_7/23

    1.        在活动中使用Menu 1)        什么是Menu? 2)        怎么实现? step1:res目录下创建Menu resource file,使用<item… ...

  6. windows上批量杀指定进程

    Taskkill 结束一个或多个任务或进程.可以根据进程 ID 或图像名来结束进程. 语法 taskkill [/s Computer] [/u Domain\User [/p Password]]] ...

  7. C++入门经典-例6.20-修改string字符串的单个字符

    1:使用+可以将两个string 字符串连接起来.同时,string还支持标准输入输出函数.代码如下: // 6.20.cpp : 定义控制台应用程序的入口点. // #include "s ...

  8. 第六周课程总结&实验报告(四)

    实验报告(四) 一.实验目的 1.掌握类的继承 2.变量的继承和覆盖,方法的继承,重载和覆盖的实现 二.实验的内容 1.根据下面的要求实现圆类Circle. 圆类Circle的成员变量:radius表 ...

  9. ES6学习一--ES5

    JSON对象方法 1.将JSON字符串转换成js对象(IE7及以下不支持)(IE7及以下兼容需其他手段) JSON.parse() 2.将js对象转成JSON字符串 JSON.stringify() ...

  10. 后盾网lavarel视频项目---lavarel使用模型进行增删改查操作

    后盾网lavarel视频项目---lavarel使用模型进行增删改查操作 一.总结 一句话总结: 使用模型操作常用方法 查一条:$model=Tag::find($id); 删一条:Tag::dest ...