• redis集群搭建_超详细


    redis集群中至少应该有三个节点,以保证当集群中的某个节点挂掉,其他节点进行容错投票时,投票数能超过半票. 要保证高可用,则还需要每一个节点有一个备份机. 因此redis集群至少需要6台服务器.这里使用搭建伪分布式的方式,可以使用一台虚拟机运行6个redis实例.此时需要修改6个redis实例为不同的端口号

    redis cluster管理工具redis-trib.rb 
    搭建redis集群环境需要redis cluster管理工具redis-trib.rb, 
    redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集群命令封装成简单、便捷、实用的操作工具。redis-trib.rb是redis用ruby完成的

    一、安装redis4.0.9软件包
    tar fxv redis-4.0.9.tar.gz
    yum -y install gcc tcl
    cd redis-4.0.9
    make MALLOC=libc && make test

    二、安装集群管理工具ruby2.4.4
    mkdir /usr/local/redis_cluster ##创建集群文件存放目录便于管理
    wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz ###ruby官方网站
    tar fxv ruby-2.4.4.tar.gz
    cd ruby-2.4.4
    ./configure --prefix=/usr/local/redis_cluster/ruby ###编译并指定安装目录所在位置
    make && make install ###时间有点长! 注意看它停不停止就行!
    cd /usr/local/redis_cluster/ruby
    cp bin/ruby /usr/local/bin ###方便直接使用ruby和gem命令,若不复制,则使用ruby命令需要到此目录下才能用
    cp bin/gem /usr/local/bin

    三、升级zlib
    tar -xvzf zlib-1.2.11.tar.gz
    cd zlib-1.2.8.tar.gz
    ./configure --prefix=/usr/local/redis_cluster/zlib ## 设置安装路径
    make && make install
    ###执行安装后,需要重新刷新下,ruby的zlib库
    cd /opt/ruby-2.4.4/ext/zlib
    ruby extconf.rb --with-zlib-include=/usr/local/redis_cluster/zlib/include/ --with-zlib-lib=/usr/local/redis_cluster/zlib/lib/ ##执行后会生成新的Makefile文件
    vim Makefile
    :%s+$(top_srcdir)/include/ruby.h+../../include/ruby.h+ ##执行替换路径$(top_srcdir)/include/ruby.h替换成../../include/ruby.h
    make && make install

    四、升级openssl
    tar fxv openssl-1.0.2o.tar.gz
    cd openssl-1.0.2o
    ./config -fPIC --prefix=/usr/local/redis_cluster/openssl -enable-shared
    ./config -t
    make && make install
    执行安装后,需要重新刷新下,ruby的openssl库
    cd /opt/ruby-2.4.4/ext/openssl
    ruby extconf.rb --with-openssl-include=/usr/local/redis_cluster/openssl/include/ --with-openssl-lib=/usr/local/redis_cluster/openssl/lib/ ##执行后会生成新的Makefile文件
    vim Makefile
    :%s+$(top_srcdir)/include/ruby.h+../../include/ruby.h+ ##执行替换路径$(top_srcdir)/include/ruby.h替换成../../include/ruby.h
    make && make install

    gem install /opt/redis-4.0.1.gem

    五、创建伪集群
    cd /usr/local/redis_cluster/
    mkdir cluster
    mkdir 16001 16002 16003 16004 16005 16006
    cp redis-4.0.9/redis.conf cluster/16001
    cp redis-4.0.9/redis.conf cluster/16002
    cp redis-4.0.9/redis.conf cluster/16003
    cp redis-4.0.9/redis.conf cluster/16004
    cp redis-4.0.9/redis.conf cluster/16005
    cp redis-4.0.9/redis.conf cluster/16006
    vi redis.conf
    ##修改每个配置文件中的下面选项
    port 16001 #每个配置文件的port端口号不能相同这里分别为16001.。。。16006
    daemonize yes
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 5000
    appendonly yes

    六、分别启动每个实例
    cp /usr/local/redis_cluster/redis-4.0.9/src/redis-server /usr/local/bin/
    cd /usr/local/redis_cluster/cluster
    redis-server 16001/redis.conf
    redis-server 16002/redis.conf
    redis-server 16003/redis.conf
    redis-server 16004/redis.conf
    redis-server 16005/redis.conf
    redis-server 16006/redis.conf

    七、创建集群
    redis-trib.rb create --replicas 1 127.0.0.1:16006 127.0.0.1:16005 127.0.0.1:16004 127.0.0.1:16003 127.0.0.1:16002 127.0.0.1:16001

    报错:

    解决:
    1. error: jemalloc/jemalloc.h: No such file or directory解决方法
    make MALLOC=libc

    报错:



    解决:
    yum - y install tcl ##(时间同步)

    报错:

    解决:
    升级zlib

    报错:

    解决:
    升级openssl

  • 相关阅读:
    String空格删除和java删除字符串最后一个字符的几种方法
    Ceph 12.2.0 实践osd 智能分组功能
    Ceph 12.2.0 实践osd 智能分组功能
    Ceph 12.2.0 实践osd 智能分组功能
    Ceph 12.2.0 实践osd 智能分组功能
    取区域/扇区边界点
    取区域/扇区边界点
    取区域/扇区边界点
    取区域/扇区边界点
    解决客户端向服务器数据库传输中文乱码的方法
  • 原文地址:https://www.cnblogs.com/zs-wei/p/9187454.html
Copyright © 2020-2023  润新知