redis配置集群

redis配置集群


配置环境

环境centos 6.6 redis 3.0.2

为了方便,直接在一个文件夹下面复制三份redis的环境,后缀分别表示监听的端口号

源码编译,进入src文件夹,make test,看看test能不能通过,然后make

配置文件的核心配置,端口分别是10000,10001,10002

    port 10000
    cluster-enabled yes
    cluster-config-file nodes.conf
    cluster-node-timeout 15000
    appendonly yes

分别运行

    ./redis-server ../redis.conf 

配置集群

     ./redis-trib.rb create --replicas 0 127.0.0.1:10000 127.0.0.1:10001 127.0.0.1:10002

ruby环境
报错!!!

必须要有ruby环境

    yum install ruby

安装完毕,还是报错

    ./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
        from ./redis-trib.rb:24

安装rubygems

yum install rubygems

…继续报错

    /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)
        from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from ./redis-trib.rb:25

安装redis和ruby的接口

    gem install redis

安装成功,本地测试

集群配置成功

集群配置成功

使用一个客户端来链接10000端口的服务器,设置一些key-value

    redis-cli -c -p 10000

可以看到自动重定向到10002端口

    set weixuan fengtang
    -> Redirected to slot [12705] located at 127.0.0.1:10002
    OK
    127.0.0.1:10002> set zhangsan Mr.Zhang
    OK
    127.0.0.1:10002> 

测试

使用另一个客户端来链接10001端口的服务器,然后获取数据

    redis-cli -c -p 10001
    127.0.0.1:10001> get weixuan
    -> Redirected to slot [12705] located at 127.0.0.1:10002
    "fengtang"

可以看到重定向到10002

测试

增加节点

创建一个节点环境,修改端口为10003

启动这个node

    ./redis-server ../redis.conf

添加节点

    ./redis-trib.rb add-node 127.0.0.1:10003 127.0.0.1:10000

第一个参数是我们刚才启动的新实例,第二个参数是集群中已有的节点。

    ./redis-trib.rb add-node 127.0.0.1:10003 127.0.0.1:10000 >>> Adding node 127.0.0.1:10003          to cluster 127.0.0.1:10000
    Connecting to node 127.0.0.1:10000: OK
    Connecting to node 127.0.0.1:10001: OK
    Connecting to node 127.0.0.1:10002: OK
    >>> Performing Cluster Check (using node 127.0.0.1:10000)
    M: b4a5871c0344b54e8e767af80bd6594bae8b9228 127.0.0.1:10000
       slots:0-5460 (5461 slots) master
       0 additional replica(s)
    M: c51a32d82bf42017f2ad50907f816678293f520e 127.0.0.1:10001
       slots:5461-10922 (5462 slots) master
       0 additional replica(s)
    M: a03226abfa843c524602afe2e22ca8c68b023e0a 127.0.0.1:10002
       slots:10923-16383 (5461 slots) master
       0 additional replica(s)
    [OK] All nodes agree about slots configuration.
    >>> Check for open slots...
    >>> Check slots coverage...
    [OK] All 16384 slots covered.
    Connecting to node 127.0.0.1:10003: OK
    >>> Send CLUSTER MEET to node 127.0.0.1:10003 to make it join the cluster.
    [OK] New node added correctly.

添加成功

检查一下新节点是否已经加入

    [root@java_yf_120 src]# redis-cli -c -p 10000
    127.0.0.1:10000> cluster nodes
    532634b9563dce5d5165b9c09d391da5fc73cdf9 127.0.0.1:10003 master - 0 1438165131300 0 connected
    c51a32d82bf42017f2ad50907f816678293f520e 127.0.0.1:10001 master - 0 1438165130298 2 connected     5461-10922
    b4a5871c0344b54e8e767af80bd6594bae8b9228 127.0.0.1:10000 myself,master - 0 0 1 connected      0-5460
    a03226abfa843c524602afe2e22ca8c68b023e0a 127.0.0.1:10002 master - 0 1438165130799 3 connected 10923-16383
    127.0.0.1:10000> 

newNode

可以看到添加成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章