1. 集群:集群是相对于单机来说的。单机是一台服务器提供了一个服务,集群是一台服务器提供了多个相同的服务器或者多台服务器提供多个相同的服务。
2.为什么要使用集群?
- 高可用,一台服务器宕机后,其他服务器可以继续提供服务。
- 高性能。
- 可以横向扩展。
3.集群的搭建?
在集群环境中,如果有一半的服务器宕机,那么整个集群就会被宕机。如果有4台服务器,有2台宕机了,那么整个集群就挂了,所以推荐集群环境中服务器的个数是奇数。而为了使得集群高可用,一般会为每一台服务器准备个备用服务器,又称为主从服务器。所以最小的集群为6个服务。
4.Redis集群存储原理:
Redis集群会将整个集群进行分slot(槽)管理。slot范围为0-16383.slot是一个编号。当存储数据时会将数据进行hashCode取值,将hash值对16384取余。决定该值存放在哪个服务上。
5.伪集群和真是集群的区别?
伪集群是在一台服务器上提供多个服务
真是集群是在多台服务器上分别提供服务
6.伪集群的搭建步骤:
- 下载redis-3.0.6.tar.gz并上传到/user/local下
- 解压tar-zxvf redis-3.0.6.tar.gz
- 进入解压目录:cd redis-3.0.6
- 在该目录下进行预编译 make
- 在该目录下进行编译安装 make install
- 新建集群目录 mkdir -p/usr/local/cluster
- 进入集群目录cd/usr/local/cluster
- 新建每个服务的目录
-
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005
mkdir 7006
-
- 拷贝/usr/local/redis-3.0.6/redis.conf 到 /usr/local/cluster
- 进入/usr/local/cluster
- 编辑配置文件 redis.conf文件
-
daemonize yes
port 7001
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
-
- 将cluster下的redis.conf文件拷贝到7001,7002,7003,7004,7005,7006中,并且将端口改为和目录名称对应上。
-
cp redis.conf 7001
cp redis.conf 7002
cp redis.conf 7003
cp redis.conf 7004
cp redis.conf 7005
cp redis.conf 7006
-
- 分别启动6个服务
-
cd 7001
redis-server redis.conf
cd ../7002
redis-server redis.conf
cd ../7003
redis-server redis.conf
cd ../7004
redis-server redis.conf
cd ../7005
redis-server redis.conf
cd ../7006
redis-server redis.conf
-
- 使用命令ps-ef|grep redis 查看
- redis集群管理需要使用rudy来进行管理,所以需要安装ruby
- yum install ruby
- yum install rubygems
- gem install redis
- 进入 cd/usr/local/redis-3.0.6/src/
- 添加集群管理:
-
./redis-trib.rb create --replicas 1 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
-
- 进入客户端命令 ./redis-cil -c -p 7001