网站建设定制开发Centos7.6.1810离线安装Redis5.0.14集群部署

写给小白

redis5网站建设定制开发及以后版本源代码使用的是C语言,安装ruby网站建设定制开发的文章不用看了。

版本说明

准备2网站建设定制开发台实体机机器

10.xx.xx.21 redis MServ-redis1
10.xx.xx.22 redis MServ-redis2

2台均为centos,版本:7.6.1810

Redis版本:5.0.14

在/opt下创建redis_cluster目录 网站建设定制开发用于存放集群节点

网站建设定制开发下载相关的包

1、网站建设定制开发选择合适的稳定版本: https://redis.io/download

​ redis-5.0.14.tar.gz

2、gcc,gcc++相关的rpm包 ,推荐2网站建设定制开发个好用的地址:http://rpmfind.net/linux/RPM/index.html 或者http://rpm.pbone.net/


准备

安装思路:

尝试安装核心包(redis-5.0.14.tar.gz,gcc-4.8.5-39.el7.x86_64.rpm), 网站建设定制开发核心包安装不了, 网站建设定制开发根据详细的提示进行下网站建设定制开发载相关的依赖包解决。

gcc安装

centos 默认是预装了glibc 和glib-common的【先说明坑】 。查看是否安装命令 rpm -qa |grep glibc

尝试安装 rpm -ivh xxx.rpm (xxx是具体的rmp包名称)

rpm -ivh gcc-4.8.5-39.el7.x86_64.rpm 看看需要哪些 就安装那些。

第1步  mpfr-3.1.1-4.el7.x86_64.rpm第2步  libmpc-1.0.1-3.el7.x86_64.rpm第3步  cpp-4.8.5-39.el7.x86_64.rpm第4步  kernel-headers-3.10.0-1127.13.1.el7.x86_64.rpm第5步  glibc-headers-2.17-260.el7.x86_64.rpm  坑:跟centos版本相关 版本固定  第6步  glibc-devel-2.17-260.el7.x86_64.rpm   坑: 版本固定 小版本都不行    这个2个第7步  libgomp-4.8.5-39.el7.x86_64.rpm第8步  libgcc-4.8.5-39.el7.x86_64.rpm  --replacefiles第9步  尝试安装gcc-4.8.5-39.el7.x86_64.rpm第10步 gcc -v  版本查看
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

gcc++安装

第11步  gcc-c++-4.8.5-39.el7.x86_64.rpm 可能会失败第12步  如果上一步失败,先安装 rpm -ivh libstdc++-devel-4.8.5-39.el7.x86_64.rpm     	   需要先安装 libstdc++-4.8.5-39.el7.x86_64.rpm       再尝试gcc-c++        成功
  • 1
  • 2
  • 3
  • 4
  • 5

glibc离线安装

安装过glibc的小伙伴,肯定遇到过以下情况。【错误复现:依赖检测失败】:

glibc = 2.17-307.el7.1 被 glibc-headers-2.17-307.el7.1.x86_64 需要glibc-common = 2.17-317.el7 被 glibc-2.17-317.el7.x86_64 需要
  • 1
  • 2
  • 3

解决办法:查看本文的准备阶段总结问题解决

准备阶段总结

centos 默认是预装了glibc 和glib-common的。【如果还不清楚,可看文末的详细问题解决栏目】

所以出现 glibc和glibc-common版本冲突解决, 就是这个原因, 不能自己想装那个版本的glibc 和glib-common的【貌似高版本不会兼容低版本】。

这个glibc 要下载对应的centos的版本【文章开头】才行。

1、redis5.0.14集群下载 编译 安装

tar -zxvf redis-5.0.14.tar.gzcd redis-5.0.14make & make install
  • 1
  • 2
  • 3

//执行以下命令可完成安装,致命错误解决。

make MALLOC=libc
  • 1

2、修改redis.conf配置

daemonize改为yes

3、单台启动

启动并指定配置文件

src/redis-server redis.conf

