Redis集群安装

一、redis集群( 缓存集群 )搭建

1.准备配置成集群的环境(三主三从架构,我是四个节点搭建redis分布式集群)。
命令:service redisd stop
查看redis进程,确认其关闭,命令:ps aux|grep redisd
在这里插入图片描述

2.分别在其他节点上安装redis,为了方便操作,建议(本篇博客采用第一种方式)
(1)使用 xshell中的命令发送功能,一次性将操作命令发到 各个终端
(2)使用脚本完成操作,最好能书写自动脚本来完成安装与配置

3.从安装好redis的节点中将前面下载的 redis-4.0.6.tar.gz 上传到node2,3,4节点的 /opt 目录下
先进入opt目录,命令:cd /opt
命令:scp redis-4.0.6.tar.gz root@node2:/opt
命令:scp redis-4.0.6.tar.gz root@node3:/opt
命令:scp redis-4.0.6.tar.gz root@node4:/opt
在这里插入图片描述
4.到各节点/opt 目录下解压压缩包
命令:tar -xvf redis-4.0.6.tar.gz
在这里插入图片描述
5.到各节点下,使用yum安装gcc依赖,对redis源码进行编译打包
命令: yum install gcc
下载过程中出现下图,按y回车继续下载
在这里插入图片描述
6.进入各节点redis安装目录, 进行编译安装
进入命令:cd /opt/redis-4.0.6
编译安装命令:make MALLOC=libc
在这里插入图片描述
7.将各节点/opt/redis-4.0.6/src目录下的文件加到/usr/local/bin目录
命令:cd src && make install
在这里插入图片描述

1.修改redis.conf文件( 包括之前安装好redis的节点也检查一下,前面我们没有开启集群,aof日志. )
进入redis的安装目录,编辑redis.conf文件
命令:vi redis.conf
注意修改下列值
(1)daemonize no改为yes,作用:设置为后台进程
在这里插入图片描述

