Redis-5-0-8-集群搭建
高可用集群模式
- redis 集群时一个由多个主从节点群组组成的分布式服务器群,它具有复制、高可用和分片特性
- 该集群模式没有中心节点,可水平扩展,并且性能和高可用性都优于哨兵模式
- redis 3.2之后采用该模式
安装
官方下载地址:点击
安装编译环境
1
yum install gcc -y
下载安装包,并复制到/usr/local/目录下
1
2
3
4
5wget -p /usr/local/ http://download.redis.io/releases/redis-5.0.8.tar.gz #下载
cd /usr/local #切换至下载文件所在目录
tar -zxvf redis-5.0.8.tar.gz #解压
mv redis-5.0.8 redis
cd redis #进入redis目录编译安装
1
make & make install #编译并安装
单机启动测试
1
2
3
4
5
6
7src/redis-server redis.conf #启动
新启动一个窗口
src/redis-cli #连接redis
set name testName
ok
get name
testName结束redis服务
1
2
3
4
5pkill redis-server
kill -9 进程号
src/redis-cli shutdown
集群方式搭建
- redis 集群至少需要三个 master 节点,并且每个 master 节点需要至少一个 slave 节点,所以至少需要六个节点
- 以下方式是在一台服务器上搭建集群,也就是
伪集群
,实际环境大同小异
创建六个节点需要的目录,用于存放数据和配置文件
1
mkdir -p /usr/local/redis-cluster/{8001|8002|8003|8004|8005|8006}
将 redis 主目录中的配置文件复制到 8001 目录下,并开始集群配置
1
2
3cp /usr/local/redis/redis.conf /usr/local/redis-cluster/8001
cd /usr/local/redis-cluster/8001
vim redis.confdaemonize yes
允许后台运行port 8001
端口号,分别对应所在的目录dir /usr/local/redis-cluster/8001
指定数据文件的存储位置,这里需要根据配置文件所在文字不同而不同cluster-enabled yes
开启集群模式cluster-config-file nodes-8001.conf
集群节点信息,800x部分最好于端口名相同,以便区分cluster-node-timeout 5000
节点心跳超时时间 以毫秒为单位# bind 127.0.0.1
注释掉IP绑定,这样所有的网卡都可以接收数据protected-mode no
关闭保护模式appendonly yes
如果要设置密码需要增加以下配置
requirepass xxx
设置 redis 访问密码masterauth xxx
设置集群节点间访问密码,建议与上面一致
将修改好的 redis.conf 文件复制到 8002-8006 目录中,并修改包含8001的位置
1
2
3
4cp /usr/local/redis-cluster/8001/redis.conf /usr/local/redis-cluster/8002/ #复制配置文件
.......
vim /usr/local/redis-cluster/8002/redis.conf #打开 8002-8006 目录下的配置文件
:%s/8001/8002/g #使用vim的替换功能将 8001 替换成 8002-8006 成功会显示替换的地方有三处启动所有的实例,并检查是否启动成功
1
2
3
4
5/usr/local/redis/src/redis-server /usr/local/redis-cluster/8001/redis.conf
/usr/local/redis/src/redis-server /usr/local/redis-cluster/8002/redis.conf
......
ps -ef | grep redis使用 redis-cli 创建 redis 集群
1
/usr/local/redis/src/redis-cli -a xxx --cluster create --cluster-replicas 1 192.168.1.5:8001 192.168.1.5:8002 192.168.1.5:8003 192.168.1.5:8004 192.168.1.5:8005 192.168.1.5:8005
-a
参数是指上面配置的集群密码--cluster create
表示创建集群--cluster-replicas
表示每个 master 需要多少个 slave192.168.1.5
这里的IP地址最好指定对外可访问的地址,以便远程连接可自动切换
验证集群
1
/usr/local/redis/src/redis-cli -c -a xxx -h 192.168.1.5 -p 8001
-a
表示访问密码-c
表示访问方式为集群
1
2cluster info #查看集群信息
cluster nodes #查看节点列表和状态关闭集群,关闭时需要一个一个的关闭
1
/usr/local/redis/src/redis-cli -c -a xxx -h 192.168.1.5 -p 8001 shutdown
本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Chenlil Blog!