至少需要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. 删除全局安装的npm包

    方法一 : 使用命令 npm uninstall -g 包名 方法二: 直接找到对应包删除 C:\Users\自己用户的文件夹\AppData\Roaming\npm 将对应的包删除即可

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

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

  3. python学习之路(7)

    调用函数 Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数.可以直接从Python的官方网站查看文档: http: ...

  4. Java并发编程的艺术笔记(六)——HashMap、ConcurentHashMap的原理与实现

    一.线程不安全的HashMap 多线程环境下,使用HashMap进行put操作会引起死循环(jdk1.7 Entry链表形成环形数据结构),导致CPU利用率接近100%. 结构:数组 table[]+ ...

  5. 使用FFmpeg让mp4转gif

    配好环境之后,需要在开始菜单中打开命令提示符,然后进入到test.mp4的文件目录下执行命令.(直接在文件目录下打开cmd不能生效)ffmpeg -i test.mp4 -f gif test.gif

  6. spark 笔记 8: Stage

    Stage 是一组独立的任务,他们在一个job中执行相同的功能(function),功能的划分是以shuffle为边界的.DAG调度器以拓扑顺序执行同一个Stage中的task. /** * A st ...

  7. mybayis分页插件

    转载自 https://www.cnblogs.com/ljdblog/p/6725094.html

  8. Fiddlercore拦截并修改HTTPS链接的网页,实现JS注入

    原始出处:https://www.cnblogs.com/Charltsing/p/FiddlerCoreHTTPS.html Fiddlercore可以拦截和修改http的网页内容,代码在百度很多. ...

  9. wordpress 更新时需要FTP 服务器账户密码的解决方法

    首先进入 apache下的wordpress 的目录下 (这是apache服务器默认安装的路径) cd /var/www 接着,给html整个文件夹进行赋值权限,如果不赋予权限 更新的时候会报权限不足 ...

  10. 二十一:jinja2之模板继承

    模板继承可以把有共性的一些代码抽出来放到父模板中,其他需要次特性的文件继承模板即可 在jinja2中,使用extends来继承定义好的模板,使用{% block 位置名%} {% endblock % ...