(2)注释 #bind 127.0.0.1 ,作用:开放外网访问,注意以后上线要求这里绑定固定地址
在这里插入图片描述
(3)protected-mode no ,作用:将远程保护模式关闭,改为no
!](https://img-blog.csdnimg.cn/20200623161239453.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQyMjYwNA==,size_16,color_FFFFFF,t_70)
(4)appendonly yes,作用:开启aof日志,它会每次写操作都记录一条日志
在这里插入图片描述
(5)cluster-enabled yes ,作用:#开启集群把注释去掉
在这里插入图片描述
(6)cluster-node-timeout 5000,作用:集群节点联接起时时间

在这里插入图片描述
2.修改其中一个节点的配置后,发送至其他各个节点覆盖
命令:scp redis.conf root@node2:/opt/redis-4.0.6/
命令:scp redis.conf root@node3:/opt/redis-4.0.6/
命令:scp redis.conf root@node4:/opt/redis-4.0.6/
在这里插入图片描述

3.将各节点redis注册成redisd的一个服务,并设置成开机自启动
(1)进入各节点etc目录,新建redis目录
命令:cd /etc
命令:mkdir redis
在这里插入图片描述
(2)将各节点/opt/redis-4.0.6/redis.conf 文件复制一份到/etc/redis目录下,并命名为6379.conf 
命令:cp /opt/redis-4.0.6/redis.conf /etc/redis/6379.conf
在这里插入图片描述
(3)将各节点redis的启动脚本复制一份放到/etc/init.d目录下
命令:cp /opt/redis-4.0.6/utils/redis_init_script /etc/init.d/redisd
在这里插入图片描述
(4)设置各节点redis开机自启动,先切换到/etc/init.d目录下, 执行自启命令
进入命令:cd /etc/init.d
自启命令:chkconfig redisd on
在这里插入图片描述
提示:遇到错误: service redisd does not support chkconfig
解决方法:使用vi编辑redisd文件,在第一行下面加入如下两行注释,保存退出。
作用: redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。

# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

 
 
  • 1
  • 2

在这里插入图片描述
(5)再次在各节点上执行开机自启命令,成功
命令:chkconfig redisd on
在这里插入图片描述
(6)现在可以对四个节点都做一下测试,看 redisd 是否可以正常启动和停止,客户端是否可以登录
redis启动命令:service redisd start
在这里插入图片描述
提示:这表示redis服务原来非法的关闭了,但没有删除 pid文件,这导致不能启动
解决方法:进入 var/run的目录下,删掉redis_6379.pid文件
进入命令:cd var/run
删除命令:rm redis_6379.pid
在这里插入图片描述

(7)再次使用redis启动命令,即可正常启动:service redisd start
在这里插入图片描述
(8)使用命令:chkconfig --list
可查看开机自启动服务

在这里插入图片描述
(9)搭建集群前,使用客户端关闭各节点redis服务
命令: service redisd stop

在这里插入图片描述
(10)使用查看进程命令,确认redis-server服务关闭。
命令:ps aux|grep redis
在这里插入图片描述

三. 配置集群( 以下操作只需要在一台机器上安装即可,这里我选用 node2 上安装 )

1.在 redis安装目录的 src 目录下有一个文件: redis-trib.rb
这是一个ruby版的 redis服务安装脚本,为了使用它,请首先安装 ruby. 安装ruby和ruby gem工具(redis3集群配置需要ruby的gem工具,类似yum)

安装命令:yum -y install ruby rubygems
在这里插入图片描述
2. 使用gem下载redis集群的配置脚本
命令:gem install redis
在这里插入图片描述
(1)错误: 没有反应,访问不到 gem的源
解决方案: 使用淘宝的一个镜像就可以安装redis了
命令:gem sources -a https://ruby.taobao.org/

(2)这时,又出现了第二个错误:
Fetching: redis-4.2.1.gem (100%),ERROR: Error installing redis:
redis requires Ruby version >= 2.3.0.
错误分析: ruby的版本太低了,要求 2.3以上,当前用命令查一下ruby 的版本
命令:ruby --version
在这里插入图片描述
(3)解决方案: 升级ruby

3. 升级ruby版本

(1)更新一下curl命令的协议版本

命令: yum update -y nss curl libcurl

命令: sudo yum update nss nss-util nss-sysinit nss-tools

(2)修改hosts文件, 加上美国的ip和raw.githubusercontent.com
命令: vi /etc/hosts
在hosts文件中加入: 199.232.68.133 raw.githubusercontent.com
在这里插入图片描述
(3)安装RAM: RAM(Ruby Version Manager )是一款RAM的命令行工具,可以使用RAM轻松安装,管理Ruby版本。RVM包含了Ruby的版本管理和Gem库管理(gemset)

     gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
	curl -L get.rvm.io | bash -s stable
	source /usr/local/rvm/scripts/rvm

(4)列出ruby可以安装的版本

命令:rvm list known

在这里插入图片描述

(5)安装Ruby2.4.1版本(这个命令耗时较长,我花了25分钟才下载完毕,建议后台挂着下载即可),过程中下载失败,重新执行命令下载即可

命令: rvm install 2.4.1

在这里插入图片描述

(5)使用Ruby2.4.1版本

命令: rvm use 2.4.1

(6)再次安装Redis
命令:gem install redis在这里插入图片描述

四、创建集群

1.由于是四个节点,搭建redis集群最少要6个节点,3主3从架构,所以在node1, node2(根据自己搭建环境来选择,我选的是节点1跟2)上分别增加一个端口
(1)进入 etc/redis 目录,并复制一个配置文件为 6380.conf
命令: cd /etc/redis
命令: cp 6379.conf 6380.conf

(2)修改node1跟node2中etc/redis 目录下 6380.conf的配置中的端口为 6380
命令: vi 6380.conf
在这里插入图片描述
(3)在创建集群前,请确保4个节点的redisd 服务都是打开的
命令:service redisd start

(4)另外两个新增的端口须单独启动redis进程

(5)node1上面的redis安装在了 /opt/redis-4.0.6下,所以进入到这个目录的src下执行命令
命令: ./redis-server /etc/redis/6380.conf &

(6)node2上面的redis安装在了 /opt/redis-4.0.6下,所以进入到这个目录的src下执行命令
命令: ./redis-server /etc/redis/6380.conf &

(7)可用查看命令,验证redis服务是否启动,注意:node1跟node2有两个redis才是正确的
命令: ps aux|grep redis
在这里插入图片描述

2.进入node2(安装Ruby的节点上)中redis的安装目录下的src文件中
命令:cd /opt/redis-4.0.6/src

执行创建redis集群的命令(根据自己端口情况设置):./redis-trib.rb create --replicas 1 192.168.28.201:6379 192.168.28.202:6379 192.168.28.203:6379 192.168.28.204:6379 192.168.28.201:6380 192.168.28.202:6380

3.以上无误后,使用客户端测试redis集群
命令:
redis-cli -c -h 192.168.0.200
注意:后面是自己的节点地址,一定要加 -c 参数,表示集群
可根据下图命令进行测试,观察节点分片是否起作用

[root@node2 src]# redis-cli -c -h 192.168.0.200
192.168.0.200:6379> set a 1
-> Redirected to slot [15495] located at 192.168.0.202:6379
OK 槽 数据保存到 202节点了(分片起作用了)
192.168.0.202:6379> set b 2
-> Redirected to slot [3300] located at 192.168.0.200:6379
OK
192.168.0.200:6379> set c 3
-> Redirected to slot [7365] located at 192.168.0.201:6379
OK
192.168.0.201:6379> set d 4
-> Redirected to slot [11298] located at 192.168.0.202:6379
OK

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值