1.集群节点规划
主节点192.168.236.130:7001 192.168.236.130:7002 192.168.236.130:7003
从节点192.168.236.130:7004 192.168.236.130:7005 192.168.236.130:7006
2.在/my/redis下创建redis-cluster目录
mkdir redis-cluster
3.在Redis-cluster目录下创建7001~7006文件夹
[root@localhost redis]# cd redis-cluster/
[root@localhost redis-cluster]# ll
total 0
[root@localhost redis-cluster]# mkdir 7001
[root@localhost redis-cluster]# mkdir 7002
[root@localhost redis-cluster]# mkdir 7003
[root@localhost redis-cluster]# mkdir 7004
[root@localhost redis-cluster]# mkdir 7005
[root@localhost redis-cluster]# mkdir 7006
[root@localhost redis-cluster]#
4.将redis安装目录bin下的文件拷贝到每个700X目录内,同时将redis源码目录src下的redis-trib.rb拷贝到redis-cluster目录下。
5.修改每个700X目录下的redis.conf配置文件
端口号分别设置为700x
打开集群开关
cluster-enabled yes
6.分别进入各个Redis启动服务
7.执行创建集群命令
./redis-trib.rb create --replicas 1 192.168.236.130:7001192.168.236.130:7002 192.168.236.130:7003 192.168.236.130:7004192.168.236.130:7005 192.168.236.130:7006
如果报一下错误请先安装ruby环境(管理员权限)
yum install ruby
再次执行上述集群命令报以下错误
安装rubygems(显示已安装)
安装Redis驱动
gem install redis
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable
find / -name rvm -print
source /usr/local/rvm/scripts/rvm
rvm list known
rvm install 2.4.1
参考
https://www.cnblogs.com/PatrickLiu/p/8454579.html
https://www.cnblogs.com/carryping/p/7447823.html
修改redis.cof 文件
单机版测试
@Test public void testJedisSingle() { Jedis jedis = new Jedis("192.168.150.128", 6379); jedis.set("xx", "bar"); String name = jedis.get("xx"); System.out.println(name); jedis.close(); }
集群版测试
@Test public void testJedisCluster() { JedisPoolConfig poolConfig = new JedisPoolConfig(); // 最大连接数 poolConfig.setMaxTotal(30); // 最大空闲数 poolConfig.setMaxIdle(1); // 最大允许等待时间,如果超过这个时间还未获取到连接,则会报JedisException异常: poolConfig.setMaxWaitMillis(10000); Set<HostAndPort> jedisClusterNode = new LinkedHashSet<HostAndPort>(); jedisClusterNode.add(new HostAndPort("192.168.150.128", 7001)); jedisClusterNode.add(new HostAndPort("192.168.150.128", 7002)); jedisClusterNode.add(new HostAndPort("192.168.150.128", 7003)); jedisClusterNode.add(new HostAndPort("192.168.150.128", 7004)); jedisClusterNode.add(new HostAndPort("192.168.150.128", 7005)); jedisClusterNode.add(new HostAndPort("192.168.150.128", 7006)); JedisCluster cluster = new JedisCluster(jedisClusterNode, poolConfig); cluster.set("age", "18"); System.out.println(cluster.get("age")); try { cluster.close(); } catch (IOException e) { e.printStackTrace(); } }
结果