阿里云上面装redis集群基本被虐死,主要问题就是私有IP和公有IP。

下面分享成功搭建的步骤:

两台测试服务器,分别为:127.0.0.1,127.0.0.2.每分服务器有3个节点。

1.127.0.0.1 创建节点

在目录/opt/redis-4.0.2 mkdir cluster

mkdir 6370 6371 6372

2.修改redis.conf

bind 0.0.0.0改为#bind 0.0.0.0

dir ./ 改为dir /opt/redis-4.0.2/cluster/data

daemonize yes //redis后台运行
cluster-enabled yes //开启集群 把注释#去掉
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
protected-mode no //(需要不同服务器的节点连通,这个就要设置为 no)

#bind 127.0.0.1 此行一定要注释掉 不然用公有IP创建集群会失败

做集群的时候以下两行一定要注释掉

# unixsocket /tmp/redis.sock
# unixsocketperm 700

复制配置文件

cp /opt/redis-4.0.2/redis.conf ./redis_cluster/6370/
cp /opt/redis-4.0.2/redis.conf ./redis_cluster/6371/
cp /opt/redis-4.0.2/redis.conf ./redis_cluster/6372/

# 根据不同端口需要设置的地方
port 6370
logfile /opt/redis-4.0.2/logs/redis_6370.log
dbfilename dump_6370.rdb
appendfilename "appendonly_6370.aof"
cluster-config-file nodes_6370.conf //集群的配置

第二个就可以使用命令整体替换

:%s/6370/6371/g

3.启动

./redis-server /opt/redis-4.0.2/cluster/6370/redis.conf &
./redis-server /opt/redis-4.0.2/cluster/6371/redis.conf &
./redis-server /opt/redis-4.0.2/cluster/6372/redis.conf &

4.127.0.0.2和127.0.0.1创建除端口之外都相同

ps -ef | grep redis   #查看是否启动成功

netstat -tnlp | grep redis #可以看到redis监听端口

5.创建集群

安装rubygems

yum install rubygems[root@insure src]# gem install redis -v 3.3.3
Fetching: redis-3.3.3.gem (100%)
Successfully installed redis-3.3.3
Parsing documentation for redis-3.3.3
Installing ri documentation for redis-3.3.3
1 gem installed

----------集群创建------------------

创建集群 一定要用公有IP,或者jediscluster程序连接会报超时

执行./redis-trib.rb  create  --replicas  1  *.16.120.*:6370 *.16.120.*:6371 *.16.120.*:6372 *.16.120.*:6373  *.16.120.*:6374  *.16.120.*:6375

测试连接

可以在*.*.*.189 连接看一下:

./redis-cli -h *.*.*.190 -p 6373

关键点:

redis.conf  中requirepass 设置密码

find / -name client.rb

/usr/local/rvm/gems/ruby-2.4.1/gems/redis-4.0.3/lib/redis 修改client.rb password改成设置的密码

:host => "172.16.*.*",  #改成公有IP
:port => 6373,
:path => nil,
:timeout => 5.0,
:password => '******',

主从如果连接不成功

masterauth 设置你的密码

集群
cluster info :打印集群的信息
cluster nodes :列出集群当前已知的所有节点( node),以及这些节点的相关信息。

java代码

1. 引用文件

<!-- 添加jedis客户端 --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency>

2. 配置文件

spring.redis.cluster.nodes=101.*.8.8:6370,101.*.8.8:6371,101.*.8.8:6372,101.*.8.8:6373,101.*.8.8:6374,101.*.8.8:6375
spring.redis.cluster.max-redirects=8
spring.redis.password=P11111111111
spring.redis.connection_timeout=2000
spring.redis.timeout=2000
spring.redis.jedis.pool.max-total=300
spring.redis.jedis.pool.max-wait=-1
spring.redis.jedis.pool.max-idle=100
spring.redis.jedis.pool.min-idle=30

3.代码