ps -ef | grep redis

进入redis客户端、退出客户端。

退出redis服务

kill -9 PID

4、开始集群搭建

redis集群需要至少要三个master节点,我们这里搭建三个master节点,并且给每个master再搭建一个slave节点,总共6个redis节点,这里用一台机器(可以多台机器部署或者主从交叉,修改一下ip地址就可以了)部署6个redis实例,三主三从,搭建集群的步骤如下:

在第一台机器的/opt/下创建文件夹redis-cluster,然后在其下面创建6个文件夾如下:

mkdir redis-800{1,2,3,4,5,6}
  • 1

把之前的redis.conf配置文件copy到redis-8001下,修改如下:

mv redis-5.0.14/redis.conf      redis-8001/
  • 1

1)daemonize yes

2)port 8001(分别对每个机器的端口号进行设置)

3)dir /opt/redis-cluster/8001/(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)

4)cluster-enabled yes(启动集群模式)

5)cluster-config-file nodes-8001.conf(集群节点信息文件,这里800x最好和port对应上,redis自己维护这个文件)

6)cluster-node-timeout 5000

  1. bind 127.0.0.1(去掉bind绑定访问ip信息)
  2. protected-mode no (关闭保护模式)

7)appendonly yes

如果要设置密码需要增加如下配置:

8)requirepass xxx (设置redis访问密码)

9)masterauth xxx (设置集群节点间访问密码,跟上面一致)

5、集群单台测试

启动redis-server,并指定配置文件。

../redis-5.0.14/src/redis-server   ./redis.conf 
  • 1

测试如果没有问题,继续操作,复杂配置到其他几台即可。

6、修改其他节点配置

把修改后的配置文件,copy到8002-8006,修改【开始集群搭建】下第2、3、5项里的端口号,可以用批量替换。

cp  ./redis.conf     ../redis-8001/cp  ./redis.conf     ../redis-8002/cp  ./redis.conf     ../redis-8003/cp  ./redis.conf     ../redis-8004/cp  ./redis.conf     ../redis-8005/cp  ./redis.conf     ../redis-8006/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
vi  /opt/redis_cluster/redis-8002/redis.conf vi  /opt/redis_cluster/redis-8003/redis.conf vi  /opt/redis_cluster/redis-8004/redis.conf vi  /opt/redis_cluster/redis-8005/redis.confvi  /opt/redis_cluster/redis-8006/redis.conf  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
vi操作说明:搜索:/全局替换: :%s/源字符串/目的字符串/g   如   把8001换成8002 :%s/8002/80001/g
  • 1
  • 2
  • 3
  • 4
  • 5

7、启动redis实例,检查启动状态

分别启动6个redis实例,检查是否启动成功。

启动命令

./redis-5.0.14/src/redis-server  redis-8001/redis.conf ./redis-5.0.14/src/redis-server  redis-8002/redis.conf ./redis-5.0.14/src/redis-server  redis-8003/redis.conf ./redis-5.0.14/src/redis-server  redis-8004/redis.conf ./redis-5.0.14/src/redis-server  redis-8005/redis.conf ps -ef | grep redis 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

如果刚刚已经启动了话 就不要重复启动了。

集群启动命令

用redis-cli创建整个redis集群(redis5以前的版本集群是依靠ruby脚本redis-trib.rb实现,redis5及以后版本源代码使用的是C语言)。

/opt/redis_cluster/redis-5.0.14/src/redis-cli --cluster create --cluster-replicas 1 10.0.218.213:8001 10.0.218.213:8002 10.0.218.213:8003 10.0.218.213:8004 10.0.218.213:8005 10.0.218.213:8006
  • 1

输入yes

说明:

-a :密码;

–cluster-replicas 1:表示1个master下挂1个slave;

​ --cluster-replicas 2:表示1个master下挂2个slave。

M:代表为每个创建的主服务器节点创建一个从服务器节点。

查看帮助命令:

 src/redis‐cli --cluster help 
  • 1
