redis集群linux安装教程,linux下redis集群的原生安装方式部署
一、部署架构如下
每台服务器准备2个节点,一主一从,主节点为另外两台其中一台的主,从节点为另外两台其中一台的从。
二、准备6个节点配置文件
在172.28.18.75上操作
cd /etc/redis
vim redis-25701.conf
内容如下
bind 172.28.18.75
port 25701
masterauth "Zaq1xsw@"
requirepass "Zaq1xsw@"
protected-mode yes
daemonize yes
dir "/etc/redis"
pidfile "/var/run/redis_25701.pid"
loglevel notice
logfile "redis-25701.log"
dbfilename "dump-25701.rdb"
cluster-enabled yes
cluster-node-timeout 15000
cluster-config-file node-25701.conf
cluster-require-full-coverage no
替换端口号,并生成一个从节点配置文件
sed 's/25701/25702/g' redis-25701.conf > redis-25702.conf
复制这两个配置文件到172.28.18.103和172.28.18.104对应的目录下
scp -P25601 redis-25701.conf root@172.28.18.103:/etc/redis/
scp -P25601 redis-25702.conf root@172.28.18.103:/etc/redis/
scp -P25601 redis-25701.conf root@172.28.18.104:/etc/redis/
scp -P25601 redis-25702.conf root@172.28.18.104:/etc/redis/
三、启动6个节点
redis-server redis-25701.conf
查看redis-25701.log
集群模式运行
打开node-25701.conf文件,里面有如下内容
表示自己的nodeid,并且是一个master,发现自己,
启动从节点:
redis-server redis-25702.conf
按照以上操作,启动另外两台服务器的4个节点
启动完毕,可以使用redis-cli来查看集群信息:
redis-cli -h 172.28.18.75 -p 25701 -a password cluster nodes
查看集群配置文件内容
redis-cli -h 172.28.18.75 -p 25701 -a password cluster info
当前集群状态是失败的,分配的槽为0
四、执行节点之间的meet操作,使相互之间可以通信感知对方
在172.28.18.75上执行
将25701节点和25702节点之间通信,返回OK,成功,此时我们查看25701的节点信息,已经感知到了25702节点信息
同样查看25702,也感知到了25701
继续执行meet操作,使172.28.18.75的25701和另外两台服务器的25701和25702通信
redis-cli -h 172.28.18.75 -p 25701 -a password cluster meet 172.28.18.103 25701
redis-cli -h 172.28.18.75 -p 25701 -a password cluster meet 172.28.18.103 25702
redis-cli -h 172.28.18.75 -p 25701 -a password cluster meet 172.28.18.104 25701
redis-cli -h 172.28.18.75 -p 25701 -a password cluster meet 172.28.18.104 25702
此时,所有节点都感知到了对方,总共6个节点
握手操作成功完成,目前配置显示所有节点都是master,所以接下来需要设置主从
五、设置主从节点
172.28.18.75 25701(主)--》172.28.18.103 25702(从)
172.28.18.103 25701(主)--》172.28.18.104 25702(从)
172.28.18.104 25701(主)--》172.28.18.75 25702(从)
1、172.28.18.75 25701(主)--》172.28.18.103 25702(从)
在从节点172.28.18.103上操作
redis-cli -h 172.28.18.103 -p 25702 -a password cluster replicate 5f5939a7b9f6c1290173b7d326b076ee0736a268
25702:从节点端口
5f5939a7b9f6c1290173b7d326b076ee0736a268:主节点nodeid,可通过 redis-cli 的cluster nodes 来查询
返回ok,查询cluster nodes,25702已经变成172.28.18.75 25701的从节点
再查询172.28.18.75 25701节点信息,103的25702成为了他的从节点
再按照以上操作设置另外两台主从
在172.28.18.104上执行
将104 25702变成103 25701的从节点
在172.28.18.75上执行
将75 25702变成104 25701的从节点
此时,查看75 25701集群节点信息
3主3从设置完毕
六、为主节点分配槽slot
3主:将16384个槽分为3份,0到5461的数据分到75 25701端口,将5462到10922的数据分到103 25701端口,10923到16383的数据分到104 25701端口
在172.28.18.75上编写脚本
vim add_slots.sh
#!/bin/bash
start=$1#定义一个起始变量
end=$2#定义一个结束变量for slot in `seq $start $end`#利用for循环来重复执行命令,在slot中do
echo "slot:$slot"redis-cli -h 172.28.18.75 -p 25701 -a passwordcluster addslots $slotdone
执行脚本:
chmod +x add_slots.sh
./add_slots.sh 0 5461
完毕后,查看节点信息
成功分配5462个槽
在另外两台服务器也分配剩余的槽
./add_slots.sh 5462 10922
./add_slots.sh 10923 16383
查看槽分配结果
redis-cli -h 172.28.18.75 -p 25701 -a password cluster slots
5461个槽分配到172.28.18.75 25701上,并且它的从节点为172.28.18.103 25702
到此,分配槽操作完毕。
七、测试结果
连接172.28.18.75 25701,注意一定要加"-c"参数,否则如果数据没有分配到当前节点则不会自动连接其他集群的节点。
redis-cli -c -h 172.28.18.75 -p 25701 -a password
返回OK,并且数据被分配到了104 25701节点的槽里。并且连接也自动变为104的25701,此时get
返回数据。集群已经正常工作。
此时,停掉172.28.18.75 25701主节点,172.28.18.103 25702将晋升为主节点
查看172.28.18.103 25702节点信息
此时自己成为master,而172.28.18.75 25701则显示失败状态,此时把172.28.18.75 25701节点启动
此时自己成为从节点,再查看172.28.18.103 25702节点信息,172.28.18.75 25701,已经成为salve。
至此,redis原生安装集群设置完毕。
redis集群linux安装教程,linux下redis集群的原生安装方式部署相关推荐
- wireshark使用教程 linux,Linux入门教程:ubuntu下安装wireshark(以及配置非root),这个强大的工具可以捕...
Linux入门教程:ubuntu下安装wireshark(以及配置非root),这个强大的工具可以捕 Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关 ...
- linux系统nginx安装教程,Linux下Nginx安装教程
Linux下Nginx安装教程分享,具体内容如下 1.安装编译文件及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl op ...
- seafile服务器版能安装在虚拟机上,seafile安装教程linux
seafile安装教程linux [2021-02-15 06:48:59] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&quo ...
- windows版 redis安装教程,以及redis客户端安装
windows版 redis安装教程,以及redis客户端安装 由于这两天安装了redis,在redis挂网上找到的redis都是linux版的,所以在此做个记录,方便以后用,也分享给广大网友 1,w ...
- Linux简易教程 Linux系统起源简介
Linux简易教程 Linux系统起源简介 balabalabala Linux⽤⼾和权限 linux是⼀个多任务,多⽤⼾系统.多⽤⼾就带来了权限的问题,⽂件和⽂件夹都有明确的所有者和相应的读写权 限 ...
- Python安装教程步骤1:Pycharm和Anaconda的安装
python安装教程步骤1:Pycharm和Anaconda的安装 作者介绍 1.复制pycharm和Aanconda的安装包 2. 安装pycharm 3. 安装Anaconda 作者介绍 张伟伟, ...
- Linux redis安装教程,Linux 下redis5.0.0安装教程详解
Linux redis5.0.0安装,教程如下所示: 1.从官网下载,然后传到服务器,tar -zxvf解压 2.进入redis ? 3.安装:make, (1)若提示:: gcc: Command ...
- linux下redis安装教程,linux下安装配置redis图文详解
在linux系统下安装redis的详细步骤如下: 1. 首先下载一个redis安装包,下载地址:https://www.daixiaorui.com/source/13.html .也可以去官网下载最 ...
- python3.6.1安装教程-Linux下python3.6.1环境配置教程
linux系统环境自带python2.6,但有时我们项目使用的版本可能是3.x以上等等,此时我们需要在linux中再安装项目所需的python版本,此时就涉及多版本共存问题了,很多同学在安装多个版本P ...
最新文章
- python中api是指什么_python中API接口是什么
- 地表地形对地下温度及地表热流的影响
- Pycharm的远程代码编辑
- 开发模式下浏览器不支持ES6
- telnet IP不通/sybase central工具无法连接到数据库
- 实用的pythondjango项目_推荐10个django开发过程中比较好用的第三方包
- python图片隐写_基于python的LSB隐写与分析
- ssis for循环容器_SSIS包中的序列容器
- 被弃用的 Docker 会被 Podman 取代吗?
- 基于深度学习的大豆病虫害自动计数(SLIC超像素方法进行图像分割)
- 运维安全·Web组件安全·Nginx
- 老男孩28期学员卞勃森决心书
- LayIM 3.9.1与ASP.NET SignalR实现Web聊天室快速入门(三)之LayIM初始化数据
- 邮件解析引擎FastMail库大功告成!
- 怎么压缩过大的GIF图片?三步缩小动态图片
- ios 模拟器沙盒_查看iOS模拟器应用的沙箱文件
- Android_学习安卓必备网址
- php学习规划,2015年计划
- 谷歌地图文档翻译【一、Overview】
- 2019DevFest | 从互联网前端到2B交付型前端-探索面向交付的实用前端技术栈
热门文章
- mysql mgr监控_说MGR - MGR的监控
- sas一元回归分析_商业分析的应用
- 发邮件请领导审批文件怎么说_住建部:1月1日起,两项甲级资质实行告知承诺审批!...
- asm冗余 oracle_oracle 11.2.0.1 rac 修改asm磁盘组的冗余模式(redundancy mode)为normal
- java多态的实现_Java多态的实现机制是什么,写得非常好!
- find函数常见错误_终于找到你,查找函数,find必不可少
- 无响应_搭建的Redis高可用,突然频繁无响应怎么破?
- 解决报错OMP: Error #15: Initializing libiomp5.dylib, but found libomp.dylib already initialized
- 使用selenium启动(无界面)浏览器的隐私模式
- SentOS 7防火墙配置与端口增删改查的命令