redis集群搭建一、安装redis源码安装:
1.下载源码包:
wget http://download.redis.io/releases/redis-6.0.7.tar.gz
2.解压到指定目录下:
tar xf redis-6.0.7.tar.gz -C /usr/local/
二、编译安装下载编译安装Redis的依赖,因为Redis是C语言编写的,所以主要安装C的编译环境
yum install gcc g++ gcc-c++ make -y
进入redis文件夹进行编译安装
cd /usr/local/redis-6.0.7# 开始编译make -j 2
编译安装过程中出现大量错误如下图所示:
文章插图
这是因为安装6版本的Redis需要5.3以上版本的gcc,而先前YUM安装的gcc默认安装的是4.8.5版本 。
# 查看gcc版本gcc -v显示gcc版本为4.8.5 , 需要升级gcc
升级gcc到9版本yum install centos-release-scl -yyum install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils -y
然后启用gcc 9 。我看到有些博客中写到启用gcc9的方法如下# 临时启用gcc 9scl enable devtoolset-9 bash# 长期启用gcc 9echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile#使配置生效source /etc/profile这种临时启用的方法发现单独在终端执行没有问题,不过把它写到脚本里执行的时候,执行到这一句就会退出脚本 。所以在脚本中我直接使用source /opt/rh/devtoolset-9/enable临时启用gcc 9 。执行完毕后gcc升级到9.3.1版本
文章插图
升级好gcc后重新编译
# 清除之前编译的可执行文件及配置文件 。make cleanmake -j 2make install
三、启动Redis在redis的src目录下执行./redis-server,出现如下界面说明Redis算是装好了 。不过有几个警告需要处理一下,解决的方法在警告信息中已经给出了 。#启动redis服务[root@mysql_master src]# ./redis-server#解决警告信息# 第一个警告的解决方法echo net.core.somaxconn=511 >> /etc/sysctl.conf# 第二个警告的解决方法echo vm.overcommit_memory=1 >> /etc/sysctl.conf# 使/etc/sysctl.conf生效sysctl -p# 第三个警告的解决方法echo never > /sys/kernel/mm/transparent_hugepage/enabled#之后再重新执行./redis-server,可以看到,警告信息消失了 。Redis服务顺利启动 。
此时Redis服务在前台执行,修改Redis的配置文件,让Redis服务可以在后台运行vim /usr/local/redis-6.0.7/redis.conf将daemonize no改为daemonize yes,然后使用配置文件重新启动redis关闭加密保护,修改数据存储路径.......#redis已成功在后台启动[root@mysql_master redis-6.0.7]# ./src/redis-server redis.conf#测试redis是否正常工作[root@mysql_master redis-6.0.7]# ./src/redis-cli[root@mysql_master src]# ./redis-cli127.0.0.1:6379> pingPONG
后台启动:文章插图
四、配置主从启动主结点的redis服务
[root@mysql_master redis-6.0.7]# ./src/redis-server redis.conf
修改两台从结点的redis.conf配置文件,指定主节点ip和端口注意:redis6版本和redis4版本配置主从的名称不一样
replicaof 192.168.232.11 6379主ip+主端口
文章插图
修改完后启动两台从的redis,读取redis.conf才能生效
[root@mysql_slave1 redis-6.0.7]# ./src/redis-server redis.conf
五、redis-sentinel---哨兵模式部署Sentinel:#查看sentinel.conf里面配置信息[root@mysql_master redis-6.0.7]# grep -Ev "^$|#" sentinel.conf三台都要配置,具体内容如下所示,可以删完然后复制上去###############################################################port 26379daemonize yes#后台启动pidfile /var/run/redis-sentinel.pidlogfile "/var/log/redis/sentinel.log"sentinel announce-ip 0.0.0.0dir /tmpsentinel monitor mymaster 192.168.232.11 6379 1sentinel down-after-milliseconds mymaster 5000sentinel parallel-syncs mymaster 1sentinel failover-timeout mymaster 60000sentinel deny-scripts-reconfig yes##############################################################注意:一定要开启后台启动,否则Ctrl+c退出 , sentinel会自动关闭
文章插图
启动,三台都要启动
读取sentinel配置文件,三台都一样启动[root@mysql_master redis-6.0.7]# ./src/redis-sentinel sentinel.conf 查看进程是否启动:[root@mysql_master redis-6.0.7]# ps -ef | grep redis-sentinel
文章插图
sentinel操作
推荐阅读
- 欢乐斗牛拿到了三条怎么点出来(腾讯欢乐斗牛改名)
- Windows操作系统搭建Lsky Pro
- 非空的 git的介绍、git的功能特性、git工作流程、git 过滤文件、git多分支管理、远程仓库、把路飞项目传到远程仓库、ssh链接远程仓库,协同开发
- 新建Maui工程运行到IiOS物理设备提示 Could not find any available provisioning profiles for iOS 处理办法
- 红米k40参数详细参数_红米k40参数和配置
- 如何破解压缩包的密码从网盘里面下载了一个压缩包,解压的时候需要输入密码,不知道密码是什么,该怎么
- 【深入浅出 Yarn 架构与实现】1-2 搭建 Hadoop 源码阅读环境
- 【炫丽】从0开始做一个WPF+Blazor对话小程序
- Linux学习环境搭建流程
- 到底苹果手机好不好国产手机比它强吗(和苹果13抗衡的国产手机)