CentOS 74安装Redis 409集群Word文件下载.docx
《CentOS 74安装Redis 409集群Word文件下载.docx》由会员分享,可在线阅读,更多相关《CentOS 74安装Redis 409集群Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
![CentOS 74安装Redis 409集群Word文件下载.docx](https://file1.bdocx.com/fileroot1/2023-1/22/a4f6251d-e86c-4c4e-b277-7a9b96b43e3e/a4f6251d-e86c-4c4e-b277-7a9b96b43e3e1.gif)
7005
Redis3
192.168.44.12
7003
7006
Redis默认端口6379,这里为了方便,所以使用7001-7006来进行区分
安装步骤
环境准备
下面的配置,每台机器都要做
修改主机名
[root@localhost~]#vim/etc/hostname
配置yum源
我们使用网易的yum源,速度快
root@redis1~]#cd/etc/yum.repos.d/
[root@redis1yum.repos.d]#mkdirold
[root@redis1yum.repos.d]#mvCentOS-*old/
[root@redis1yum.repos.d]#wget
[root@redis1yum.repos.d]#mvCentOS6-Base-163.repoCentOS7-Base-163.repo
[root@redis1yum.repos.d]#vimCentOS7-Base-163.repo
把里面的所有baseurl属性值的$releasever为对应的OS主版本号(5,6,7)
改成下图
清理yum
[root@redis1yum.repos.d]#yumcleanall
[root@redis1yum.repos.d]#yummakecache
关闭SElinux
[root@redis1yum.repos.d]#vim/etc/selinux/config
[root@redis1yum.repos.d]#setenforce0
[root@redis1yum.repos.d]#getenforce
升级yum
都升级下到最新
[root@redis1yum.repos.d]#yumupdate
正式安装
安装编译环境
[root@redis1yum.repos.d]#yum-yinstallgccgcc-c++libstdc++-develzlib-devel
安装Redis
[root@redis3yum.repos.d]#cd/usr/local/
[root@redis3local]#wgethttp:
//download.redis.io/releases/redis-4.0.9.tar.gz
[root@redis3local]#tarzxvfredis-4.0.9.tar.gz
改下文件名
[root@redis3local]#mvredis-4.0.9redis
[root@redis3local]#rm-rfredis-4.0.9.tar.gz
进行编译
[root@redis3local]#cdredis/
[root@redis3redis]#make
[root@redis3redis]#makeinstall
进入/usr/local/bin可以看到下面几个东西。
[root@redis1redis]#cd/usr/local/bin/
[root@redis1bin]#ls
查看下redis版本
[root@redis1~]#redis-server-v
配置每个节点
Redis1节点
[root@redis1~]#cd/usr/local/redis/
创建一个redis-cluster的文件夹并在里面分别创建7001和7004文件夹用来区分节点
[root@redis1redis]#mkdir-predis-cluster/{7001,7004}
[root@redis1redis]#cpredis.confredis-cluster/7001/redis-7001.conf
修改下配置
[root@redis1redis]#vimredis-cluster/7001/redis-7001.conf
bind192.168.44.10#改为设定的端口
port7001
#改为设定的端口
daemonizeyes
#后台启动
pidfile/var/run/redis_7001.pid#pidfile文件
appendonlyyes#aof日志开启有需要就开启,它会每次写操作都记录一条日志
cluster-enabledyes#启动集群模式
cluster-config-filenodes-7001.conf#集群内部配置文件,改掉端口号
cluster-node-timeout15000#节点超时时间,单位:
毫秒
同样配置下7004端口,只要把端口和pid文件还有clusternodes改成7004
[root@redis1redis]#cpredis-cluster/7001/redis-7001.confredis-cluster/7004/redis-7004.conf
[root@redis1redis]#vimredis-cluster/7004/redis-7004.conf
Redis2节点
[root@redis2redis]#cd/usr/local/redis/
[root@redis2redis]#mkdir-predis-cluster/{7002,7005}
配置文件修改下端口同上
Redis3节点
[root@redis3redis]#cd/usr/local/redis/
[root@redis3redis]#mkdir-predis-cluster/{7003,7006}
开通防火墙
在节点1上开通7001和7004,其他节点开通各自对应的端口,并且需要开通群集总线端口
集群总线端口为redis客户端连接的端口+10000
如redis端口为6379
则集群总线端口为16379
故,所有服务器的点需要开通redis的客户端连接端口和集群总线端口
不开通总线端口会发现到时候集群创建的时候一直显示join
[root@redis1redis]#firewall-cmd--permanent--zone=public--add-port=7001/tcp
[root@redis1redis]#firewall-cmd--permanent--zone=public--add-port=7004/tcp
[root@redis1~]#firewall-cmd--permanent--zone=public--add-port=17001/tcp
[root@redis1~]#firewall-cmd--permanent--zone=public--add-port=17004/tcp
[root@redis1redis]#firewall-cmd–reload
启动每个节点
在redis1上
[root@redis1redis]#redis-server/usr/local/redis/redis-cluster/7001/redis-7001.conf
[root@redis1redis]#redis-server/usr/local/redis/redis-cluster/7004/redis-7004.conf
在redis2上
redis-server/usr/local/redis/redis-cluster/7002/redis-7002.conf
redis-server/usr/local/redis/redis-cluster/7005/redis-7005.conf
在redis3上
redis-server/usr/local/redis/redis-cluster/7003/redis-7003.conf
redis-server/usr/local/redis/redis-cluster/7006/redis-7006.conf
检查服务
检查各redis节点启动情况
redis是否启动成功和监听端口
[root@redis1~]#ps-ef|grepredis
[root@redis1~]#netstat-tnlp|grepredis
redis-trib.rb环境准备(只需在一台机器上执行此步骤)
Redis官方提供了redis-trib.rb这个工具,就在解压目录的src目录中,第三步中已将它复制到/usr/local/bin目录中,可以直接在命令行中使用了。
使用下面这个命令即可完成安装。
[root@redis1redis]#cd/usr/local/redis/src/
[root@redis1src]#cpredis-trib.rb/usr/local/bin/
redis-trib.rb是采用Ruby实现的Redis集群管理工具。
内部通过Cluster相关命令帮助我们简化集群创建、检查、槽迁移和均衡等常见操作,使用之前需要安装Ruby依赖环境
安装ruby
[root@redis1src]#yum-yinstallrubyruby-develrubygemsrpm-build
我们需要换下源来升级下ruby,默认的是2.0的版本太老了,redis需要2.2以上的版本,否则报下面的错误
升级ruby
需要解决上面的报错先安装rvm,在升级ruby。
先执行一条官方https:
//rvm.io/上面的命令
gpg--keyserverhkp:
//--recv-keys409B6B1796C275462A1703113804BB82D39DC0E37D2BAF1CF37B13E2069D6956105BD0E739499BDB
在执行一条
\curl-sSLhttps:
//get.rvm.io|bash-sstable
上面表示执行成功
[root@redis1yum.repos.d]#source/etc/profile.d/rvm.sh
List一下可以安装的版本
[root@redis1yum.repos.d]#rvmlistknown
安装ruby2.4.1
[root@redis1yum.repos.d]#rvminstall2.4.1
这部可能要等一会,速度很慢,国外网站下载来的
[root@redis1yum.repos.d]#rvmuse2.4.1
[root@redis1yum.repos.d]#rvmremove2.0.0
[root@redis1yum.repos.d]#ruby–version
安装gem
[root@redis1src]#geminstallredis
执行redis-trib.rb命令
[root@redis1~]#redis-trib.rbcreate--replicas1192.168.44.10:
7001192.168.44.11:
7002192.168.44.12:
7003192.168.44.10:
7004192.168.44.11:
7005192.168.44.12:
--replicas参数指定集群中每个主节点配备几个从节点,这里设置为1。
这里因为测试,只用了3台机器,如果部署节点使用不同的IP地址,redis-trib-rb会尽可能保证主从节点不分配在同一台机器下,因此会重新排序节点表顺序。
节点列表顺序用于确定主从角色,先主节点之后是从节点。
创建过程中首先会给出主从节点角色分配的计划,如下图:
输入yes
报错解决方法
安装的时候由于防火墙问题,导致群集第一次启动失败,然后再次启动报错
删除aof,nodes.conf,rdb的文件还是报错
最后在每个节点上执行了下面的命令终于成功
redis-cli-p
端口号-h
主机物理地址
FLUSHALL
CLUSTERRESETSOFT