reids3 集群配置

1首先安装tcl

wgethttp://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz 

sudo tar xzvf tcl8.6.1-src.tar.gz

cd tcl8.6.1/unix/ 

sudo ./configure 

sudo make 

sudo make install  

要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下

127.0.0.1:7000

127.0.0.1:7001

127.0.0.1:7002

127.0.0.1:7003

127.0.0.1:7004

127.0.0.1:7005

2 安装redis

tar -zxvf redis.tar.gz

cd redis

make

make install

3 创建集群需要的目录

在reids目录创建

mkdir cluster

cd cluster

mkdir 7000

mkdir 7001

mkdir 7002

mkdir 7003

mkdir 7004

mkdir 7005

4 拷贝redis安装目录下的redis.conf并改配置文件中的下面选项

port 7000

daemonize yes

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

appendonly yes

修改完redis.conf配置文件中的这些配置项之后把这个配置文件分别拷贝到redis/cluster下的7000/7001/7002/7003/7004/7005目录下面

5 启动redis

先进入redis目录

./src/ redis-server cluster/7000/redis.conf

./src/ redis-server cluster/7001/redis.conf

./src/ redis-server cluster/7002/redis.conf

./src/ redis-server cluster/7003/redis.conf

./src/ redis-server cluster/7004/redis.conf

./src/ redis-server cluster/7005/redis.conf

6 安装ruby

yum install ruby

yum install rubygems

gem install redis

7 启动

./src/redis-trib.rb create --replicas 1127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004127.0.0.1:7005

replicas 1 表示每个主节点下有一个从节点

8 测试

使用redis-cli命令进入集群环境

redis-cli -c -p 7000

9 Java测试

java代码

package com.cct.jedis;

 

import java.util.HashSet;

import java.util.Set;

 

import redis.clients.jedis.HostAndPort;

import redis.clients.jedis.JedisCluster;

 

publicclass App

{

    publicstaticvoid main( String[] args )

    {

    Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();

    jedisClusterNodes.add(new HostAndPort("192.168.1.54", 7000));

    jedisClusterNodes.add(new HostAndPort("192.168.1.54", 7001));

    jedisClusterNodes.add(new HostAndPort("192.168.1.54", 7002));

    jedisClusterNodes.add(new HostAndPort("192.168.1.54", 7003));

    jedisClusterNodes.add(new HostAndPort("192.168.1.54", 7004));

    jedisClusterNodes.add(new HostAndPort("192.168.1.54", 7005));

    JedisCluster jc = new JedisCluster(jedisClusterNodes,5000,1000);

    jc.set("foo", "bar");

    String value = jc.get("foo");

    System.out.println("foo is  "+value);

    }

}

Pom.xml

<dependency>

            <groupId>redis.clients</groupId>

            <artifactId>jedis</artifactId>

            <version>2.7.2</version>

        </dependency>

猜你喜欢

转载自blog.csdn.net/yangyang2183/article/details/51994796