至少需要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. springboot运行jar包时候加载指定目录的其他jar支持包

    最近发生一个小故障,调试好的项目,发布成jar包后无法找到oracle的驱动,研究了一下解决了.记录一下.写了一个run.sh脚本 #!/bin/bash cd ~ cd app nohup java ...

  2. sh_07_元组遍历

    sh_07_元组遍历 info_tuple = ("zhangsan", 18, 1.75) # 使用迭代遍历元组 for my_info in info_tuple: # 使用格 ...

  3. 【HDOJ5943】Kingdom of Obsession(数论)

    题意:给定n个人,n个座位,人的编号是[1,n],座位的编号是[s+1,s+n],编号为i的人能坐在编号为j的座位上的条件是j%i=0 问是否存在一组方案使得座位和人一一对应 n,s<=1e9 ...

  4. .net core 在服务器端获取api传递的参数

    在 ActionFilterAttribute 的OnActionExecutionAsync 中使用如下代码从流中读取用户参数 //从文件流中读取传递测参数 using (var ms = new ...

  5. Topcoder SRM 674 Div.2题解

    T1 解题思路 这题应该不是很难,主要是题意理解问题. 注意给出的两个数组里映射关系已经对应好了,只要判断是否为双射即可 参考程序 #include <bits/stdc++.h> usi ...

  6. 【转】【Linux经验】Codeblocks 13.12自动补全 、缩进解决

    最近使用Xubuntu 14.04学习C语言编程,发现了Codeblocks这款比较方便简单.适合我这种新手的IDE.之前用过Codeblocks10.04,它的代码自动补全和自动缩进让我眼前一亮.但 ...

  7. less基本用法:持续归纳中

    todo 1,嵌套语法:https://www.w3cschool.cn/less/nested_directives_bubbling.html 简单来说就是可以与html一样去写css,并且会继承 ...

  8. Zookeeper(二)数据模型

    Zookeeper数据模型ZNode 问题 ZK的数据模型ZNodes是什么样的: 树形结构,每个叶子节点都存储着数据,且可挂载子节点: 路径作为叶子节点名称,数据作为叶子节点内的数据: Znode可 ...

  9. python3笔记十二:python数据类型-Dictionary字典

    一:学习内容 字典概念 字典创建 字典访问 字典添加 字典删除 字典遍历 字典与列表比较 二:字典概念 1.使用键值对(key-value)存储,具有极快的查找速度 2.注意:字典是无序的 3.特性: ...

  10. ubuntu16.04修改host上外網

    1.打开hosts文件: sudo emacs /etc/hosts 2.加入下面的内容 #chrome同步服务器 203.208.46.132 chrome.google.com203.208.46 ...