简洁的 redis 单机 与 集群安装

2017-11-23  本文已影响52人  e辉

Redis 简介

Redis 集群是3.0之后才引入的,在3.0之前,使用哨兵(sentinel)来监控各个节点之间的状态。Redis 集群可谓是让很多人久等了。

Redis 集群是一组能进行数据共享的Redis 实例(服务或者节点)的设施,集群可以使用的功能是普通单机 Redis 所能使用的功能的一个子集;Redis 集群通常具有高可用、可扩展性、分布式、容错等特性。了解redis的集群后,这些晦涩的概念可结合redis的主从、集群分区和集群运维等角度理解体会。

解压

tar zxvf redis-4.0.1.tar.gz

进行编译

cd redis-4.0.1
make

安装redis

cd src
make instal PREFIX=/usr/local/lib/redis #把Redis安装到/usr/local/lib/redis中

如果这里安装失败,说明没gcc和tcl,确保两个都安装上。

首先为了方便管理,将redis-4.0.1文件中的conf配置移动到安装目录下

i、创建文件夹
mkdir -p /usr/local/lib/redis/etc
    
ii、移动文件
cp redis-trib.rb /usr/local/lib/redis/bin  #集群搭建工具
cd ..
cp redis.conf /usr/local/lib/redis/etc
    
到此,redis单机版已经安装完毕。

开始集群安装之前,需要知道,要让集群正常运作至少需要三个主节点(master),对于从节点(slave)没有要求,但是为了保证数据的零丢失,所以在设置从节点的数量应当是:slave个数 >= master个数。 这样做的好处就是,当某一个master宕机的时候,每个master都至少有一个slave作为备份,redis会推选依附这个master的slave来顶替主节点的工作。但是这个slave又宕机掉的话,那么这个时候没有依附这个节点的从节点了,那么整个集群真的就挂掉了。不过在刚开始试用集群功能时, 强烈建议使用六个节点: 其中三个为主节点, 而其余三个则是各个主节点的从节点。

开始集群安装

集群环境

192.168.66.2    
192.168.66.3 

创建集群配置文件目录,并复制配置文件

到安装好的单机版本的redis目录下创建集群配置文件夹
cd /usr/local/lib/redis
mkdir cluster
cd cluster
mkdir 7000 7001 7002

cp ../etc/redis.conf 7000/
cp ../etc/redis.conf 7001/
cp ../etc/redis.conf 7002/

修改配置文件

port  7000                               # 端口7000,7002,7003        
bind  192.168.66.2                       # 默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群
daemonize    yes                         # redis后台运行
pidfile  /var/run/redis_7000.pid         # pidfile文件对应7000,7001,7002
cluster-enabled  yes                     # 开启集群  把注释#去掉
cluster-config-file  nodes_7000.conf     # 集群的配置  配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout  15000              # 请求超时  默认15秒,可自行设置
appendonly  yes                          # aof日志开启  有需要就开启,它会每次写操作都记录一条日志
appendfilename "appendonly.aof"         # aof文件路径

其余两个配置文件也都修改成对应的配。

使用scp命令,把redis复制到其他节点。

scp -r ehui@192.168.66.2:/usr/local/lib/redis /usr/local/lib

把cluster目录下改为7003、7004、7005,对应的配置文件也按照这个规则修改即可。

启动redis的服务

bin/redis-server cluster/7000/redis.conf
bin/redis-server cluster/7001/redis.conf
bin/redis-server cluster/7002/redis.conf
    
bin/redis-server cluster/7003/redis.conf
bin/redis-server cluster/7004/redis.conf
bin/redis-server cluster/7005/redis.conf

这个时候我们查看一下进程看启动情况。
ps -ef | grep redis

这里我们只是开启了6个redis进程而已,它们都还只是独立的状态,还么有组成集群这里我们使用官方提供的工具redis-trib.rb进行集群的链接,不过这个工具是用ruby写的,要先安装ruby的环境

在192.168.66.2下安装ruby环境(安装好的可以跳过这一步)

离线安装:
    tar -xvzf ruby-2.4.0.tgz    
    cd ruby-2.4.0
    
    ./configure
    make
    sudo make install

    #配置环境变量
    vi /etc/profile  
    # 加入指令  
        export RUBY_HOME=/usr/local/lib/ruby 
        export PATH=$RUBY_HOME/bin:$PATH 
    source /etc/profile # 环境立即生效

在线安装:
    yum install -y crul
    curl -L get.rvm.io | bash -s stable
        如果失败,按提示操作:先生成密钥
        curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
        再输入
        curl -L get.rvm.io | bash -s stable
    source /usr/local/rvm/scripts/rvm  #使rvm立即生效
    rvm list known                     #查看当前可用ruby版本
    rvm install  2.4.0                 #安装ruby 2.4.0 
    rvm use 2.4.0                      #使用2.4.0版本

检查是否安装成功:
    ruby  --version

安装ruby和redis的连接

gem install redis

链接集群

./redis-trib.rb create --replicas 1 192.168.66.2:7000 192.168.66.2:7001 192.168.66.2:7002 192.168.66.3:7003 192.168.66.3:7004 192.168.66.3:7005

测试

./redis-cli -h 192.168.66.2 -c -p 7000  #进入集群
set name value  #设置名字为name的值
get name        #获取名字为name的值
#性能测试
redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q

到此,redis集群安装完成。
总结,安装过程中,时不时会遇到一些小问题,但是主要还是ruby环境安装的时候,看了很多的博客,在线安装ruby时时,都是一笔带过,但是我却碰到了很多问题,耽误了许多时间,但还好都解决了。在这里非常感谢其他博客提供的参考。

感恩之心,珍惜当下。人生最重要的时刻就是现在。

上一篇下一篇

猜你喜欢

热点阅读