zoukankan      html  css  js  c++  java
  • 【转】redis-cluster安装配置

    需要三台虚拟机(生产环境是3个物理机),分配静态IP。cluster中共6个节点。3主3从。本文中每个虚拟机上的redis端口:6379 6380。

    需要注意的两点:

    3个主节点分别位于3台虚拟机上,已保证某个虚拟机挂掉,集群仍然可以正常工作。

    同一对主从节点(存储的是相同的数据),也不能分配到一台虚拟机上,防止某台虚拟机挂掉,应用无法访问这对redis存储的数据。

    redis源码tar包路径: /usr/local/redis-3.0.6.tar.gz

    redis解压后源码安装包路径: /usr/local/redis-3.0.6

    redis安装位置: /usr/local/redis

    redis的启动配置文件放在路径: /etc/redis 文件夹下

    redis集群配置配置文件(自动生成)放在路径 /etc/redis/clusterconf 文件夹下

    redis数据放在路径: /data/redis 文件夹下

    redis日志放在路径: /logs/redis 文件夹下

    1、安装依赖

    wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz

    sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/

    cd /usr/local/tcl8.6.1/unix/

    sudo ./configure

    sudo make

    sudo make install

    2、安装Redis

    解压展开源码包

    # tar xf redis-3.0.6.tar.gz

    进入解压后的源码目录

    # cd redis-3.0.6

    编译安装 redis

    # make PREFIX=/usr/local/redis install

    安装完成,进行安装是否成功的测试

    # make test

    如果显示“All tests passed without errors!”表示安装成功。 如果安装测试提示失败,请重新解压覆盖。 说明: 根据操作系统环境不同,依赖的软件也不同,编译安装 Redis 时如果有提示软件依赖问题,根据错误提示安装相应软件即可。

    说明:3个虚拟机上相同操作

    3、配置Redis

    建立目录如下,存放redis启动配置文件(可以放多个,例如redis-6379.conf,redis-6380.conf)

    # mkdir /etc/redis

    建立目录如下,存放redis集群节点配置文件,启动时自动生成。

    # mkdir /etc/redis/clusterconf

    建立目录如下,存放持久化文件(例如dump-6379.rdb,dump-6380.rdb)

    # mkdir /usr/local/redis/data

    拷贝2 步中 redis 解压目录里的配置文件 redis.conf

    # cp redis.conf /etc/redis/redis-6379.conf

    编辑/etc/redis/redis-6379.conf,以下配置的具体内容均为示例,需要根据注释进行实际配置。

    # vim /etc/redis/redis-6379.conf

    daemonize yes // 以守护进程方式运行

    redis pidfile /var/run/redis-6379.pid // pid 文件位置

    port 6379 //redis 服务监听端口号

    logfile "/logs/redis/6379.log" //redis 日志文件

    dbfilename dump-6379.rdb

    dir /data/redis

    save 900 1 //900 秒内有一次更新,则写入磁盘操作

    save 300 10 //300 秒内有 10 次操作,则刷一次磁盘

    save 60 30 //60 秒 内有 30 次操作的,则刷一次磁盘

    appendonly no

    appendfilename "appendonly-6379.aof"

    #以下是集群相关配置

    cluster-enabled yes

    cluster-config-file /etc/redis/clusterconf/nodes-<ip>-6379.conf

    cluster-node-timeout 5000

    创建redis-6380.conf配置文件

    # cp /etc/redis/redis-6379.conf /etc/redis/redis-6380.conf

    把redis-6380.conf配置文件中的所有6379修改成6380

    说明:3个虚拟机上相同操作

    4、集群依赖

    3台虚拟机上任选一台安装ruby

    yum install ruby rubygems -y

    gem install redis

    说明:目前yum安装的ruby版本是2.0.0,在执行gem install redis时,会报错:

    ERROR: Error installing redis

    redis requires Ruby version >= 2.2.2.

    解决方法访问下面链接

    https://www.cnblogs.com/PatrickLiu/p/8454579.html

    5、制作sh脚本,启动6个redis

    #!/bin/sh

    cd /usr/local/redis/bin

    ./redis-server /etc/redis/redis-6379.conf

    echo "redis 6379 is starting"

    ./redis-server /etc/redis/redis-6380.conf

    echo "redis 6380 is starting"

    6、制作sh脚本,在安装ruby的虚拟机上执行

    #!/bin/sh

    /usr/local/redis-3.0.6/src

    ./redis-trib.rb create --replicas 1 192.168.233.103:6379 192.168.233.104:6379 192.168.233.105:6379 192.168.233.103:6380 192.168.233.104:6380 192.168.233.105:6380(这行的顺序不要变,前三个是master,后三个是slave)

    7、通过命令可以查询 cluster info cluster nodes

    8、思考

    两个master不能在一台机器上

    一对主从(数据相同)不能在一台机器上
    ---------------------
    作者:ljquansky
    来源:CSDN
    原文:https://blog.csdn.net/ljquansky/article/details/84260558
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Binary Search Tree Iterator 解答
    Invert Binary Tree 解答
    Min Stack 解答
    Trapping Raining Water 解答
    Candy 解答
    Jump Game II 解答
    Implement Hash Map Using Primitive Types
    Gas Station 解答
    Bucket Sort
    HashMap 专题
  • 原文地址:https://www.cnblogs.com/yanwuliu/p/9986382.html
Copyright © 2011-2022 走看看