您的位置:首页 > 数据库 > Redis

redis3.0集群搭建

2017-05-16 10:59 363 查看
1. 在m01 m02 m03上创建7001,7002   7003,7004  7005,7007文件夹

2. 将redis.conf 拷贝到7001文件夹

3. vi redis.conf

     3.1)修改绑定地址及端口号

     3.2)dir  指定数据存储目录 (每个要指定不同的目录)

     3.3)cluster-enabled  yes

     3.4)cluster-config-file nodes700*.conf(启动自动生成)

     3.5)cluster-node-timeout  5000

     3.6)appendonly   yes

4. 其余的配置文件做相应改变

5. 安装ruby,因为redis集群操作脚本用ruby写的

yum install ruby 

yum install rubygems

6. 依次启动各个redis节点

7. 使用./redis-trib.db  create  --replicas 1 xxx:7001 xxx:7002  xxx:7003  xxx:7004  xxx:7005  xxx:7006 

(--replicas 1  表示主节点和从节点的比例为1   即3主3从)

8.登录  redis-cli   -c -h xxx -p 7001 

9查看集群信息

xxx:7001>cluster  nodes

package bhz.redis01;

import java.util.HashSet;

import java.util.Set;

import redis.clients.jedis.HostAndPort;

import redis.clients.jedis.JedisCluster;

import redis.clients.jedis.JedisPoolConfig;

public class TestClusterRedis {

public static void main(String[] args) {
   
   Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
   jedisClusterNode.add(new HostAndPort("192.168.1.171", 7001));
   jedisClusterNode.add(new HostAndPort("192.168.1.171", 7002));
   jedisClusterNode.add(new HostAndPort("192.168.1.171", 7003));
   jedisClusterNode.add(new HostAndPort("192.168.1.171", 7004));
   jedisClusterNode.add(new HostAndPort("192.168.1.171", 7005));
   jedisClusterNode.add(new HostAndPort("192.168.1.171", 7006));
   //GenericObjectPoolConfig goConfig = new GenericObjectPoolConfig();
   //JedisCluster jc = new JedisCluster(jedisClusterNode,2000,100, goConfig);
   JedisPoolConfig cfg = new JedisPoolConfig();
   cfg.setMaxTotal(100);
   cfg.setMaxIdle(20);
   cfg.setMaxWaitMillis(-1);
   cfg.setTestOnBorrow(true); 
   JedisCluster jc = new JedisCluster(jedisClusterNode,6000,1000,cfg);   
   
   System.out.println(jc.set("age","20"));
   System.out.println(jc.set("sex","男"));
   System.out.println(jc.get("name"));
   System.out.println(jc.get("name"));
   System.out.println(jc.get("name"));
   System.out.println(jc.get("name"));
   System.out.println(jc.get("name"));
   System.out.println(jc.get("name"));
   System.out.println(jc.get("name"));
   System.out.println(jc.get("name"));
   System.out.println(jc.get("age"));
   System.out.println(jc.get("sex"));
   jc.close();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: