配置redis三主三从

主从环境

centos7.6
redis4.0.1

192.168.181.139:6379192.168.181.136:6379
192.168.181.136:6380192.168.181.137:6380
192.168.181.137:6381192.168.181.139:6381

集群实例配置

这里展示192.168.181.139:6379节点的,其他配置修改ip、端口号和文件名

bind 192.168.181.139
port 6379
pidfile /var/run/redis-master-6379.pid
logfile "/data/logs/redis/redis-master-6379.log"
dbfilename dump-master-6379.rdb
dir "/data/redis"
appendonly yes
appendfilename "appendonly-master-6379.aof"
aof-use-rdb-preamble yes
cluster-enabled yes
cluster-config-file nodes-master-6379.conf
cluster-node-timeout 10000

启动实例

完成各个实例启动,该过程略,自行完成实例启动

配置三主三从

配置过程有两种方法,第一个是手动配置,第二个是采用redis-trib.rb工具配置,这先用手动配置。集群配置过程分为节点握手数据槽分配以及主从关系配置三个操作构成。

手动配置三主三从

以下操作在192.168.181.139主机上完成,集群信息共享,所以只用一个节点操作即可

节点握手

# 实例发现
redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.139 6379
redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.139 6381
redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.136 6380
redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.136 6379
redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.137 6381
redis-cli -h 192.168.181.139 -p 6379 cluster meet 192.168.181.137 6380

**数据槽分配*

# 分配数据槽
for i in {0..5400}; do redis-cli -h 192.168.181.139 -p 6379 cluster addslots $i; done > /dev/null
for i in {5401..11000}; do redis-cli -h 192.168.181.136 -p 6380 cluster addslots $i; done > /dev/null
for i in {11001..16383}; do redis-cli -h 192.168.181.137 -p 6381 cluster addslots $i; done > /dev/null

到这一步,一个三主的redis集群已经搭建起来了,接下来配置主从关系,注意,尽量不要让一对主从关系出现在同一个系统上,避免系统故障带来损失
配置集群主从关系是通过实例ID的来配置的,实例ID是唯一性的,查看集群节点,注意查看节点ID,接下来配置主从关系需要用到

# 查看节点ID
[root@ware2 ~]# redis-cli -h 192.168.181.139 -p 6379 cluster nodes
0b03d2098d7cb7e10d540747eed9b2804c424d18 192.168.181.136:6380@16380 master - 0 1551059531000 2 connected 5401-11000
4bf34e9120d54a4d3d609fdea3cf5613787f0d2d 192.168.181.139:6379@16379 myself,master - 0 1551059528000 1 connected 0-5400
ea9e5923466ee0df2447f10c3835ddf1041c0d7f 192.168.181.137:6380@16380 master - 0 1551059531661 5 connected
f0e6d8f9d84209623613dd48a00c8c263b5ecc88 192.168.181.137:6381@16381 master - 0 1551059531000 0 connected 11001-16383
c32bb72dda43f27dd9554cfda556de10ea1220cf 192.168.181.139:6381@16381 master - 0 1551059532000 4 connected
3c2e20644c38878cceb5e4b89a9c9ba7adf03d2a 192.168.181.136:6379@16379 master - 0 1551059532669 3 connected

配置主从关系

# 192.168.181.136:6379作为4bf34e9120d54a4d3d609fdea3cf5613787f0d2d(192.168.181.139:6379)的从实例,以下类似
redis-cli -h 192.168.181.136 -p 6379 cluster replicate 4bf34e9120d54a4d3d609fdea3cf5613787f0d2d
redis-cli -h 192.168.181.137 -p 6380 cluster replicate 0b03d2098d7cb7e10d540747eed9b2804c424d18
redis-cli -h 192.168.181.139 -p 6381 cluster replicate f0e6d8f9d84209623613dd48a00c8c263b5ecc88

配置主从关系

到这一步,集群配置完成,可以用以下命令分别查看主从状态和集群信息

# 主从状态
redis-cli -h 192.168.181.139 -p 6379 cluster nodes
# 集群信息
redis-cli -h 192.168.181.139 -p 6379 cluster info

使用redis-trib.rb创建集群

