2.2 cluster- 三台服务器集群 伪集群
2.2.1Redis Cluster简介
什么是Redis-Cluster
- 为何要搭建Redis集群,Redis是在内存中保存数据的,而我们的电脑一般内存都不够大,这也就意味着Redis不适合存储大数据,适合存储大数据的是Hadoop生态系统的Hbase或者MogoDB。Redis更适合处理高并发,一台设备的存储能力是有限的,但是多台设备协同合作,就可以让内存增大很多倍,这就需要用到集群。
- Redis集群搭建的方式有多种,例如使用客户端分片、Twemproxy、Codis等,但从redis
3.0之后版本支持redis-cluster集群,它是Redis官方提出的解决方案,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。- 客户端与 redis 节点直连,不需要中间 proxy 层.客户端不需要连接集群所有节点连接集群中任何一个可用节点即可。 所有的 redis
- 节点彼此互联(PING-PONG 机制),内部使用二进制协议优化传输速度和带宽.
2.2.2 搭建Redis-Cluster
1. 搭建Redis-Cluster
需要 6 台 redis 服务器。
搭建伪集群。 需要 6 个 redis 实例。
需要运行在不同的端口 7001-7006
2. 准备工作
- 安装gcc(安装单节点模式有说明安装步骤)
- 将下载的redis-6.0.6.tar.gz 使用工具放在 /opt 目录;
- 解压命令:
tar -zxf redis-6.0.6.tar.gz
- 完成解压后,将解压后的文件移动到 /home/ltree/tools/redis 目录下 :
mv redis-6.0.6 /home/ltree/tools/redis
- 编译redis源码,进入redis文件夹:
cd /home/ltree/tools/redis/redis-6.0.6
编译: make- 创建目录/usr/local/redis-cluster目录, 安装6个redis实例,分别安装在以下目录
/usr/local/redis-cluster/redis-1
/usr/local/redis-cluster/redis-2
/usr/local/redis-cluster/redis-3
/usr/local/redis-cluster/redis-4
/usr/local/redis-cluster/redis-5
/usr/local/redis-cluster/redis-6- 以第一个redis实例为例,命令如下
make install PREFIX=/usr/local/redis-cluster/redis-1
按此方法安装其余5个redis实例- 复制配置文件 将/redis-6.0.6/redis.conf 复制到redis下的bin目录下
cd /home/ltree/tools/redis/redis-6.0.6
cp redis.conf /usr/local/redis-cluster/redis-1/bin
cp redis.conf /usr/local/redis-cluster/redis-2/bin
cp redis.conf /usr/local/redis-cluster/redis-3/bin
cp redis.conf /usr/local/redis-cluster/redis-4/bin
cp redis.conf /usr/local/redis-cluster/redis-5/bin
cp redis.conf /usr/local/redis-cluster/redis-6/bin
3. 配置集群
- 修改每个redis节点的配置文件redis.conf,修改运行端口为7001 (7002 7003 ……)
- 将cluster-enabled yes 前的注释去掉
- daemonize no改为yes
4. 启动redis集群
1. 以第一个实例为例,命令如下:
cd /usr/local/redis-cluster/redis-1/bin/
./redis-server redis.conf
- 把其余的5个也启动起来,然后查看一下是不是都启动起来了
ps -ef | grep redis
2. 搭建集群
进入redis源码目录中的src目录 执行下面的命令
cd /home/ltree/tools/redis/redis-6.0.6/src
./redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1
集群参数解释:
cluster-replicas 1 : 表示希望为集群中的每个主节点创建一个从节点(一主一从)。
cluster-replicas 2 : 表示希望为集群中的每个主节点创建两个从节点(一主二从)。
成功,输入yes
3. 查看集群状态:
在/home/ltree/tools/redis/redis-6.0.6/src 目录下:./redis-cli --cluster check 127.0.0.1:7001
4. Redis Cluster集群配置完成了
5. 注意事项:
当使用
./redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1
创建集群以后,一次创建,永久使用,之后启动每一个节点即可创建集群 结束命令:./redis-cli -c -h 192.168.124.23 -p 7004 shutdown
进入集群命令 redis-cli -c -h host -p prot 不带-c 参数进入的不是集群