系统版本:CentOS Linux release 7.6.1810 (Core)
Redis版本:
[root@localhost utils]# redis-server --version
Redis server v=4.0.8 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=9fab6a514250664e
Redis软件包地址:链接:https://pan.baidu.com/s/1QkiH6HiITsFifzfDrsa7GQ?pwd=v4i7
提取码:v4i7
Redis默认端口号为6379
环境准备
目的==
- 可以将多台服务器一起提供数据存储服务
- 实现数据的分布式存储
- 可以实现数据的高可用
- 可以实现数据自动备份
- 至少需要6台redis服务器+1台管理主机
拓扑结构
IP规划
- 上传软件包至服务器,可以写一个简单的脚本进行集群的安装,最后我们选择默认安装即可。
#!/bin/bash
tar -zxvf redis-4.0.8.tar.gz
cd redis-4.0.8
make
make install
cd utils/
./install_server.sh - 开启redis集群服务配置,配置文件搜索关键字。
集群端口号:16379
- 检查redis是否开启集群服务,进入redis内,执行如下命令:
127.0.0.1:6379> cluster info
ERR This instance has cluster support disabled 集群没有开启
错误此实例已禁用群集支持 - 开启集群服务步骤,更改vim /etc/redis/6379.conf配置文件,
70行修改IP指定本机服务器IP
815行去掉注释#,开启集群功能
823行定义本机用来存储集群信息的文件名,nodes-6379.conf可以修改
829定义集群通信超时时间,以毫秒为单位 - 至此配置文件已经修改完成,可以查看一下。
[root@redis-1 redis-4.0.8]# /etc/init.d/redis_6379 start ##开启redis服务
[root@redis-1 redis-4.0.8]# netstat -tunlp | grep redis ##查看端口开启状态,以下表示服务正常,可以看到有16379集群端口。
服务开启后,数据库目录下会生成一个文件,目录位置 /var/lib/redis/6379 文件名称为配置文件定义名称 nodes-6379.conf
进入redis服务后,执行cluster info 这次会有交互信息,因为当前未构建集群,所以状态是fail
其他集群相同操作,按照配置文件改成对应IP。
创建集群
- 配置管理主机
配置管理主机
软件包如下地址:
链接:https://pan.baidu.com/s/1Ke6wX5HgQ3DuO7Y3fXRPjg?pwd=7tnb
提取码:7tnb
- 部署ruby脚本运行环境
- 创建管理集群脚本redis-trib.rb
- yum -y install ruby rubygems
- [root@kehuduan ~]# gem install redis-3.2.1.gem 安装gem软件绝对路径
Successfully installed redis-3.2.1
Parsing documentation for redis-3.2.1
Installing ri documentation for redis-3.2.1
1 gem installed 安装成功 - 脚本在redis源码包里面,需要拷贝到本地
tar -zxvf redis-4.0.8.tar.gz
cd redis-4.0.8
ls src/*.rb
echo $PATH
mkdir /root/bin
cp src/redis-trib.rb /root/bin/
chmod +x /root/bin/redis-trib.rb
创建集群
创建集群前,其他redis节点需要关闭防火墙systemctl stop firewalld
如上截图,表示集群创建成功