redis 3.0安装与集群

    本教程使用redis3.0版本。3.0版本主要增加了redis集群功能。安装的前提条件:

需要安装gcc:yum install gcc-c++

1.安装redis:

    1).下载redis3.0的源码包,上传到linux服务器,然后使用如下命令解压redis的源码包:

tar -zxvf redis-3.0.0.tar.gz 

    2).解压完成会生产一个新的文件夹,进入该文件夹,对生产的文件使用make命令编译:

make

    3).安装redis(PREFIX用于指方式定安装目录)

make install PREFIX=/usr/local/redis

    如此redis就安装完成了:接下来就是redis的启动,主要有两种方式启动redis,一种是前端启动,也就是显示到当前的界面,一种将redis作为守护进程在后台启动;

2.redis启动方式:

    1).前端启动模式与启动大多数linux程序一样:

./redis-server

    2).后端启动模式则需要将解压的redis文件夹下面的redis.conf文件拷贝到安装目录下,也就是/usr/local/redis/bin 目录下,先进入redis解压的文件夹,然后copy:

cp redis.conf /usr/local/reddis/bin/

    3).修改配置文件,让redis以守护进程的形式运行:

vi redis.conf

    4).将deamonize no 修改为 deamonize yes,然后启动redis

./redis-server redis.conf

3.redis集群安装:

    1).首先先简单了解redis的集群算法:

    Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点,如图是redis的集群示意图:

a.当有一个节点向其他节点发起通信(ping-pong),但是一直未收到该节点的响应的话,那么该节点就会想其他的节点发出一个该节点不可用的信号,并且收到信号的节点也会想被怀疑挂掉的节点发起通信,如果有超过半数的节点认为该节点不可用的话,此节点(master)就会被认为不可用,此时,如果有从节点(slave)的话,该从节点就会被启动。

b.什么时候整个集群不可用(cluster_state:fail)? 

    1:如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成集群的slot映射[0-16383]不完成时进入fail状态.

    2:如果集群超过半数以上master挂掉,无论是否有slave集群进入fail状态.

当集群不可用时,所有对集群的操作做都不可用,收到((error) CLUSTERDOWN The cluster is down)错误.

2).redis客户端向服务器发起一个连接以后,在集群环境下可以连接到任意的一个节点,如果连接的不是该节点就发生跳转。

3).本次安装主要在一台虚拟机上安装6个实例来模拟redis的集群:

   a.redis集群需要使用到ruby脚本,所以需要安装ruby相关的依赖:

    (1).安装ruby

yum install ruby
yum install rubygems

    (2).ruby相关依赖,在本地下载好一会上传到服务器后解压该文件:

tar -zxvf redis-3.0.0.gem

    (3).安装依赖:

gem install redis-3.0.0.gem 

   b.拷贝redis的安装目录,其实就是拷贝6份redis应用程序(拷贝第一份后先向bin目录下以.rdb结尾的文件删除),然后修改其配置文件:

cp -r redis redis01

.....

    首先修改每个redis配置文件的端口号,只有不重复就行,  其次是将 cluster-enabled 的注释去掉,允许集群。

vi redis01/redis-conf

...

    (4).将解压文件夹下src目录下的ruby文件拷贝到与redis应用程序同一级别的目录下,就是存放redis01,redis02的哪一级目录:

cp /home/ftpuser/files/redis-3.0.0/src/redis-trib.rb ./

(5).分别启动该6个redis实例:   

(6).创建集群:

./redis-trib.rb create --replicas 1 192.168.1.48:8001 192.168.1.48:8002 192.168.1.48:8003 192.168.1.48:8004 192.168.1.48:8005  192.168.1.48:8006

(7).测试集群环境:

 redis01/redis-cli -h 192.168.1.48 -p 7002 -c

(8).redis服务的关闭

    a.利用redis-cli进入连接,然后执行shutdown

    b.直接在命令行关闭;

#连接redis服务
./redis-cli -p 6379
#连接界面关闭
shutdown
#直接命令行关闭
./redis-cli -p 6379 shutdown

 

转载于:https://my.oschina.net/meshwon/blog/817049

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值