redis5.0集群搭建
至少需要3个master节点,这里搭建三个master节点,并且给每个master节点在搭建一个slave节点,共6个redis节点,这里采用一台机器上创建6个redis实例,并将6个redis实例配置成集群模式,所以这里是伪集群模式,当然真正的分布式集群的配置方法几乎一样,搭建伪集群的步骤如下
# 第一步,在/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集群搭建的更多相关文章
- linux redis5.0 集群搭建
一.下载 wget http://download.redis.io/releases/redis-5.0.0.tar.gz 二.解压.编译 #解押到 /usr/local/ 文件夹 tar -zxv ...
- Redis5.0集群搭建实战
安装环境: 6台 centos7.4 在各个节点下载官网release包,可以自己去官网找: wget http://download.redis.io/releases/redis-5.0.5.t ...
- Redis 5.0 集群搭建
Redis 5.0 集群搭建 单机版的 Redis 搭建 https://www.jianshu.com/p/b68e68bbd725 /usr/local/目录 mkdir redis-cluste ...
- redis5.0集群配置
介绍 redis自3.0版本以来支持主从模式的集群,可用哨兵监控集群健康状态,但这种方式的集群很不成熟,数据备份需要全量拷贝.在之后的版本才真正支持集群分片. 在redis5.0中去除了以redis- ...
- 模拟安装redis5.0集群并通过Java代码访问redis集群
在虚拟机上模拟redis5.0的集群,由于redis的投票机制,一个集群至少需要3个redis节点,如果每个节点设置一主一备,一共需要六台虚拟机来搭建集群,此处,在一台虚拟机上使用6个redis实例来 ...
- Redis 3.0 集群搭建
Redis 3.0 集群搭建 开启两个虚拟机 分别在两个虚拟机上开启3个Redis实例 3主3从两个虚拟机里的实例互为主备 下面分别在两个虚拟机上安装,网络设置参照codis集群的前两个主机 分别关闭 ...
- 多机部署redis5.0集群环境
redis5.0集群部署 一.集群介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation). Redis 集群不支持那些需要同时处理多个键的 Redi ...
- Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)
现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机 ...
- redis5.0.0集群搭建【实战经历】
redis集群搭建 作者:陈土锋 时间:2020年6月2日 目录 一.环境介绍... 1 1.机器准备... 1 2.关闭防护墙和selinux. 1 3.时间同步... 1 二.Redis Clus ...
随机推荐
- springboot运行jar包时候加载指定目录的其他jar支持包
最近发生一个小故障,调试好的项目,发布成jar包后无法找到oracle的驱动,研究了一下解决了.记录一下.写了一个run.sh脚本 #!/bin/bash cd ~ cd app nohup java ...
- sh_07_元组遍历
sh_07_元组遍历 info_tuple = ("zhangsan", 18, 1.75) # 使用迭代遍历元组 for my_info in info_tuple: # 使用格 ...
- 【HDOJ5943】Kingdom of Obsession(数论)
题意:给定n个人,n个座位,人的编号是[1,n],座位的编号是[s+1,s+n],编号为i的人能坐在编号为j的座位上的条件是j%i=0 问是否存在一组方案使得座位和人一一对应 n,s<=1e9 ...
- .net core 在服务器端获取api传递的参数
在 ActionFilterAttribute 的OnActionExecutionAsync 中使用如下代码从流中读取用户参数 //从文件流中读取传递测参数 using (var ms = new ...
- Topcoder SRM 674 Div.2题解
T1 解题思路 这题应该不是很难,主要是题意理解问题. 注意给出的两个数组里映射关系已经对应好了,只要判断是否为双射即可 参考程序 #include <bits/stdc++.h> usi ...
- 【转】【Linux经验】Codeblocks 13.12自动补全 、缩进解决
最近使用Xubuntu 14.04学习C语言编程,发现了Codeblocks这款比较方便简单.适合我这种新手的IDE.之前用过Codeblocks10.04,它的代码自动补全和自动缩进让我眼前一亮.但 ...
- less基本用法:持续归纳中
todo 1,嵌套语法:https://www.w3cschool.cn/less/nested_directives_bubbling.html 简单来说就是可以与html一样去写css,并且会继承 ...
- Zookeeper(二)数据模型
Zookeeper数据模型ZNode 问题 ZK的数据模型ZNodes是什么样的: 树形结构,每个叶子节点都存储着数据,且可挂载子节点: 路径作为叶子节点名称,数据作为叶子节点内的数据: Znode可 ...
- python3笔记十二:python数据类型-Dictionary字典
一:学习内容 字典概念 字典创建 字典访问 字典添加 字典删除 字典遍历 字典与列表比较 二:字典概念 1.使用键值对(key-value)存储,具有极快的查找速度 2.注意:字典是无序的 3.特性: ...
- ubuntu16.04修改host上外網
1.打开hosts文件: sudo emacs /etc/hosts 2.加入下面的内容 #chrome同步服务器 203.208.46.132 chrome.google.com203.208.46 ...