一、基本信息介绍
https://blog.csdn.net/llwy1428/article/details/93612187
二、单机版-伪集群 安装部署
官网集群搭建(参考)
https://redis.io/topics/cluster-tutorial
1、编译安装
参考
https://blog.csdn.net/llwy1428/article/details/93612187
第三部分(单机版安装部署 1 至 8 步)
并把配置文件 redis.conf 从 redis 解压目录复制到 redis 安装目录
[root@localhost ~]# cp /opt/redis/redis-5.0.5/redis.conf /usr/local/redis/
2、安装基本工具
[root@bogon ~]# yum install -y net-tools wget lrzsz vim
3、从redis解压目录复制redis.conf到redis安装目录
如果 /usr/local/redis 或者 /usr/local/redis/bin 下有 dump.rdb 文件,则删除
[root@localhost ~]# rm -rf /usr/local/redis/dump.rdb
[root@localhost ~]# rm -rf /usr/local/redis/bin/dump.rdb
4、创建目录 /usr/local/redis-cluster 用来存放集群实例
[root@localhost ~]# mkdir /usr/local/redis-cluster
进入目录 /usr/local/redis-cluster
[root@localhost ~]# cd /usr/local/redis-cluster
5、创建节点目录(6个 存放六个实例)
[root@localhost redis-cluster]# mkdir node1 node2 node3 node4 node5 node6
6、复制文件(把编译安装好的实例分别复制到港创建的 6 个目录下)
[root@localhost ~]# cp -R /usr/local/redis/* /usr/local/redis-cluster/node1/
[root@localhost ~]# cp -R /usr/local/redis/* /usr/local/redis-cluster/node2/
[root@localhost ~]# cp -R /usr/local/redis/* /usr/local/redis-cluster/node3/
[root@localhost ~]# cp -R /usr/local/redis/* /usr/local/redis-cluster/node4/
[root@localhost ~]# cp -R /usr/local/redis/* /usr/local/redis-cluster/node5/
[root@localhost ~]# cp -R /usr/local/redis/* /usr/local/redis-cluster/node6/
7、编辑各自节点(实例)的配置文件(以node1的配置文件redis.conf为例,其他5个节点参照node1)
[root@localhost redis-cluster]# vim node1/redis.conf
(1)daemonize yes
(2)port 7001 #(其余节点:7002、7003、7004、7005、7006)
(3)pidfile /var/run/redis_7001.pid #(其余节点:7002、7003、7004、7005、7006)redis以守护进程方式运行时,系统默认会把pid写入/var/run/redis_7001.pid
(4)cluster-enabled yes #此redis实例作为集群的一个节点
(5)cluster-config-file nodes-7001.conf #(其余节点:nodes-7002、3、4、5、6.conf)集群配置文件,系统自动维护,不能人工编辑,主要记录集群中有哪些节点,状态等参数
(6)cluster-node-timeout 15000 #节点能够失联的最大时间
分别编辑其余各个节点的配置文件,修改各自的配置信息,改成各自对应的端口(具体过程参照node1)。
8、下载 gem 文件
[root@localhost redis-cluster]# wget https://rubygems.org/downloads/redis-4.1.2.gem
(下载地址:https://rubygems.org/gems/redis/versions/4.1.2)
赋权
[root@localhost redis-cluster]# chmod 777 redis-4.1.2.gem
9、安装 ruby 环境
[root@localhost ~]# yum install -y ruby
[root@localhost ~]# gem install /usr/local/redis-cluster/redis-4.1.2.gem
有可能会出现以下错误
这是直接安装gem文件会提示 ruby 版本太低,需要 ruby 版本在 2.3 以上。
解决方案:
https://blog.csdn.net/llwy1428/article/details/93482313
再次执行
[root@localhost ~]# gem install /usr/local/redis-cluster/redis-4.1.2.gem
10、使用 gem 安装 redis
[root@localhost ~]# gem install redis
11、进入目录 /usr/local/redis-cluster/ 创建启动脚本
[root@localhost ~]# cd /usr/local/redis-cluster/
[root@localhost redis-cluster]# vim start-all.sh
写入如下内容:
cd node1
bin/redis-server redis.conf
cd ../node2
bin/redis-server redis.conf
cd ../node3
bin/redis-server redis.conf
cd ../node4
bin/redis-server redis.conf
cd ../node5
bin/redis-server redis.conf
cd ../node6
bin/redis-server redis.conf
对启动脚本赋权
[root@localhost redis-cluster]# chmod 777 start-all.sh
12、启动脚本
[root@localhost redis-cluster]# ./start-all.sh
13、查看启动状况
[root@bogon ~]# ps -ef | grep redis
[root@bogon ~]# ps aux | grep redis
[root@bogon ~]# netstat -lntp
14、创建集群
[root@localhost redis-cluster]# ./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
说明:
(1)Performing hash slots allocation on 6 nodes... # 代表一共有6个节点
(2)Using 3 masters: # 有三个主节点 分别是端口 7001、7002、7003
(3)Adding replica 127.0.0.1:7005 to 127.0.0.1:7001 # 端口7005的节点是端口7001节点的从节点,以此类推
(4)M: 014d11a25cb3ea6999bd8a3237ad27252b324c54 127.0.0.1:7001 # 前面内一串是ID唯一标识
(5)slots:0-5460 (5461 slots) master # 代表当前节点的哈希槽为0-5460,主节点才有哈希槽,redis集群中内置了16384(0-16383)个哈希槽。
(6)yes #开始搭建
三、客户端测试
链接redis的客户端:redis-cli
[root@localhost ~]# cd /usr/local/redis-cluster/
复制脚本文件 redis-cli
[root@localhost ~]# cp /opt/redis/redis-5.0.5/src/redis-cli /usr/local/redis-cluster/
[root@localhost ~]# ll
[root@localhost redis-cluster]# ./redis-cli -h 127.0.0.1 -p 7001 -c
[root@localhost redis-cluster]# ./redis-cli -h 127.0.0.1 -p 7005 -c
查看集群信息
127.0.0.1:7001> cluster info
查看节点信息
127.0.0.1:7001> cluster nodes
127.0.0.1:7001> info replication
127.0.0.1:7001> info server
说明:
(1)-h 对应的IP地址,不写的话默认就是本机。
(2)-p 对应的是集群中指定实例的端口。
(3)-c 这是必须的,代表集群启动。
(4)[9189]、[4998] 是通过算法计算出的当前key的哈希槽,每个节点都有对应的哈希槽范围,存储的的数据是根据key的哈希槽存储到对应节点。
至此,Centos7.2 搭建 Redis v5.0-单机版-伪集群 操作完毕!