首页 > 其他 > 详细

搭建自己的服务器 3.装redis-cluster

时间:2019-11-17 21:55:58      阅读:67      评论:0      收藏:0      [点我收藏+]

说明:

               现在redis最新版是5.06,我安装的是5.05。已经安完一段时间了,没有多余的废话。

原理:

              一般情况下,redis安装的只是一个单点,集群一般是指一个点复制了很多份。

        而cluster区别于集群,不是通过冗余的方式,多个点分配不同的hash槽,key按照对应的hash值,存进不同的槽。

        存、取某个key的值的时候,通过各个点之间建立的链接转向,再取值返回。例如key在5号服务器,在1号服务器去查,

        1号会通过与其他服务器建立的链接转向,最终到达5号服务器取到值,再从1号服务器return。

             举个现实的例子:

              单点的redis相当于一家医院,集群和cluster相当于多家。

        如果是集群,你在1号医院做完抽血检查,之后去了3号医院,如果医院之间互相提供备份,那么你在3号医院能看到报告,

        如果没有互相提供,就是先在最现实的,再抽一遍血吧。

        如果是cluster,相当于你告诉医生你在哪家医院抽的血,医生通过网络登陆其他医院,远程看到结果的快照,不用下载。

安装:

       个人习惯,安装包存在/home/soft下面,安装在/usr/local下。

        cd /home/soft

        tar -xvf redis-5.0.5.tar.gz

        cd redis-5.05/src

        make PREFIX=/usr/local/redis

   install 

        这时候,在/usr/local/redis目录下,产生一个bin目录,其中两个命令比较有用,redis-server,redis-cli

        单点启动:

        安装目录下,找到redis.conf文件,修改 bind 当前IP,protected-mode no,daemonize yes,需要密码的话,修改requirepass password

        /usr/local/redis/bin/redis-server redis.config 启动,

        redis-cli -p 默认端口 登陆,在redis命令符下 auth password 进入自己的16个DB

部署cluster

       预计搭建6个点,组成3主3从结构。端口6379、6479、6579、6679、6779、6879

        首先:修改redis.config 

       开启Cluster:cluster-enabled yes

       绑定地址:bind 192.168.XXX.XXX ,//多台服务器要bind不同ip,我目前是一台做6个点,所以都是一个ip 192.168.100.10

       集群配置文件:cluster-config-file nodes-6379.conf   这个文件不用配,但要保证多个配置文件中不同,防止冲突。

       集群超时时间:cluster-node-timeout 15000。

       槽是否全覆盖:cluster-require-full-coverage no。默认是yes。16384个槽没全覆盖也不会停止服务。

       后台运行:daemonize yes

       输出日志:logfile “/var/logs/redis/redis_6379.log”

       监听端口:port 6379

       pidfile /var/run/redis_6379.pid 

       第二 复制配置文件

      复制redis.conf,分别修改为6479 到6879的配置。

      第三 启动6个点

/usr/local/redis/bin/redis-server /usr/local/redis/redis_6379.conf
/usr/local/redis/bin/redis-server /usr/local/redis/redis_6479.conf
/usr/local/redis/bin/redis-server /usr/local/redis/redis_6579.conf
/usr/local/redis/bin/redis-server /usr/local/redis/redis_6679.conf
/usr/local/redis/bin/redis-server /usr/local/redis/redis_6779.conf
/usr/local/redis/bin/redis-server /usr/local/redis/redis_6879.conf

  第 四 6个点组成集群

  第一次最早6个,最少3master 

  /usr/local/redis/bin/redis-cli -h 192.168.100.10 --cluster create 192.168.100.10:6379 192.168.100.10:6479 192.168.100.10:6579 192.168.100.10:6679 192.168.100.10:6779 192.168.100.10:6879 --cluster-replicas 1  

      --cluster-replicas 1必须加,否则都变成master了

      -h 192.168.100.10  命令中需要写这个,是因为我配置文件中bind 192.168.100.10,127.0.0.1不认了。

      增加节点命令:

  /usr/local/redis/bin/redis-cli -h 192.168.100.10 --cluster add-node 192.168.100.10:6979(newNode)192.168.100.10:6379(oldnode)

       减少节点命令

  /usr/local/redis/bin/redis-cli -h 192.168.100.10 --cluster add-node ip:port  nodeId(可以通过check看到)

        检查状态命令

       /usr/local/redis/bin/redis-cli -h 192.168.100.10 --cluster check 任意一个ip:port 能看到nodeId

特别说明

       1../redis-cli -h 192.168.100.10 -p 6379 -c  再访问redis需要加-c,代表cluster

       2.make的时候如果报错,一般是编译问题,需要安装gcc

       3.建立集群的时候,如果遇到找不到目录的错误信息,并有ruby的提示,需要yum install ruby

搭建自己的服务器 3.装redis-cluster

原文:https://www.cnblogs.com/xuezhankui/p/11878358.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!