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

  • 相关阅读:
    Single Number II
    Pascal's Triangle
    Remove Duplicates from Sorted Array
    Populating Next Right Pointers in Each Node
    Minimum Depth of Binary Tree
    Unique Paths
    Sort Colors
    Swap Nodes in Pairs
    Merge Two Sorted Lists
    Climbing Stairs
  • 原文地址:https://www.cnblogs.com/mayhh/p/9795642.html
Copyright © 2011-2022 走看看