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 ...
随机推荐
- 论文阅读:ClickNF: a Modular Stack for Custom Network Functions
摘要: 网络功能虚拟化最近允许用等效的软件实现代替专用设备, Click路由器是朝这个方向迈出的第一步,它定义了用于通用数据包处理的模块化平台. 尽管Click具有重大影响,但它不提供本机L4实现,而 ...
- 在Windows QT下使用ZeroMQ
zeroMQ作为一个嵌入式消息队列系统,以其轻便灵活的使用方式,极为适合应用程序分布式通讯处理, 或者是一种有效的代替常规saocket通讯的方法. 1)下载地址:http://zeromq.org/ ...
- php正则表达式的学习
真的发现什么都需要这个 所以还是来把它学了吧 正则表达式的基本知识汇总 行定位符(^与$) 行定位符是用来描述字符串的边界.“$”表示行结尾“^”表示行开始如"^de",表示以de ...
- css实现动态阴影、蚀刻文本、渐变文本
css实现动态阴影 创建与类似的阴影box-shadow 而是基于元素本身的颜色. 代码实现: <div class="dynamic-shadow-parent"> ...
- C++入门经典-例6.7-字符串比较
1:strcmp函数,用于比较两个字符串.格式如下: strcmp(字符数组名1,字符数组名2) 按照ASCII码,按顺序比较两个数组中的字符,并由函数返回值返回比较结果的执行过程. (1)各自选中自 ...
- 【学习】mysql 时间戳与日期格式的相互转换
1.UNIX时间戳转换为日期用函数: FROM_UNIXTIME() ); 输出:2006-08-22 12:11:10 2.日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP() Sel ...
- gdb调试时忽略SIGPIPE 等信号
GDB调试网络程序时,会遇到SIGPIPE信息,默认GDB会把程序停下来,即使程序使用signal(SIGPIPE, SIG_IGN);来忽略信号.用handle命令设置一下缺省的signal的处理行 ...
- tinymq学习小结
学了tinymq, 先将它的README翻译了一下: TinyMQ - A diminutive message queue (TinyMQ ---一个小型的消息队列) TinyMQ是一个为erlan ...
- java 中的多态
多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态. 下面利用代码进行简单概述: 实现多态必须要满足三个条件 1必须有继承 2必须重写 3必须父类引用子类对象 ...
- python MySQLdb 如何设置读超时read_timeout
在python中,经常用到 MySQLdb操作MySQL数据库. 在实现上,MySQLdb并不是纯python的,而是封装了MySQL C API库_mysql. 对于MySQLdb是否支持read_ ...