Redis单机安装和集群安装(版本是5.0.9)

Redis单机和集群配置(版本是5.0.9)

摘抄自网络并用于自己以后查阅!并且记录下了自己遇到的一些问题!

单机版的配置

文字步骤

1.下载redis的压缩包,然后解压文件(tar -xzvf xxx)
2.进入解压后的redis文件目录,编译redis源文件(make,没有c环境要gcc)
3.把编译好的redis源文件安装到/usr/local/redis目录下,如果/local目录下没有redis目录,会自动创建redis目录
4.进入/usr/local/redis/bin 目录,直接 ./redis-server启动redis(此时为前端启动redis)
5.将redis启动方式改为后端启动,具体做法:把解压缩的redis文件下的 redis.conf文件复制到/usr/local/redis/bin目录下,然后修改redis.conf文件 ->daemonize no 改为yes
6.在/bin目录下通过./redis-server redis.conf启动redis(此为后台启动)

实际操作

我们在实际操作中,出现上面的情景说明我们的redis单机服务器已经安装成功了,但是有一个弊端,就是在我们启动server的时候是前台启动的,如果我们关闭这个会话的时候,server进程也对应的停止了,所以我们要将redis server设置成后台启动的
1、首先我们来修改redis.conf文件下的这个地方,将其更改为yes

2、修改完之后,再按以下步骤执行一遍,最后后台启动server成功

集群版配置

集群概念介绍

1.redis3.0版本之前只支持单例模式,在3.0版本后才支持集群。
2.redis集群采用P2P模式,是完全去中心化的,不存在中心节点或者代理节点。
3.redis集群是没有统一的入口,客户端连接集群时,连接的是集群中的任意节点即可,集群内部的节点是相互通信(PING-PONG机制),每个节点都是一个redis实例。
4.为了实现集群的高可用,即判断节点是否能正常使用,redis-cluster有一个投票容错机制:如果集群中超过半数的节点投票认为某个节点挂了,那么这个节点就是挂了(fail),这是判断节点是否挂了的方法。
5.那么如果判断集群是否挂了呢? -> 如果集群中任意一个节点挂了,而且该节点没有从节点(备份节点),那么这个集群就是挂了。这个是判断集群是否挂了的方法。
6.为什么任一节点挂了集群就是挂了呢? -> 因为集群内置了16384个slot(哈希槽),并且把所有的物理节点映射到这个16384[0-16383]个slot上,或者说把这些slot均等分配给了各节点。当需要在redis集群存放一个数据(key-value)时,redis会先对这个key做crc16算法,然后得到一个结果。再把这个结果对16384进行取余,这个余数会对应[0-16383]其中一个槽,进而决定key-value存储到哪个节点。所以一旦某个节点挂了,该节点对应的slot就无法使用,那么就会导致集群无法正常工作。读取时,也是先对这个key做crc16和取余得到对应存放的节点。
7.综上,每个redis集群理论上最多可以有16384个节点。

集群搭建需要的环境

1.redis集群至少需要3个节点,因为投票容错机制要求超过半数节点认为某个节点挂了,该节点才是挂了,所以两个节点无法构成集群
2.要保证redis集群的高可用,需要每个节点都有从节点,也就是备份节点,所以redis集群至少需要6台服务器

redis集群的搭建步骤

安装环境和版本:centos7 , redis5.0.9。redis版本在5之前的集群需要安装ruby环境(这很耗时间,且有各种问题需要解决),redis5.0.0之后已经将redis-trib.rb 脚本的功能全部集成到redis-cli之中了。本文基于redis-cli的-cluster来搭建集群。

安装过程

1.下载并解压(我直接从上面redis单机版将文件拷贝过来)
2.编译安装
make & make install
3.创建redis节点
在 /opt/redis-cluster/redis-5.0.5 下创建 redis_cluster文件夹,同时在里面创建redis7001,redis7002,redis7003,redis7004,redis7005,redis7006文件夹,并将redis.conf文件夹分别复制到这6个文件夹内,分别修改这个6个配置文件,修改内容如下:

port 7001       // 端口7001,7002,7003,7004,7005,7006
bind 本机ip     //本地是127.0.0.1
daemonize yes   // 设置redis后台运行
pidfile /var/run/redis_7001.pid   // pidfile文件对应7001 ... 7006
cluster-enable yes  // 开区集群,把注释去掉
cluster-config-file nodes_7001.conf  // 集群的配置,配置文件首次启动自动生成
cluster-node-timeout 15000  // 请求超时,默认15秒,可自行设置
appendonly yes  // aof日志开启,有需要就开启,时间长了文件会很大
masterauth 123456 // 密码的
requirepass 123456 // 密码的

4.启动各节点,可以搞个批处理文件start-all.sh
脚本内容是这样的:

启动成功:

5.检查redis启动情况

[root@markusZhang redis-5.0.9]# netstat -tnlp | grep redis
tcp        0      0 127.0.0.1:7001          0.0.0.0:*               LISTEN      12164/src/redis-ser 
tcp        0      0 127.0.0.1:7002          0.0.0.0:*               LISTEN      12166/src/redis-ser 
tcp        0      0 127.0.0.1:7003          0.0.0.0:*               LISTEN      12171/src/redis-ser 
tcp        0      0 127.0.0.1:7004          0.0.0.0:*               LISTEN      12173/src/redis-ser 
tcp        0      0 127.0.0.1:7005          0.0.0.0:*               LISTEN      12175/src/redis-ser 
tcp        0      0 127.0.0.1:7006          0.0.0.0:*               LISTEN      12180/src/redis-ser 
tcp        0      0 127.0.0.1:17001         0.0.0.0:*               LISTEN      12164/src/redis-ser 
tcp        0      0 127.0.0.1:17002         0.0.0.0:*               LISTEN      12166/src/redis-ser 
tcp        0      0 127.0.0.1:17003         0.0.0.0:*               LISTEN      12171/src/redis-ser 
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      27577/./redis-serve 
tcp        0      0 127.0.0.1:17004         0.0.0.0:*               LISTEN      12173/src/redis-ser 
tcp        0      0 127.0.0.1:17005         0.0.0.0:*               LISTEN      12175/src/redis-ser 
tcp        0      0 127.0.0.1:17006         0.0.0.0:*               LISTEN      12180/src/redis-ser 

如果少了哪个,检查一下哪个的配置文件是否有问题
6.创建集群

[root@markusZhang redis-5.0.9]# 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 -a 123456

–cluster-replicas 1 命令的意思是:一主一从配置,六个节点就是三主三从
最后的 -a 123456 是设置的密码

使用如下命令检查集群的状态

[root@markusZhang redis-5.0.9]# redis-cli --cluster check 127.0.0.1:7001 -a 123456
# 后面的-a 123456 是设置的密码,如果你们设置密码,就添加上

总结

这样一来,单机版和集群版redis安装就成功了。我们可以开始探索redis集群的机制了!

猜你喜欢

转载自blog.csdn.net/MarkusZhang/article/details/108894679