@Configuration
@EnableCaching
public class RedisClusterConfiguration extends CachingConfigurerSupport {private static Logger logger = LoggerFactory.getLogger(RedisClusterConfiguration.class);@Value("${spring.redis.cluster.nodes}")private String clusterNodes;@Value("${spring.redis.connection_timeout}")private int connectionTimeout;@Value("${spring.redis.timeout}")private int timeout;@Value("${spring.redis.jedis.pool.max-idle}")private int maxIdle;@Value("${spring.redis.jedis.pool.min-idle}")private int minIdle;@Value("${spring.redis.jedis.pool.max-wait}")private long maxWaitMillis;@Value("${spring.redis.password}")private String password;@Value("${spring.redis.jedis.pool.max-total}")private int maxTotal;@Value("${redis.max_attempts:10}")private int maxAttempts;@Beanpublic JedisCluster redisPoolFactory() {String [] serverArray = clusterNodes.split(",");Set<HostAndPort> nodes = new HashSet<HostAndPort>();for (String ipPort:serverArray){String [] ipPortPair=ipPort.split(":");nodes.add(new HostAndPort(ipPortPair[0].trim(),Integer.valueOf(ipPortPair[1].trim())));}//创建configGenericObjectPoolConfig pool = new GenericObjectPoolConfig();pool.setMaxTotal(maxTotal);pool.setMinIdle(minIdle);pool.setMaxIdle(maxIdle);pool.setMaxWaitMillis(maxWaitMillis);//通过config创建集群实例JedisCluster jedisCluster =new JedisCluster(nodes, connectionTimeout, timeout, maxAttempts, password, pool);logger.info("JedisPool注入成功");jedisCluster.set("sys","testredis");String str = jedisCluster.get("sys");logger.info("获取redis里面的值:" + str);return jedisCluster;}
}

转载于:https://www.cnblogs.com/mutong1228/p/10060482.html

redis集群搭建及连接(阿里云)相关推荐

  1. 云服务器 Redis 集群搭建

    云服务器 Redis 集群搭建 主从复制架构搭建 集群架构介绍 环境准备 安装 配置及启动 测试 Sentinel (哨兵)架构搭建 集群架构介绍 环境准备 Sentinel 配置 Sentinel ...

  2. Redis集群搭建及java连接redis

    Redis集群搭建及java连接redis Redis集群分为三种: 1.主从关系模式2.Sentinel哨兵关系模式3.Cluster去中心化模式 1.主从关系模式 1.1.什么是主从模式? (1) ...

  3. redis 集群搭建_一文轻松搞懂redis集群原理及搭建与使用

    转载:https://juejin.im/post/5ad54d76f265da23970759d3 作者:SnailClimb 这里总结一下redis集群的搭建以便日后所需同时也希望能对你有所帮助. ...

  4. redis集群搭建及设置账户(转)

    Redis集群搭建以及为集群设置密码 介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. ...

  5. Redis集群搭建-韩国庆

    认真一步一步搭建下来,就可以成功.... Redis-cluster集群架构讲解 redis集群专业名词称之为Redis-cluster,redis集群是从3.0版本以后才有的概念,也就是说在3.0之 ...

  6. redis集群搭建踩坑笔记

    推荐参考教程:https://blog.csdn.net/pucao_cug/article/details/69250101 错误: from /usr/lib/ruby/2.3.0/rubygem ...

  7. 系统学习redis之二——redis集群搭建

    redis单点部署: 安装命令: # cd /usr/local/ # wget http://download.redis.io/releases/redis-4.0.1.tar.gz #下载安装包 ...

  8. 转:Redis 集群搭建详细指南

    转自: https://www.cnblogs.com/mafly/p/redis_cluster.html [README] 非常棒的一篇文章,感谢作者的分享: 先有鸡还是先有蛋? 最近有朋友问了一 ...

  9. (六)Redis集群搭建

    1. 原理 redis cluster在设计的时候,就考虑到了去中心化,去中间件,也就是说,集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各自的数据和整个集群的状态.每个节点都和其他所有节 ...

最新文章

  1. 机器学习中的算法(4.2):SVM----针对线性可分问题理解
  2. memcached ---- 学习笔记
  3. 支付宝支付 订单参数异常,请重新下单后再发起付款
  4. 群友:事务中的异常不也抛出了,为什么没catch到而回滚?
  5. Iphone控件大全
  6. 用开源的人工标注数据来增强RoFormer-Sim
  7. 关于错误提示:此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决方案...
  8. android应用 百度地图,Android学习之百度地图API的应用(一)
  9. 择天记手游的服务器维护世界,3月8日停服更新公告
  10. 删除windows7中的“兼容性疑难解答”右键菜单
  11. A star算法优化二
  12. easyui-super-theme后台模板
  13. 怎样看win10是不是永久激活的?
  14. 编码神器 Sublime Text 包管理工具及扩展大全
  15. HTML5+JS调用摄像头
  16. 深度学习-图解卷积运算
  17. 《码出高效-JAVA开发手册》
  18. node2vec简单总结
  19. antd vue表单验证_解决antd 表单设置默认值initialValue后验证失效的问题
  20. Linux下 Android adb驱动

热门文章

  1. SQL日期相关处理——日期相加减
  2. 复数计算和向量计算的区别
  3. windows php open_basedir,PHP open_basedir的一些问题
  4. 使用O2OA二次开发搭建企业办公平台(十二)流程开发篇:报销审批流程需求和应用创建
  5. Oracle RMAN备份相关信息查询
  6. elasticsearch-json
  7. 【转】四款经典3.7v锂电池充电电路图详解
  8. Hbase学习记录1
  9. JPQL和SQL的比较
  10. opencv3之截取静态图片的脸部区域