该工具在redis安装后的src目录,对应配置redis集群非常方便,需要安装ruby(version>2.2)环境
本次实验在centos7.6,但自带的ruby2.0版本低于要求,需要手动安装ruby

安装ruby

# 安装rvm
# 通过gpg2导入密钥
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
https://rvm.io/mpapis.asc | gpg2 --import -
curl -L get.rvm.io | bash -s stable
source /usr/local/rvm/scripts/rvm

rvm常见操作

# 查看rvm库中已知的ruby版本
rvm list known
# 安装一个ruby版本
rvm install 2.3.3
# 使用一个ruby版本
rvm use 2.3.3
# 设置默认版本
rvm use 2.3.3 --default
# 卸载一个已知版本
rvm remove 2.0.0
# 安装redis,这一步很关键
gem install redis

到这一步已经可以使用redis-trib.rb配置集群了
使用redis-trib.rb create命令完成节点握手和槽分配过程
注意:指定 主从节点时,前三个为主节点;后三个为对应从节点

# 在这之前重新搭配环境,删除文件,然后启动各个实例
redis-trib.rb create --replicas 1 192.168.181.139:6379 192.168.181.136:6380 192.168.181.137:6381 192.168.181.139:6381 192.168.181.136:6379 192.168.181.137:6380

转载于:https://www.cnblogs.com/AutoSmart/p/10429423.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

加个属性让div成纵向横向无缝滚动(支持IE和FF)

