• Linux(Centos7)下redis5缓存服务集群分布式搭建


    注意:可以查看Redis官网查看集群搭建方式,连接如下

    https://redis.io/topics/cluster-tutorial

    集群中应该至少有三个节点,每个节点有一备份节点。需要6台服务器。

    如果条件有限,可以搭建伪分布式,以下步骤是在一台 Linux 服务器上搭建有6个节点的 Redis集群。

    准备工作:安装依赖包

    [root@localhost ~]#yum install -y gcc g++ make gcc-c++ kernel-devel automake autoconf libtool make wget tcl vim  unzip git

    1.创建目录并进

    命令:mkdir /usr/local/redis-cluster

    命令:cd  /usr/local/redis-cluster

    2.下载源码包并解包编译安装

    命令:wget http://download.redis.io/releases/redis-5.0.5.tar.gz             #安装redis5.0.5版本

    命令:tar -zvxf  redis-5.0.5.tar.gz               #解包

    3.进入redis目录里,开始编译并安装

    命令:cd redis-5.0.5             #进入目录里如果有这个Makefile就可以编译安装了

    命令:make                            #编译

    命令:make install PREFIX=/usr/local/redis     #编译安装并将redis放在/usr/local/redis下,这样就可以直接使用redis

    好了,现在redis已经安装成功

    4.创建6个redis配置文件(注意:6个配置文件不能放在同一个目录之内)

    命令:[root@localhost redis-5.0.5]# cp /usr/local/redis-cluster/redis-5.0.5/redis.conf /usr/local/redis/bin

    命令:[root@localhost redis-5.0.5]# cd /usr/local/redis

    命令:[root@localhost redis]# cp -r /usr/local/redis/bin /usr/local/redis-cluster/redis01

    命令:[root@localhost redis]# cd /usr/local/redis-cluster/redis01

    命令:[root@localhost redis01]# vim redis.conf          #修改配置文件

     配置文件的修改路径为:

    1)port 7001    #端口

    2)cluster-enabled yes       #启用集群模式              

    3)cluster-config-file nodes.conf        #设置对应端口,不输入的话就是默认port端口 

    4)cluster-node-timeout 5000       #超时时间

    5)appendonly yes         #开启持久化模式

    6)daemonize yes          #后台运行

    7)protected-mode no         #非保护模式

    8)pidfile /var/run/redis_7001.pid      #防止启动多个进程副本,只启动7001

    (知识扩展:进程运行后会给.pid文件加一个文件锁,只有获得该锁的进程才有写入权限(F_WRLCK),

    把自身的pid写入该文件中,其他试图获得该锁的进程会自动退出。)

    9)bind 172.20.10.7            #127.0.0.1改为本机ip地址,可用 ifconfig 或 ip a 查看ip

    这样配置文件就已经做好了,接下来保存退出,然后创建其他5个节点

    5.创建其他5个节点

    命令:cd     /usr/local/redis-cluster/       #进入redis目录下

    [root@localhost redis-cluster]# cp -r redis01  redis02
    [root@localhost redis-cluster]# cp -r redis01  redis03
    [root@localhost redis-cluster]# cp -r redis01  redis04
    [root@localhost redis-cluster]# cp -r redis01  redis05
    [root@localhost redis-cluster]# cp -r redis01  redis06        #将配置目录复制5份

     然后修改配置文件:分别修改redis02 ~ redis06 的 redis.conf下的port 和 pidfile

    修改内容:

    1)port 7001

    2)pidfile /var/run/redis_7001.pid

    6.启动节点

    有两种方法启动

    命令:cd  /usr/local/redis-cluster

    1)分别进入redis01、redis02、...redis06目录,执行: ./redis-server ./redis.conf

    2)做一个脚本执行    start-all.sh

    脚本内容如下:

    cd redis01
    ./redis-server redis.conf
    cd ..
    cd redis02
    ./redis-server redis.conf
    cd ..
    cd redis03
    ./redis-server redis.conf
    cd ..
    cd redis04
    ./redis-server redis.conf
    cd ..
    cd redis05
    ./redis-server redis.conf
    cd ..
    cd redis06
    ./redis-server redis.conf
    cd ..

    然后添加权限执行脚本就行了

    命令:chmod u+x start-all.sh          #给脚本添加权限

    命令:./start-all.sh

     然后顺便看一下节点是否启动成功

    命令:ps aux | grep redis

    7.启动集群

    因为我们使用的5.0.0以上的版本的Redis搭建的集群只需要把编译后的redis目录中的这个redis-cli文件拷贝到redis-cluster目录过来就可以了

    至于redis-cli在/usr/local/redis-cluster/redis-5.0.5/src下就可以找到,然后复制到/usr/local/redis-cluster下就可以了

    命令:cp -r    /usr/local/redis-cluster/redis-5.0.5/src/redis-cli   /usr/local/redis-cluster

    命令:/usr/local/redis-cluster/redis-cli --cluster create 192.168.100.248:7001 192.168.100.248:7002 192.168.100.248:7003 192.168.100.248:7004

    192.168.100.248:7005 192.168.100.248:7006 --cluster-replicas 1               #启动命令(注意:根据自己的IP启动)

     

     到这个地方,就做完了redis集群启动成功

    8.集群的操作

    关闭集群,在create-cluster目录下编写脚本文件:vim shutdown.sh

    脚本内容如下:

    /usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7001 shutdown
    /usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7002 shutdown
    /usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7003 shutdown
    /usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7004 shutdown
    /usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7005 shutdown
    /usr/local/redis-cluster/redis-cli -c -h 192.168.100.248 -p 7006 shutdown
    然后给脚本添加权限并执行此文件

    命令:chmod u+x shutdown.sh

    命令:./shutdown.sh

    查看redis集群状态

    命令:ps aux|grep redis

     知识扩展:

    官方:/usr/local/redis-cluster/redis-cli -a xxx -c -h 192.168.100.248 -p 7001

    提示:-a访问服务端密码,-c表示集群模式,-h指定ip地址,-p指定端口号

    9.重新启动集群

    在start-all.sh脚本的最后添加/usr/local/redis-cluster/redis-cli --cluster create 192.168.100.248:7001 192.168.100.248:7002 192.168.100.248:7003

    192.168.100.248:7004 192.168.100.248:7005 192.168.100.248:7006 --cluster-replicas 注意:使用自己本机的IP 

     然后执行脚本就可以了

    命令:./start-all.sh

    10.测试集群

    在redis-cluster目录下执行

    命令:redis01/redis-cli -h 192.168.100.248 -p 7002 -c        (注意:用自己的IP)

    命令:cluster nodes                 #查询集群结点信息

    命令:cluster info                     # 查询集群状态信息

     (知识扩展:设置主从密码)

    需要在redis01~redis06的配置文件里redis.conf修改这两行

    masterauth 123456 #主从密码

    requirepass 123456 #访问密码

     

     

     然后重启服务

     测试:

    命令:redis01/redis-cli -h 192.168.100.248 -p 7002 -c

    192.168.100.248:7001> cluster nodes           #这个时候命令不能用

     NOAUTH Authentication required

    192.168.1.181:7001> auth 123456             #输入密码,看见“OK”就可以了

     OK

    192.168.1.181:7001> cluster nodes          #这个时候命令就可以用了

    总结:。。。。。。。。。。。。。。。。。(此处省略一万字)

  • 相关阅读:
    dubbo接口测试
    httpclient接口返回结果中文显示问号
    idea创建springboot项目报错Initialization failed for 'https://start.spring.io' Please check URL, network and proxy settings.
    前端框架angular
    测试思考
    sonar的使用
    IDEA中getter方法报红
    dubbo相关
    IDEA无法从mapper方法直接点进xml文件的解决办法
    java笔记-spring boot系列
  • 原文地址:https://www.cnblogs.com/zgqbky/p/11792141.html
Copyright © 2020-2023  润新知