引言
本篇文章安装的是3主3从的redis伪集群,就是说所有的redis的进程都在同一台机器上。其实真正的集群安装道理一样,就是改改IP,设置下防火墙而已,有时间我再另外写一篇文章介绍。
我分别在mac 和 centos 虚拟机上做了测试,都可以成功的安装,废话不多说,开干。
下载redis
https://redis.io/download
我下载的是最新稳定版6.2.1(写文章时)
解压,编译
tar -xvf redis-6.2.1.tar.gz
cd redis-6.2.1/
make install
编译完之后就会在 /user/local/bin目录下生成很多可执行命令
ls -l /usr/local/bin/redis*
-rwxr-xr-x 1 a admin 428552 3 26 10:33 /usr/local/bin/redis-benchmark
lrwxr-xr-x 1 a admin 12 3 26 10:33 /usr/local/bin/redis-check-aof -> redis-server
lrwxr-xr-x 1 a admin 12 3 26 10:33 /usr/local/bin/redis-check-rdb -> redis-server
-rwxr-xr-x 1 a admin 346504 3 26 10:33 /usr/local/bin/redis-cli
lrwxr-xr-x 1 a admin 12 3 26 10:33 /usr/local/bin/redis-sentinel -> redis-server
-rwxr-xr-x 1 a admin 1816528 3 26 10:33 /usr/local/bin/redis-server
准备一些工作目录
我的习惯会以端口为名称,创建工作目录,里面会放数据以及配置文件
mkdir -p 6380/data
mkdir -p 6381/data
mkdir -p 6382/data
mkdir -p 6383/data
mkdir -p 6384/data
mkdir -p 6385/data
cp redis-6.2.1/redis.conf 6380/redis-6380.conf
修改配置文件
以6380为例
vim 6380/redis-6380.conf
需要修改以下信息
daemonize yes #设置redis进程后台运行
port 6380 #分别对每个机器的端口号进行设置
dir /usr/local/redis‐cluster/6380/data #指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据
cluster‐enabled yes #启动集群模式
cluster‐config‐file nodes‐6380.conf #集群节点信息文件
cluster‐node‐timeout 5000 #节点被认定失败的超时时间
#bind 127.0.0.1 #去掉bind绑定访问ip信息
protected‐mode no #关闭保护模式
appendonly yes #开启appendonly数据持久化,也可以不开启
把配置文件拷贝到其他目录
cp 6380/redis-6380.conf 6381/redis-6381.conf
cp 6380/redis-6380.conf 6382/redis-6382.conf
cp 6380/redis-6380.conf 6383/redis-6383.conf
cp 6380/redis-6380.conf 6384/redis-6384.conf
cp 6380/redis-6380.conf 6385/redis-6385.conf
然后分别修改对应的配置文件
启动所有的redis进程
redis-server 6381/redis-6381.conf
redis-server 6382/redis-6382.conf
redis-server 6383/redis-6383.conf
redis-server 6384/redis-6384.conf
redis-server 6385/redis-6385.conf
启动集群
redis-cli --cluster create 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 --cluster-replicas 1
1 代表为每个主节点创建一个从节点
redis5以前的版本集群是依靠ruby脚本redis‐trib.rb实现的,具体过程请大家自行百度
测试
redis-cli -c -h localhost -p 6380
cluster nodes
erverything is ok.如果您在搭建过程中,有什么问题,欢迎留言一起讨论。