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和端口【从0到1搭建redis6.0.7】注意: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会自动关闭
经验总结扩展阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2023年9月11日是打更吉日吗 2023年9月11日适合打更吗
- 2023年农历七月廿七灌溉吉日 2023年9月11日灌溉行吗
- 2023年9月11日建蓄水池行吗 2023年9月11日建蓄水池黄道吉日
- 2023年9月11日适合养花吗 2023年9月11日是养花吉日吗
- 2023年农历七月廿七宜消灭害虫吗 2023年农历七月廿七消灭害虫吉日
- 2023年9月11日立牌匾吉日一览表 2023年9月11日立牌匾行吗
- 2023年9月11日塑绘行吗 2023年9月11日塑绘好吗
- 2023年1月25日是买鸡的黄道吉日吗 2023年1月25日买鸡好不好
- 2023年9月11日是买宠物的黄道吉日吗 2023年农历七月廿七宜买宠物吗
- 2023年9月11日适合买狗吗 2023年农历七月廿七买狗吉日