<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns"http://www.w3.org/1999/xhtml"> <head> <title>无缝div(纵向,横向滚动)(s…

tensorflow 模型小型化_模型小型化

实习终于结束了&#xff0c;现把实习期间做的基于人体姿态估计的模型小型化的工作做个总结。现在深度学习模型开始走向应用&#xff0c;因此我们需要把深度学习网络和模型部署到一些硬件上&#xff0c;而现有一些模型的参数量由于过大&#xff0c;会导致在一些硬件上的运行速度…

css多行超出时,超出高度,显示省略号

.layoutdisplay: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;转载于:https://www.cnblogs.com/cx709452428/p/10457182.html

设计模式系列漫谈之二 - 工厂方法模式

故事 10月1日是小雪的生日。许多追求者都想在生日那天给小雪一份意想不到的惊喜&#xff0c;并且表达自己的爱意。这些追求者绞尽脑汁的为小雪发送一个比较有创意的祝福短信。看来&#xff0c;小雪今年的生日过得肯定非常幸福。但是&#xff0c;小雪的手机还是比较特别&a…

谁控制了我们的浏览器?

http://www.baidu.com/link?url4Qw_a5JHvJi8NPp7of9HqRWN93EPxC2Vy9CPxm3e-KgcO443jRRS_1jzcWDAF8qf5oPPwipv0D6BRQf5XMNi1a 本文遵从GPL协议&#xff0c;欢迎转载。 1、现象是什么&#xff1f; 大约从今年年初开始&#xff0c;很多人就发现&#xff0c;在浏览一些网站的时候&…

java面试题大全答案版文库_java高级面试题带答案

java高级面试题&#xff0c;java面试题大全带答案&#xff0c;线程面试题&#xff0c;java面试宝典20191、[请对以下在J2EE中常用的名词进行解释(或简单描述)](http://www.wityx.com/post/172_1_1.html)2、[socket通信](http://www.wityx.com/post/175_1_1.html)3、[简述线程的…

SP1693 COCONUTS - 题解

SP1693 COCONUTS 题意&#xff1a; 几个士兵在投票&#xff0c;有支持与反对两种选择&#xff0c;每个人有自己的看法&#xff0c;但是他们有时也会为了支持朋友的看法而放弃自己的看法&#xff0c;请求出一种方案&#xff0c;使得违背自己初始看法的人数与看法不一致的朋友对数…

最近特忙

昨天上午上课&#xff0c;中午开支部大会&#xff0c;下午学院职工会议&#xff0c;晚上去东联蛇餐馆吃蛇肉&#xff0c;回来后参加体验英语月闭幕式及英语合唱表演决赛。这中间我还出去给我的论文小组快了一个讨论会。昨天共开了三个会&#xff0c;真是忙得天昏地暗&#xff0…

NoSQL系列:选择合适的数据库

NoSQL系列&#xff1a;选择合适的数据库 为什么使用NoSQL数据库&#xff1f; 阻抗失衡 关系模型和内存中的数据结构不匹配 采用更为方便的数据交互方式提升开发效率 待处理的数据量很大 数据量超过关系型数据库的承载能力 大集群的出现 在成本方面&#xff0c;集群中应用关系数…

mysql历史日志文件_MySQL 历史 binlog 日志处理

MySQL 历史 binlog 日志处理一、问题的引出MySQL binlog 如果不清理会占用服务器的空间,那么怎么处理binlog日志呢二、解决办法1、物理删除df -Th 查看磁盘空间➜ bobbob-pc ~ df -Th文件系统 类型 容量 已用 可用 已用% 挂载点udev devtmpfs 7.8G 0 7.8G 0% /devtmpfs tmpfs 1…

史上最全搞怪WC标志(组图)--设计者太有才了。

转载于:https://www.cnblogs.com/onlyzq/archive/2007/12/22/1010318.html

1 vmware 如何联网,以及行命令令初步

VMware安装Linux&#xff08;我安装的是ubuntu&#xff09;&#xff0c;没法上网&#xff0c;上网教程见&#xff1a;https://blog.csdn.net/qq_28090573/article/details/78730552 安装完成Linux&#xff0c;进入系统&#xff0c;显示的是图形界面&#xff0c;但是学习Linux&a…

mysql几个timeout参数_MySQL中 timeout相关参数解析

前言&#xff1a;MySQL中有两个关于连接超时的配置项。他们之间在某些条件下会互相继承&#xff0c;那究竟这两个参数会在什么情况下起作用呢&#xff1f;本文将会通过一些测试实例来证明总结两者的相互关系。参数介绍&#xff1a;The number of seconds the server waits for …

XML操作类

publicclassXmlControl:Object { protectedstringstrXmlFile; protectedXmlDocument objXmlDoc newXmlDocument(); publicXmlControl(stringXmlFile, Boolean bOverWrite, stringsRoot) { try{ //如果覆盖模式&#xff…

shell脚本中if的相关参数

转自&#xff1a;http://blog.csdn.net/aaaaatiger/article/details/1713611[ -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ] 如果 FILE 存在且是一个…

mysql设置端口_修改mysql端口以及出现的问题

为了提高服务器的安全性&#xff0c;本节课主要讲的是Linux下如何修改Mysql端口。支持Linux环境下大部分系统的修改&#xff0c;如Centos和Ubuntu等。一、编辑my.cnfvi /etc/my.cnf二、在[mysqld]下添加port3506三、重启mysql服务service mysqld restart这里我之前出现了一个…

[转]你打算如何提升自己?

一年一度的金九银十&#xff0c;对于职场人来说&#xff0c;人们比盼望过年过节还期待&#xff0c;过年过节只是得到更好的休息&#xff0c;而金九银十&#xff0c;如果机会适当&#xff0c;得到的是实实在在的提升&#xff0c;职位提升、薪酬提升。在物价和股票都上升的时候&a…

下载安装webstrom及激活

太久没在新电脑上安装websrtom&#xff0c;又有点忘了咋激活。 一、安装 1.直接在浏览器搜索webstrom&#xff0c;打开官网&#xff0c;直接点击download。如下图 2.打开安装包&#xff0c;开始安装&#xff0c;直接点击 next 3.选择安装路径&#xff08;安装在你想安装的位置&…

CentOS命令行安装配置KVM详细教程

系统为centos 6.4 64位 最小化安装 服务器为dell R720&#xff0c;所以网卡为em0&#xff0c;在vmware作为练习安装学习&#xff0c;同样可以&#xff0c;命令行不是为了显的牛B&#xff0c;而是不用考虑桌面兼容性和其他原因的影响一、查看是否支持虚拟化vmware开启方式虚拟化…

mysql addslashes_PHP函数addslashes和mysql_real_escape_string的区别

首先&#xff1a;不要使用mysql_escape_string&#xff0c;它已被弃用&#xff0c;请使用mysql_real_escape_string代替它。mysql_real_escape_string和addslashes的区别在于&#xff1a;区别一&#xff1a;addslashes不知道任何有关MySQL连接的字符集。如果你给所使用的MySQL连…