Linux下Redis的搭建和使用(伪分布式)

一:环境

    1、Redis需要c语言的编译环境,在线安装gcc

    yum install gcc-c++

二:安装Redis 本文档所使用的文件资源

    1、将Redis的源码包上传到Linux下

    2、解压Redis源码包,并改名

    tar -zxvf /usr/local/redis-3.0.0.tar.gz 
    mv redis-3.0.0 redis-source
    

    3、进入redis-source目录,编译。

    make

    4、安装,指定安装目录

    make install PREFIX=/usr/local/redis
   

    5、将redis设置为后台启动,将redis.conf文件复制到redis/bin目录下

    cp redis.conf /usr/local/redis/bin/
     vim redis.conf 
    
    6、启动redis,查看进程
     
     ./redis-server redis.conf
    ps aux|grep redis

    7、测试redis是否安装成功

    ./redis-cli 
8、redis关闭
    

三:搭建伪分布模式

    1、Redis的持久化方案

    Redis的所有数据都是保存到内存中的。
    Rdb:快照形式,定期把内存中当前时刻的数据保存到磁盘。Redis默认支持的持久化方案。

    aof形式:append only file。把所有对redis数据库操作的命令,增删改操作的命令。保存到文件中。数据库恢复时把所有的命令执行一遍即可。

    vim redis.conf

        两种持久化方案同时开启使用aof文件来恢复数据库。

    2、Redis-cluster的架构图

    

    2、redis-cluster投票:容错

    

       详解:

    (1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.
    (2)节点的fail是通过集群中超过半数的节点检测失效时才生效.
    (3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
    (4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->value
Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点

    3、Redis集群的搭建

    Redis集群至少需要三个节点。要保证集群的高可用,需要每个节点有一个备份机。这样Redis集群需要6台服务器。

    搭建伪分布,可以使用一台虚拟机运行6个Redis实例,更改Redis实例的端口号为7001-7006。

   4、首先搭建集群环境,使用ruby脚本搭建集群。需要ruby的运行环境。

    yum install ruby
    yum install rubygems

    5、安装ruby脚本运行使用的包。

    gem install redis-3.0.0.gem 
 
    6、创造6个Redis实例并修改端口号,创建一个redis-cluster目录,统一管理6个redis实例
   mkdir redis-cluster
    cp -r redis/bin redis-cluster/
    cd redis-cluster/
    mv redis/ redis01/
   7、将 redis-trib.rb复制到redis/bin目录下
 
    
    cd /usr/local/redis-source/src/
    cp redis-trib.rb /usr/local/redis-cluster
    8、修改redis.conf配置文件
    
    9、复制5份redis,修改配置文件。


    10、编写shell脚本,统一管理
    
vim start-all.sh
    cd redis01
    ./redis-server redis.conf
    cd ..
    cd redis02
    ./redis-server redis.conf
    cd ..
    cd redis03
    ./redis-server redis.conf
    cd ..
    cd redis04
    ./redis-server redis.conf
    cd ..
    cd redis05
    ./redis-server redis.conf
    cd ..
    cd redis06
    ./redis-server redis.conf
    cd ..
chmod +x start-all.sh

    11、启动脚本

    ./start-all.sh
    ps aux|grep redis

    12、使用ruby脚本搭建集群

    ./redis-trib.rb create --replicas 1 192.168.25.136:7001 192.168.25.136:7002 192.168.25.136:7003 192.168.25.136:7004 192.168.25.136:7005 192.168.25.136:7006
    

    13、创建统一关闭redis脚本

vim shutdow-all.sh  
    redis01/redis-cli -p 7001 shutdown
    redis02/redis-cli -p 7002 shutdown
    redis03/redis-cli -p 7003 shutdown
    redis04/redis-cli -p 7004 shutdown
    redis05/redis-cli -p 7005 shutdown
    redis06/redis-cli -p 7006 shutdown
chmod u+x shutdow-all.sh 
至此,redis集群搭建完毕。





猜你喜欢

转载自blog.csdn.net/jz_say/article/details/80211563