create:  创建一个集群环境host1:port1 ... hostN:portNcall:    可以执行redis命令add-node:将一个节点添加到集群里,第一个参数为新节点的ip:port,第二个参数为集群中任意一个已经存在的节点的ip:portdel-node:移除一个节点reshard: 重新分片check:   检查集群状态
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

8、验证集群

连接任意一个客户端即可。

有密码./redis-cli -c -a xxx -h 10.0.218.213 -p 8004无密码./redis-cli -c -h 10.0.218.213 -p 8004
  • 1
  • 2
  • 3
  • 4

说明:‐a表示服务端密码;‐c表示集群模式;-h指定ip地址;-p表示端口号。

集群验证

查看集群信息

cluster info
  • 1

查看节点列表

 cluster nodes
  • 1

关闭集群,则需要逐个进行关闭。

/opt/redis_cluster/redis-5.0.14/src/redis-cli -c  -h 10.0.218.213 -p 8001 shutdown 需要密码加  -a xxx
  • 1
  • 2

问题解决

问题1:glibc基础包循环依赖

以上图片,可以看到2个包相互依赖,先安装谁都不行。

解决方案:其实执行以下命令 rpm -qa |grep glibc

可以看到 centos安装了相应的包 如下

glibc-2.17-260.el7.x86_64
glibc-common-2.17-260.el7.x86_64

这个2个包默认已经安装,我拿到的这台服务器是这样的。所以此2个包不需要自己安装(最坑就是这里)。

如果情况和我一样的话,继续 gcc安装-第5、6步,安装以下2个包,即可继续安装。

glibc-headers-2.17-260.el7.x86_64
glibc-devel-2.17-260.el7.x86_64

这2个包下载要注意 对应 centos版本的默认的glibc-2.17-260.el7.x86_64、glibc-common-2.17-260.el7.x86_64 这2版本才会出现依赖问题2.17-260.el7.x86_64。

glibc-devel-2.17-260.el7_6.6.x86_64.rpm 【这种el7_6.6】小版本的都不行。

建议和默认glibc保持一致就行,省去许多麻烦。

最后安装完成再次使用 rpm -qa |grep glibc,可以看到以下4个glibc包,应该就没有问题,继续执行第7步。

glibc-2.17-260.el7.x86_64
glibc-common-2.17-260.el7.x86_64
glibc-headers-2.17-260.el7.x86_64
glibc-devel-2.17-260.el7.x86_64

下载地址上面已经说了哈。

问题2:包冲突解决

解决方案:加 --replacefiles参数

rpm -ivh xxx.rpm --replacefiles

问题3 : 安装 gcc时报错

cpp = 4.8.5-39.el7 被 gcc-4.8.5-39.el7.x86_64 需要
glibc-devel >= 2.2.90-12 被 gcc-4.8.5-39.el7.x86_64 需要
libgcc >= 4.8.5-39.el7 被 gcc-4.8.5-39.el7.x86_64 需要
libgomp = 4.8.5-39.el7 被 gcc-4.8.5-39.el7.x86_64 需要
libmpc.so.3()(64bit) 被 gcc-4.8.5-39.el7.x86_64 需要
libmpfr.so.4()(64bit) 被 gcc-4.8.5-39.el7.x86_64 需要

解决办法:

采用常规思路,需要什么就去下载什么,先安装相关其他依赖,再尝试安装gcc即可。

再次推荐2个好用的地址:http://rpmfind.net/linux/RPM/index.html 或者http://rpm.pbone.net/

谢谢认真阅读完的你!

感谢
如果您认为这篇文章还不错或者有所收获,您可以点击右下角的【点赞】支持,或请我喝杯咖啡【赞赏】,这将是我继续写作,分享的最大动力!
作者:勤快的小蚂蚁
声明:原创博客请在转载时保留原文链接或者在文章开头加上本人博客地址,如发现错误,欢迎批评指正。凡是转载于本人的文章,不能设置打赏功能,如有特殊需求请与本人联系!

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发