zoukankan      html  css  js  c++  java
  • redis 集群搭建碰到的问题

    make PREFIX=/usr/local/redis install
    把编译好的redis 安装到指定目录下。

    redis.conf文件从源码目录拷贝到/usr/local/redis(安装目录)下。

    redis:address already in use 解决方法:
    1.ps -ef |grep -i redis
    2.kill -9 进程ID。
    3.启动redis-server

    redis 前台运行改成后台运行
    daemonize no->daemonize yes

    redis集群环境初始条件:
    yum install ruby
    gem install redis

     执行gem  install redis 提示ruby版本过低的解决方法。

     ~]# yum install centos-release-scl-rh    //会在/etc/yum.repos.d/目录下多出一个CentOS-SCLo-scl-rh.repo源

        ~]# yum install rh-ruby23  -y    //直接yum安装即可  

        ~]# scl  enable  rh-ruby23 bash    //必要一步

        ~]# ruby -v    //查看安装版本

    然后执行gem install redis就完成了

    ERROR: Could not find a valid gem 'redis' (>= 0), here is why:
    Unable to download data from https://rubygems.org/ - timed out (https://api.rubygems.org/specs.4.8.gz)的解决方法:

    这是因为国内的GREATE WALL的问题,需要替换gem 镜像源地址:

    https://gems.ruby-china.com,这里可以找到答案。

    然后就可以执行gem install redis -V 了,-V是Verbose的缩写,可以查看安装过程。

    redis.conf 文件中启用集群cluster-enabled yes (默认为不启用)。

    新建一个目录,目录里面6个子文件夹对应6个集群,分别命名为当前REDIS的端口号从9001到9006.,并把之前的bin文件夹复制6份到这6个文件夹里面,修改每个文件夹的redis.conf文件的默认端口(默认为6379)

    cp -r /study/redis-installed/bin 9001

    cp -r /study/redis-installed/bin 9002

    ......

    进入这6个目录,然后分别执行 ./redis.server ./redis.conf执行这6个命令,启动6台redis服务器,并用ps -aux|grep redis查看redis服务的启动情况。

    root 20927 0.0 0.1 153888 2884 ? Ssl 10:42 0:00 ./redis-server 127.0.0.1:6379 [cluster]
    root 21111 0.1 0.1 153888 2880 ? Rsl 10:44 0:00 ./redis-server 127.0.0.1:9001 [cluster]
    root 21225 0.1 0.1 153888 2900 ? Rsl 10:45 0:00 ./redis-server 127.0.0.1:9002 [cluster]
    root 21323 0.0 0.1 153888 2888 ? Ssl 10:46 0:00 ./redis-server 127.0.0.1:9003 [cluster]
    root 21369 0.0 0.1 153888 2884 ? Rsl 10:46 0:00 ./redis-server 127.0.0.1:9004 [cluster]
    root 21417 0.0 0.1 153888 2888 ? Rsl 10:46 0:00 ./redis-server 127.0.0.1:9005 [cluster]
    root 21457 0.0 0.1 153888 2888 ? Ssl 10:46 0:00 ./redis-server 127.0.0.1:9006 [cluster]
    root 21511 0.0 0.0 112716 940 pts/1 R+ 10:47 0:00 grep --color=auto redis

    服务的启动情况如上面所示,表名服务已经启动。

    因为我用的5.0以上的redis,所以采用下面的方式把上述6台机器加入到一个集群中:

    redis-cli --cluster create 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005 127.0.0.1:9006 --cluster-replicas 1

    然后用redis-cli连接到集群中的任意一台机器:

    ./redis-cli -c -h 127.0.0.1 -p 9002,并用cluster nodes 查询集群节点:

    127.0.0.1:9002> cluster nodes
    98450c9595407666abedd8f75e3c51620ce18c6d 127.0.0.1:9005@19005 slave 7bbc29dbe82ae9fe427a8116ace2c1c838a91808 0 1553828724441 5 connected
    7bbc29dbe82ae9fe427a8116ace2c1c838a91808 127.0.0.1:9001@19001 master - 0 1553828723437 1 connected 0-5460
    22b89c572209a6ea974763f02952ae80e45336d5 127.0.0.1:9003@19003 master - 0 1553828721428 3 connected 10923-16383
    1fd885060f4333afe6198e3aec0eaab6c74ce4e0 127.0.0.1:9006@19006 slave b13147c4d1fd92379cd329904943b937108fab8c 0 1553828722433 6 connected
    0ff92f832c69498c4c7fb74fcfdd5d7919c9460f 127.0.0.1:9004@19004 slave 22b89c572209a6ea974763f02952ae80e45336d5 0 1553828723000 4 connected
    b13147c4d1fd92379cd329904943b937108fab8c 127.0.0.1:9002@19002 myself,master - 0 1553828722000 2 connected 5461-10922

  • 相关阅读:
    golang删除数组某个元素
    golang用通道实现信号量,控制并发个数
    什么是ScaleIO中的forwards rebuild和backwards rebuild?
    SQL Server中的database checkpoint
    如何将thick provision lazy zeroed的VMDK文件转换为thick provision eager zeroed?
    LoadTestAgentResultsLateException in VS2010
    SQL Server Instance无法启动了, 因为TempDB所在的分区没有了, 怎么办?
    VMware vCenter中, 如何辩认虚机上Raw Device Mapping过了的一块物理磁盘?
    SQL Server AlwaysOn Setup Step-By-Step Guide
    TPC-E在populate测试Database时需要注意的一些事项
  • 原文地址:https://www.cnblogs.com/kmsfan/p/10619288.html
Copyright © 2011-2022 走看看