最新要闻
- 短讯!熬夜后心里咯噔一下要注意:有三大风险
- 全球快讯:浪费人才?酒店回应去一本院校招聘洗碗工:2千工资对应发展空间广
- 环球观热点:努比亚Z50 Ultra缩小系统固件:仅8个不可卸载应用
- 【天天快播报】特斯拉失控、单踏板风波不断 为何还买?吉利李书福:建议大家买国产新能源汽车
- 2月XGP最佳游戏玩家投票:俄罗斯3A大作《原子之心》荣获第一
- 3月6日译名发布:乔治·桑托斯
- 黄鳝吃什么东西
- 看点:699元 小米米家首款智能钢琴灯发布:雷达感应自动开关灯
- 天天微资讯!降低水产品检测标准!日本坚决核污水排海 100%移除放射性元素做不到
- 专家呼吁每天省杯咖啡提前规划养老:背后商业版图显现 网友无语满嘴跑火车
- 一个摄像头就能让虚拟人唱跳rap:抖音即可玩
- 每辆都是碰撞测试车 特斯拉全球首创真实碰撞测试系统
- 当前热点-惊蛰习俗有哪些?专家科普:吃梨、吃“懒龙”了解下
- 【世界报资讯】33万买奥迪A7L!上汽回应“内购价最高优惠16万”:正严查信息外泄
- 马斯克:曾对加密货币感兴趣 现在钟情于AI
- 2023年兔年金银币价格表(2023年03月06日)
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
安装Redis6.2.7主从哨兵集群教程
一、环境描述
部署模式为1主2从3哨兵,对应的机器如下
操作系统 | IP地址 | 主从分配 | 端口 | 安装服务(可任选) | 安装地址 |
---|---|---|---|---|---|
CentOS 7.9 | 1.0.0.11 | 主 | 10010 | redis-6.2.7.tar.gz | /opt/software/redis |
CentOS 7.9 | 1.0.0.11 | 哨兵1 | 10086 | redis-6.2.7.tar.gz | /opt/software/redis |
CentOS 7.9 | 1.0.0.12 | 从 | 10010 | redis-6.2.7.tar.gz | /opt/software/redis |
CentOS 7.9 | 1.0.0.12 | 哨兵2 | 10086 | redis-6.2.7.tar.gz | /opt/software/redis |
CentOS 7.9 | 1.0.0.13 | 从2 | 10010 | redis-6.2.7.tar.gz | /opt/software/redis |
CentOS 7.9 | 1.0.0.13 | 哨兵3 | 10086 | redis-6.2.7.tar.gz | /opt/software/redis |
二、下载Redis
1、将Redis包先下载到本地
【资料图】
下载地址:https://download.redis.io/releases/redis-6.2.7.tar.gz
2、上传至Linux服务器
三、安装Redis
1、安装Redis所需依赖
# 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装yum install -y gcc
2、安装Redis
# 进入上传包位置cd /opt/package/# 在package目录解压redis安装包tar -zxvf redis-6.2.7.tar.gz# 进入redis待安装文件目录下cd redis-6.2.7/# 进行编译redis-6.2.7make# 进行安装redis-6.2.7并指定安装目录make install PREFIX=/opt/software/redis
3、启动Redis服务
1、前台启动redis服务
# 进入redis目录cd /opt/software/redis/bin/# 启动redis./redis-server
如上图:redis启动成功,但这种启动需要一直打开窗口,不能进行其他操作,不方便。按 ctrl + c
可以关闭窗口。
2、配置 redis 主从服务
从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
# 复制redis配置文件cp /opt/package/redis-6.2.7/redis.conf /opt/software/redis/bin/# 新建redis日志目录mkdir -p /data/redis-logs/# 新建redis日志空文件echo "" > /data/redis-logs/redis_error.log
1、编辑主节点 redis.conf 配置文件(1.0.0.11)
# 进入redis目录下cd /opt/software/redis/bin/# 编辑redis配置文件vim redis.conf
修改内容
# 绑定为本机IP地址或者0.0.0.0都可访问由 bind 127.0.0.1 修改成: bind 0.0.0.0# 注意,此处不要采用默认地址由 port 6379 修改成: port 10010# 修改成后台进程启动由 daemonize no 修改成: daemonize yes# 配置日志路径由 logfile "" 修改成: logfile "/data/redis-logs/redis_error.log"#关闭保护模式(此配置很重要,不配置将无法实现主从切换)由 protected-mode yes 修改成: protected-mode no# 以下配置主从节点密码,追加在最后即可# 由# requirepass foobared 去掉#修改成:requirepass redis@2023# 配置主节点的密码,哨兵容灾切换使用masterauth redis@2023# 配置从节点密码requirepass redis@2023# 以下配置追加在配置文件后面,防止运维误操作这些不安全的命令# 禁用命令rename-command KEYS ""rename-command FLUSHALL ""rename-command FLUSHDB ""rename-command CONFIG ""
2、编辑从节点 redis.conf 配置文件(1.0.0.12、1.0.0.13)
# 进入redis目录下cd /opt/software/redis/bin/# 编辑redis配置文件vim redis.conf
修改内容
# 绑定为本机IP地址或者0.0.0.0都可访问由 bind 127.0.0.1 修改成: bind 0.0.0.0# 注意,此处不要采用默认地址由 port 6379 修改成: port 10010# 修改成后台进程启动由 daemonize no 修改成: daemonize yes# 配置日志路径由 logfile "" 修改成: logfile "/data/redis-logs/redis_error.log"#关闭保护模式(此配置很重要,不配置将无法实现主从切换)由 protected-mode yes 修改成: protected-mode no# 以下配置主从节点密码,追加在最后即可# 由requirepass foobared 去掉#修改成:requirepass redis@2023# 配置主节点的密码,哨兵容灾切换使用masterauth redis@2023# 配置从节点密码requirepass redis@2023# 以下配置主节点ip、端口,追加在最后即可# 主节点ip、端口slaveof 1.0.0.11 10010# 以下配置追加在配置文件后面,防止运维误操作这些不安全的命令# 禁用命令rename-command KEYS ""rename-command FLUSHALL ""rename-command FLUSHDB ""rename-command CONFIG ""
3、配置 sentinel 哨兵服务
从 redis 的源码目录中复制 sentinel.conf 到 redis 的安装目录
# 复制redis配置文件cp /opt/package/redis-6.2.7/sentinel.conf /opt/software/redis/bin/# 新建redis日志目录mkdir -p /data/redis-logs/# 新建redis日志目录echo "" > /data/redis-logs/sentinel_error.log
1、编辑哨兵 sentinel.conf 配置文件(1.0.0.11、1.0.0.12、1.0.0.13)
# 进入redis目录下cd /opt/software/redis/bin/# 编辑redis配置文件vim sentinel.conf
修改内容
# 注意,此处不要采用默认地址由 port 26379 修改成: port 10086#关闭保护模式(此配置很重要,不配置将无法实现主从切换)由 #protected-mode no 去掉修改成: protected-mode no# 修改成后台进程启动由 daemonize no 修改成: daemonize yes# 配置日志路径由 logfile "" 修改成: logfile "/data/redis-logs/sentinel_error.log"# 监控主节点的ip与端口(注意最后2不变)由 sentinel monitor mymaster 127.0.0.1 6379 2修改成:sentinel monitor mymaster 1.0.0.11 10010 2# master 密码由 # sentinel auth-pass mymaster MySUPER--secret-0123passw0rd修改成:sentinel auth-pass mymaster redis@2023
4、配置环境变量
# 修改配置文件vim /etc/profile# 在最后面加入export REDIS_HOME=/opt/software/redisexport PATH=$PATH:$REDIS_HOME/bin# 使配置文件立即生效source /etc/profile
5、设置开机启动
1、添加开机启动redis服务
vim /etc/systemd/system/redis.service
复制粘贴以下内容
[Unit]Description=redis-serverAfter=network.target[Service]Type=forkingExecStart=/opt/software/redis/bin/redis-server /opt/software/redis/bin/redis.confPrivateTmp=true[Install]WantedBy=multi-user.target
注意:ExecStart配置成自己的路径
redis服务操作命令
# 启动redis服务service redis startsystemctl start redis.service# 停止redis服务service redis stopsystemctl stop redis.service# 重新启动服务service redis restartsystemctl restart redis.service# 查看服务当前状态service redis statussystemctl status redis.service# 设置开机自启动systemctl enable redis.service# 停止开机自启动systemctl disable redis.service# 重新加载redis服务的配置文件systemctl daemon-reload
2、添加开机启动sentinel服务
vim /etc/systemd/system/sentinel.service
复制粘贴以下内容
[Unit]Description=redis-sentinelAfter=network.target[Service]Type=forkingExecStart=/opt/software/redis/bin/redis-sentinel /opt/software/redis/bin/sentinel.confPrivateTmp=true[Install]WantedBy=multi-user.target
注意:ExecStart配置成自己的路径
sentinel服务操作命令
# 启动redis服务systemctl start sentinel# 停止redis服务systemctl stop sentinel# 重新启动服务systemctl restart sentinel# 查看服务当前状态systemctl status sentinel# 设置开机自启动systemctl enable sentinel# 停止开机自启动systemctl disable sentinel# 重新加载redis服务的配置文件systemctl daemon-reload
彩蛋:查看redis版本
redis-server -v
6、验证主从是否正常
1、启动redis服务
# 启动redis服务systemctl start redis# 查看状态[root@nwtest1 ~]# ps -ef | grep redisroot 958 1 0 14:31 ? 00:00:00 /opt/software/redis/bin/redis-server 0.0.0.0:10010root 2234 1 0 14:32 ? 00:00:00 /opt/software/redis/bin/redis-sentinel *:10086 [sentinel]root 2241 218 0 14:32 pts/0 00:00:00 grep --color=auto redis
2、在主节点验证
# 连接客户端[root@nwtest1 /]$ redis-cli -h 1.0.0.11 -p 10010# 验证密码1.0.0.11:10010> auth redis@2023OK# 查看主节点配置1.0.0.11:10010> info
主节点,找到Replication模块查看
# Replicationrole:master #当前角色是主机connected_slaves:2 #主节点下有两个丛机slave1:ip=1.0.0.12,port=10010,state=online,offset=84,lag=1 #从机的IP和端口slave0:ip=1.0.0.13,port=10010,state=online,offset=84,lag=1 #从机的IP和端口master_failover_state:no-failovermaster_replid:b946de53f8034fbf0517d55debb909135af4d550master_replid2:0000000000000000000000000000000000000000master_repl_offset:84second_repl_offset:-1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:1repl_backlog_histlen:84
3、在从节点验证
# 连接客户端[root@nwtest2 /]$ redis-cli -h 1.0.0.12 -p 10010# 验证密码1.0.0.12:10010> auth redis@2023OK# 查看主节点配置1.0.0.12:10010> info
从节点,找到Replication模块查看
# Replicationrole:slave #当前角色是从机master_host:1.0.0.11 #主机IPmaster_port:10010 #主机端口master_link_status:upmaster_last_io_seconds_ago:0master_sync_in_progress:0slave_read_repl_offset:365821slave_repl_offset:365821slave_priority:100slave_read_only:1replica_announced:1connected_slaves:0master_failover_state:no-failovermaster_replid:898b54bb1bba7d833927119184fb1eb554427211master_replid2:0000000000000000000000000000000000000000master_repl_offset:365821second_repl_offset:-1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:1repl_backlog_histlen:365821
4、测试主从
1、主节点
1.0.0.11:10010> set k1 v1OK1.0.0.11:10010>
2、从节点
1.0.0.12:10010> get k1"v1"1.0.0.12:10010>1.0.0.13:10010> get k1"v1"1.0.0.13:10010>
5、启动sentinel服务
# 脚本启动sentinel服务systemctl start sentinel# 查看状态[root@nwtest1 redis]# ps -ef | grep redisroot 933 1 0 10:09 ? 00:00:34 /opt/software/redis/bin/redis-sentinel *:10086 [sentinel]root 934 1 0 10:09 ? 00:00:29 /opt/software/redis/bin/redis-server 0.0.0.0:10010root 318 9 0 12:41 pts/0 00:00:00 grep --color=auto redis
6、在任意节点验证
# 连接客户端[root@nwtest1 /]$ redis-cli -h 1.0.0.11 -p 10086# 查看哨兵信息1.0.0.11:10010> info sentinel
找到Sentinel模块查看
# Sentinelsentinel_masters:1sentinel_tilt:0sentinel_running_scripts:0sentinel_scripts_queue_length:0sentinel_simulate_failure_flags:0# 哨兵已经监听到主节点IP端口与运行状态,并且有2个从节点3个哨兵master0:name=mymaster,status=ok,address=1.0.0.11:10010,slaves=2,sentinels=3
四、卸载Redis
1、停止redis运行
# 查看redis进程ps -ef | grep redis# 杀死redis进程:kill -9 进程号# 或者关闭redis服务systemctl stop redis.service
2、删除Redis相关文件
# 查找根下所有名字包含Redis的文件sudo find / -name redis*# 根据查询地址卸载Redisrm -rf 相关地址rm -rf /opt/software/redis# 删除或注释环境变量中的内容# export REDIS_HOME=/opt/software/redis# export PATH=$PATH:$REDIS_HOME/bin# 保存退出,然后使配置文件生效source /etc/profile# 关闭开机自启chkconfig redis off# 删除开机启动文件rm -rf /etc/systemd/system/redis.service
安装Redis6.2.7主从哨兵集群教程
当前视点!NTP对时服务器(NTP电子时钟)重要参数指标表
焦点速讯:接口安全性问题02——jwt身份验证与授权
短讯!熬夜后心里咯噔一下要注意:有三大风险
全球快讯:浪费人才?酒店回应去一本院校招聘洗碗工:2千工资对应发展空间广
环球观热点:努比亚Z50 Ultra缩小系统固件:仅8个不可卸载应用
【天天快播报】特斯拉失控、单踏板风波不断 为何还买?吉利李书福:建议大家买国产新能源汽车
2月XGP最佳游戏玩家投票:俄罗斯3A大作《原子之心》荣获第一
A/B 实验避坑指南:为什么不建议开 AABB 实验
观速讯丨.NET7依赖注入
3月6日译名发布:乔治·桑托斯
黄鳝吃什么东西
看点:699元 小米米家首款智能钢琴灯发布:雷达感应自动开关灯
天天微资讯!降低水产品检测标准!日本坚决核污水排海 100%移除放射性元素做不到
专家呼吁每天省杯咖啡提前规划养老:背后商业版图显现 网友无语满嘴跑火车
一个摄像头就能让虚拟人唱跳rap:抖音即可玩
有哪些值得收藏的运营思维导图?
环球速看:在工作中最容易犯的3个大忌
环球头条:1-基础入门
每日热门:网络安全(中职组)-B模块:Windows操作系统渗透测试
当前资讯!你也能成为“黑客”高手——趣谈Linux Shell编程语言
每辆都是碰撞测试车 特斯拉全球首创真实碰撞测试系统
当前热点-惊蛰习俗有哪些?专家科普:吃梨、吃“懒龙”了解下
【世界报资讯】33万买奥迪A7L!上汽回应“内购价最高优惠16万”:正严查信息外泄
马斯克:曾对加密货币感兴趣 现在钟情于AI
《数据万象带你玩转视图场景》第一期:avif图片压缩详解
每日热讯!计算两个字符串的相似度
2023年兔年金银币价格表(2023年03月06日)
199元!小米推出米家分体露营灯:Type-C接口 满电亮100小时
高速公路“见缝插针”超车致事故 司机:我莽撞了
每日动态!魅族史上最大规模!魅族20系列发布会定点上海梅赛德斯奔驰文化中心
全球滚动:预计上涨0.16元/升!国内油价将于17日24时起再调整
全球视讯!《卧龙:苍天陨落》捏人系统受盛赞 胸部拉到最大也不违和
关于情侣的四字成语有哪些?关于情侣个性签名大全
专业人才入库证书有什么作用?从专业人才走向管理心得体会
花羊羊是谁的妈妈?花羊羊为什么没和村长在一起?
海麻线是什么东西?海麻线的营养价值及功效
MySQL安装入门第一篇
【SpringBoot】AOP默认的动态代理
前端设计模式——工厂模式
电脑怎么设置休眠模式?休眠和待机有什么区别?
洗衣机不进水是哪里的问题?洗衣机不进水怎么处理?
电脑mac地址怎么更改?电脑mac地址查询方法
网件路由器怎么恢复出厂设置?网件路由器哪款性价比高?
全球头条:鼠标是无法识别的usb设备_鼠标成为无法识别的USB设备 怎么办
苹果笔记本好用吗?苹果笔记本换电池需要多少钱?
百度地图怎么看实时街景?百度地图怎么看历史导航轨迹?
全球短讯!极氪汽车被指销售欺诈 有车主坐在体验店门口集体维权
雷军大会发言:小米汽车预计明年上半年量产 一定把车造好!
极致豪华!长城魏牌蓝山内饰官图发布:35万选它还是理想L8
每日资讯:一文看懂2023年CPU如何选:AMD锐龙7000X3D游戏性能封神
阿里拍卖上线湾流G450公务机!博主:近几年最具性价比的一架
全球观天下!055期暗皇福彩3D预测奖号:组选6码参考
焦点报道:【个人杂谈】大体重程序员如何减肥?(个人总结向)
Python、C++、Swift或任何其他语言会取代Java吗?为什么?
速递!koreanDollLikeness_v10模型下载及使用
# 前端周刊:2023-2 期
环球今亮点!Java Struts2系列的XSS漏洞(S2-002)
天天视点!被雷电瞄准时身体会有预兆:如果在乌云下毛发突然竖起 赶紧躲避
世界热议:全球一半人口2035年可能超重:总量超过40亿
全球资讯:石家庄买一根火腿肠就能免费坐地铁 官方回应:鼓励绿色出行
一本院校招聘会现多家酒店招洗碗工引热议 最低工资2千多:官方回应
焦点报道:又一起!美国一小型飞机坠毁后起火 已致1死2伤
聊一聊如何用SonarQube管理.NET代码质量
语义分割评价指标(Dice coefficient, IoU)
(数据库系统概论|王珊)第十章数据库恢复技术-第一、二节:事务的基本概念和数据库恢复概述
天天通讯!Spring Boot 实现装饰器模式,真香!
观天下!密密麻麻!地震后松毛虫大规模入侵土耳其:场面惊悚 令人不适
广东一特斯拉连撞多车冲毁店门现场视频:网友看完称刹车灯亮了 油门当刹车
世界热文:75岁老人中风 好友发现运动步数为0报医:最终脱离危险
全球首个财务自由大学诞生 美国普林斯顿大学2600亿财富养活自己
大神教你在 Linux 中查看你的时区
世界今头条!“帮忙资金”助基金保壳
当前聚焦:工作人员帮游客捡手机被4只幼虎围观 网友:幸亏是“幼儿园”
全球快看点丨董明珠:中国制造业要想成为世界级 必须在创新上下功夫
摄影师把iPhone塞水下拍美景 咕噜咕噜一阵冒泡 Siri:这把憋气局
全球速读:吴青峰发文请大家别听苏打绿的歌:母带仍被非法利用 还听是助纣为虐
学弈这篇文言文是什么意思
环球快报:读Java性能权威指南(第2版)笔记08_即时编译器中
仅1/3美国人能轻松支付400美元应急费用:信用卡违约率激增
可视化调试某个js对象的属性UI插件 class HTUI
每日速递:一进群就水群?试试这个水群拦截工具
世界快讯:裁员70% 关停两个办公点:自动驾驶卡车公司Embark倒闭边缘
【世界新视野】想买法拍车捡漏?你可能得先准备10本驾照
全球速读:985高校女大学生裸辞大公司:每天活得像老鼠
【当前热闻】瞬狙和闪狙哪个更快_瞬狙
精选!台球杆什么皮头最好
世界快消息!打开MASA Blazor的正确姿势4.1:母版页布局
全球热推荐:Study for Go ! Chapter three - Function
day02-项目实现01
全球速读:【奶奶看了都会】ChatGPT3.5接入企业微信,可连续对话
将外部参数传入awk命令的方法汇总
【热闻】Asp.net core mapcontrollers 背后干了些啥
思科交换机的密码策略与端口安全设置
当前关注:Mac OS 打开pycharm立即闪退,报错initial heap size set to a larger value than the max
“一日三次”的药 到底该怎么吃?你可能一直都错了
比亚迪百万豪车!实拍仰望U8原地掉头:这圈儿真圆
环球关注:微软Edge拯救低清老视频 秒变高清!三代N卡、A卡都能用
快看:棉锦防火布
环球即时看!EF7DbContext池