6.1 Redis集群搭建

1. 执行 mkdir redis-cluster 然后在这个目录下创建redis7001、redis7002、redis7003、redis7004、redis7005、redis7006,6个文件夹。模拟6个 redis 节点

6. Redis-集群搭建(一)_端口号

 

2. 把 redis.conf 复制到 /opt/redis-cluster/redis700*目录下面。

cp redis.conf /opt/redis-cluster/redis7001

 

3. 配置 redis.conf 文件

daemonize yes

6. Redis-集群搭建(一)_端口号_02

port 700*

6. Redis-集群搭建(一)_ruby_03

bind 192.168.136.175 (绑定本机的ip)

6. Redis-集群搭建(一)_redis集群_04

dir "/opt/redis-cluster/redis7001"

6. Redis-集群搭建(一)_Redis_05

cluster-enabled yes

6. Redis-集群搭建(一)_redis集群_06

cluster-config-file nodes-700*.conf

6. Redis-集群搭建(一)_端口号_07

cluster-node-timeout 15000

6. Redis-集群搭建(一)_端口号_08

appendonly yes

6. Redis-集群搭建(一)_端口号_09

 

4. 由于安装 redis 集群需要 ruby 命令,安装 ruby 命令

yum install centos-release-scl-rh

yum install rh-ruby23  -y

scl  enable  rh-ruby23 bash

6. Redis-集群搭建(一)_ruby_10

yum install rubygems

gem install redis

6. Redis-集群搭建(一)_ruby_11

 

5. 启动 redis

6. Redis-集群搭建(一)_ruby_12

接着进入 /opt/redis-3.0.0/src 目录下

./redis-trib.rb create --replicas 1 192.168.136.175:7001 192.168.136.175:7003 192.168.136.175:7005 192.168.136.175:7002 192.168.136.175:7004 192.168.136.175:7006

6. Redis-集群搭建(一)_Redis_13

6. Redis-集群搭建(一)_redis集群_14

集群搭建完成!!

进入 redis 中测试

/opt/redis/bin/redis-cli -c -h 192.168.136.175 -p 7001 (-c 表示集群,-h ip, -p端口号)

6. Redis-集群搭建(一)_redis集群_15

 

 

6.1.1 查看集群的状态信息

1. 查看集群的节点

cluster nodes

6. Redis-集群搭建(一)_redis_16

 

2. 查看节点信息

cluster info

6. Redis-集群搭建(一)_ruby_17

 

 

6.2 java 连接 redis 集群
public class TestClusterRedis {
	public static void main(String[] args) {
	    Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
	    jedisClusterNode.add(new HostAndPort("192.168.136.175", 7001));
	    jedisClusterNode.add(new HostAndPort("192.168.136.175", 7002));
	    jedisClusterNode.add(new HostAndPort("192.168.136.175", 7003));
	    jedisClusterNode.add(new HostAndPort("192.168.136.175", 7004));
	    jedisClusterNode.add(new HostAndPort("192.168.136.175", 7005));
	    jedisClusterNode.add(new HostAndPort("192.168.136.175", 7006));
	    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();
	}
}

6. Redis-集群搭建(一)_ruby_18