zoukankan      html  css  js  c++  java
  • Linux搭建redist-cluster集群

    搭建环境及准备安装包:  

    redis-4.0.6.tar.gz        redis安装包   

    ruby-2.4.1.tar.gz         Ruby环境(集群搭建需要用ruby创建, ruby环境在2.2以上。)

    rubygems-2.7.7.tgz       redis-4.0.1.gem  (后面的是redis集群需要的ruby插件,rubygemsruby的一个包管理工具,通过rubygems安装redis-4.0.1.gem

    安装gcczlibopenssl

    卸载redis

    首先把redis-server停了,然后把文件删除就行了.

    1、停掉所有redis服务

    ps -elf|grep redis

    kill -9 [进程号]

    2、删除文件

    redis会在/usr/local/bin或你指定的目录下产生下面几个文件

        redis-benchmark

        redis-check-aof

        redis-check-dump

        redis-cli

    redis-server

    一、单机redis安装

    创建rpm

    cd /usr/local/

    mkdir rpm

    cd rpm

    把附件中rpm包上传

    rpm -Uvh ./*.rpm --nodeps --force

      

    创建redis   

    cd /usr/local/

    mkdir redis

    将redis-4.0.6.tar.gz上传至redis目录下

    cd redis

    解压

    tar -vxf redis-4.0.6.tar.gz

    编译文件

    cd /usr/local/redis/redis-4.0.6

    make    

    成功如下:

     

    安装

    进入到/usr/local/redis/redis-4.0.6/src下查看文件是否生成redis-serverredis-cli

     

    cd /usr/local/redis/redis-4.0.6/src

    make install

    成功如下:

     

    建立俩个文件夹存放redis命令和配置文件

    mkdir -p /usr/local/redis/etc

    mkdir -p /usr/local/redis/bin

     

    redis-4.0.6下的redis.conf复制到/usr/local/redis/etc/

    cd /usr/local/redis/redis-4.0.6

    cp redis.conf /usr/local/redis/etc/

    移动redis-4.0.6/src里的几个文件到/usr/local/redis/bin/

    cd /usr/local/redis/redis-4.0.6/src

    mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli  redis-check-rdb   redis-server  /usr/local/redis/bin/

    先改redis.conf

    cd /usr/local/redis/etc

    vi redis.conf

    daemonize yes   修改这项为yes

     

    启动并指定配置文件

    /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

     

    查看状态

    ps -ef |grep redis

     

    简单检测

    cd /usr/local/redis/bin

    ./redis-cli

     

    退出客户端

    quitexit

    退出redis服务

    1.pkill redis-server

    2.kill 进程号

    3./usr/local/redis/bin/redis-cli shutdown

    二、集群搭建

    创建文件夹并在其下创建2个文件夹

    mkdir -p /usr/local/redis-cluster

    mkdir 7001 7002

    把之前的redis.conf 配置文件copy7001下,修改如下内容

    cd /usr/local/redis/

    cp etc/redis.conf ../redis-cluster/7001

    cp etc/redis.conf ../redis-cluster/7002

    进入7001

    cd /usr/local/redis-cluster/7001

    vi redis.conf

    使用/命令搜索   例如:  /port

    daemonize yes                   #redis后台运行

    port 7001                       #端口7001 7002 7003 7004 7005 7006

     

    bind 192.168.50.140            #默认ip127.0.0.1 需要改为其他节点机器可访问的ip

    否则创建集群时无法访问对应的端口,无法创建集群

     

    dir /usr/local/redis-cluster/7001   #数据文件存放位置对应7001 7002 7003 7004 7005 7006

     

    设为如下:

     

    cluster-enabled yes             #开启集群

     

    cluster-config-file nodes-7001.conf  (nodes-7001最好跟portxxx对应上)  #集群配置信息,开启集群后自动生成

     

    appendonly yes                  #开启aof日志,它会每次写操作都记录一条日志

     

    cluster-node-timeout 15000 #请求超时时长

     

    把修改后的配置文件分别copy到各个文件夹下,注意修改端口号,可以批量替换

    cp redis.conf ../7002

    批量修改

    :%s/源字符串/目的字符串/g

    :%s/7001/7002/g

     

    提示3行修改

    这时是可以启动redis

    /usr/local/redis/bin/redis-server /usr/local/redis-cluster/7001/redis.conf

    /usr/local/redis/bin/redis-server /usr/local/redis-cluster/7002/redis.conf

    查看状态

    ps -ef |grep redis 

     

    查看防火墙状态:

    systemctl status  firewalld

     

    开启状态:

    然后开启端口号:

    firewall-cmd --permanent --zone=public --add-port=7001/tcp

    firewall-cmd --permanent --zone=public --add-port=17001/tcp

    firewall-cmd --permanent --zone=public --add-port=7002/tcp

    firewall-cmd --permanent --zone=public --add-port=17002/tcp

    然后重启防火墙:

    systemctl restart  firewalld

    其他两台重复以上操作

    安装ruby就是为了安装redis gem,而redis gem 是为了能运行redis-trib.rb

    redis安装目录srcredis-trib.rb完成集群创建,redis-trib.rb命令需要安装gem redis模块才能运行,gem redis需要Ruby环境

    1. Ruby离线安装

    放入文件

    cd /usr/local

    mkdir ruby

    cd ruby

    把ruby-2.4.1.tar.gz包上传

    tar -zxvf ruby-2.4.1.tar.gz

    cd ruby-2.4.1

    ./configure --prefix=/usr/local/ruby      -prefix是将ruby安装到指定目录,也可以自定义

    成功如下:

     

    make && make install

    成功如下:

     

    这时用ruby命令是会报错的

    创建软连接

    ln -s /usr/local/ruby/bin/ruby /usr/bin/ruby

    查看版本信息

    ruby -v

     

    2.安装rubygems

    首先下载安装包:https://rubygems.org/pages/download(包中已有)

    cd /usr/local/

    mkdir rubygems

    把文件放到该目录下

    tar -zxvf rubygems-2.7.7.tgz

    cd rubygems-2.7.7

    ruby setup.rb    

    成功如下:

     

    创建软连接gem

    ln -s /usr/local/ruby/bin/gem /usr/bin/gem

     

    3.安装ruby-redis插件

    cd /usr/local/redis

    把文件redis-4.0.1.gem放到该目录下

    gem install redis-4.0.1.gem

    成功如下:

     

    启动一个集群

    位置为

    pwd

    /usr/local/redis/redis-4.0.6/src

     创建新集群命令:命令create,选项--replicas 1意味着我们希望每个创建的主服务器都有一个从服 其他参数是我要用于创建新集群的实例的地址列表。

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

    按这个排mastersslave  同意时yes确定 如下:

     

    成功如下:

     

    连接集群

    redis-cli -c -h 192.168.50.169 -p 7001  -c表示集群模式,指定ip地址和端口号

    如:/usr/local/redis/bin/redis-cli -c -h 192.168.50.169 -p 7001

     

    集群测试

    cluster info  查看集群信息

     

    cluster nodes(查看节点列表)

     

    简单调试:可在各个服务器随便设值

    192.168.50.141  中设值如下:

     

    192.168.50.143  中设值如下:

     

    192.168.50.140  中设值如下:

     

    然后用RedisDesktopManager连接后可显示如下:

     

    关闭时逐个关闭

    /usr/local/redis/bin/redis-cli -c -h 192.168.50.140 -p 7001 shutdown

    /usr/local/redis/bin/redis-cli -c -h 192.168.50.140 -p 7002 shutdown

    /usr/local/redis/bin/redis-cli -c -h 192.168.50.141 -p 7003 shutdown

    /usr/local/redis/bin/redis-cli -c -h 192.168.50.141 -p 7004 shutdown

    /usr/local/redis/bin/redis-cli -c -h 192.168.50.143 -p 7005 shutdown

    /usr/local/redis/bin/redis-cli -c -h 192.168.50.143 -p 7006 shutdown

    添加密码

    Redis-trib.rb工具构建的集群:

    1,如果是使用redis-trib.rb工具构建集群,集群构建完成前不要配置密码,集群构建完毕再通过config set + config rewrite命令逐个机器设置密码

    2,如果对集群设置密码,那么requirepass和masterauth都需要设置,否则发生主从切换时,就会遇到授权问题,可以模拟并观察日志

    3,各个节点的密码都必须一致,否则Redirected就会失败

    步骤为:

    /usr/local/redis/bin/redis-cli -c -h 192.168.0.115 -p 7001

    config set masterauth passwdAb135790

    config set requirepass passwdAb135790

    auth passwdAb135790

    config rewrite

    exit

    需要每个节点都设置密码并且保证一致

     

     

    后边就不在截屏了!需要每个节点都设置密码并且保证一致

    cd /usr/local/redis/redis-4.0.6/src

    ./redis-trib.rb check 192.168.0.115:7001    check:检查集群时报错

     

    find / -name 'client.rb'     查找client.rb

     

    vi /usr/local/ruby/lib/ruby/gems/2.4.0/gems/redis-4.0.1/lib/redis/client.rb

    修改password

    记得加 ” ” 双引号,不然会报错!

    如下图:

     

    ./redis-trib.rb check 192.168.50.168:7005

     

    直接进入时报错需要输入密码:

     

    进入的时候直接加上密码:

    /usr/local/redis/bin/redis-cli -c -h 192.168.50.226 -p 7001 -a passwd123456

     

    关闭时也需要加上密码:

    /usr/local/redis/bin/redis-cli -c -h 192.168.50.226 -p 7001 -a passwd123456  shutdown

  • 相关阅读:
    小条打印机输出简析
    Visual Studio离线安装
    删除“Open in Windows Terminal”右键菜单
    《新媒体营销精华:精准定位+爆款打造+匠心运营+内容变现》笔者的新书,欢迎各位粉丝上京东购买
    vue3.0 的 Composition API 的一种使用方法
    对比传统的Xilinx AMP方案和OPENAMP方案-xapp1078和ug1186【转】
    OpenAMP简介【转】
    git 用法【笔记】
    针对非对称多处理系统实现更简单的软件开发【转】
    内核探测工具systemtap简介【转】
  • 原文地址:https://www.cnblogs.com/mayhh/p/9795642.html
Copyright © 2011-2022 走看看