解决方案
- 解决方案一
 
解决方案一
① 概念介绍
公网ip:就是任意两台连接了互联网的电脑可以互相ping ip,能够通的ip
 
内网ip:只是在内网中使用无法与外网连接的ip
 
②问题背景
在腾讯云上搭建的一个redis集群,集群启动后
 
 可以看到启动节点对应的集群中的ip是内网ip10.0.8.6
 正是这个问题造成了上诉问题。
③造成问题原因
在搭建集群的过程中.conf配置文件中的一个属性cluster-config-file nodes-9001.conf,所对应的文件nodes-9001.conf,它是在创建集群中生成的,路径是和启动集群的配置文件是同一位置
 
 打开其中一个文件,可以其中一个对应的节点ip是内网ip10.0.8.6
 
 正是这个原因造成了,获取不到集群ip节点
④解决方案
-  
将集群节点kill掉
找到进程号
ps -ef|grep redis将对应的节点进程号kill掉
kill -9 3839 3845 3874 4018 4120 4194
 -  
更改
nodes-9001.conf文件中内网ip10.0.8.6值

这里因为是集群可以将所有node文件都取出来,在外面更改完成后,在放回到此目录下 -  
重新启动redis服务
redis-server /usr/local/redis-7.0.2/myredis-config/redis9001.conf redis-server /usr/local/redis-7.0.2/myredis-config/redis9002.conf redis-server /usr/local/redis-7.0.2/myredis-config/redis9003.conf redis-server /usr/local/redis-7.0.2/myredis-config/redis9004.conf redis-server /usr/local/redis-7.0.2/myredis-config/redis9005.conf redis-server /usr/local/redis-7.0.2/myredis-config/redis9006.conf -  
检验redis集群启动是否正常
- 登录redis节点
 
redis-cli -c -p 9001如果redis配置了密码,需要输入
auth 密码
 
2. 查看Redis集群状况cluster nodes
可以看到已经没有内网ip在出现了 
⑤ 附
搭建redis集群中的配置文件
    <!-- redis集群配置 集群模式 -->
    <bean class="org.springframework.data.redis.connection.RedisClusterConfiguration" id="redisClusterConfiguration">
        <property name="maxRedirects" value="6"></property>
        <property name="clusterNodes">
            <set>
                <!--注意这里主从必须交替配置-->
                <!--例如43.138.78.17:9001 为master ,43.138.78.17:9006 是slave-->
                <bean class="org.springframework.data.redis.connection.RedisNode">
                    <constructor-arg name="host" value="43.138.78.17"></constructor-arg>
                    <constructor-arg name="port" value="9001"></constructor-arg>
                </bean>
                <bean class="org.springframework.data.redis.connection.RedisNode">
                    <constructor-arg name="host" value="43.138.78.17"></constructor-arg>
                    <constructor-arg name="port" value="9006"></constructor-arg>
                </bean>
                <bean class="org.springframework.data.redis.connection.RedisNode">
                    <constructor-arg name="host" value="43.138.78.17"></constructor-arg>
                    <constructor-arg name="port" value="9002"></constructor-arg>
                </bean>
                <bean class="org.springframework.data.redis.connection.RedisNode">
                    <constructor-arg name="host" value="43.138.78.17"></constructor-arg>
                    <constructor-arg name="port" value="9004"></constructor-arg>
                </bean>
                <bean class="org.springframework.data.redis.connection.RedisNode">
                    <constructor-arg name="host" value="43.138.78.17"></constructor-arg>
                    <constructor-arg name="port" value="9003"></constructor-arg>
                </bean>
                <bean class="org.springframework.data.redis.connection.RedisNode">
                    <constructor-arg name="host" value="43.138.78.17"></constructor-arg>
                    <constructor-arg name="port" value="9005"></constructor-arg>
                </bean>
            </set>
        </property>
    </bean>
    <!-- 配置Jedis连接池 -->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxTotal" value="1024" />
        <property name="maxIdle" value="200" />
        <property name="MaxWaitMillis" value="1000" />
        <property name="testOnBorrow" value="true" />
    </bean>
    <!-- jedis连接工厂 -->
    <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<!--        <property name="password" value="2wsx1qaz" />-->
        <property name="database" value="0" />
        <constructor-arg name="poolConfig" ref="jedisPoolConfig"/>
        <constructor-arg name="clusterConfig" ref="redisClusterConfiguration"/>
        <property name="timeout" value="5000" />
    </bean>
                














![[架构之路-118]-《软考-系统架构设计师》-软架构设计-11-可靠性相关设计](https://img-blog.csdnimg.cn/img_convert/67318a1bf19557e7f77cfb31ecae4a14.png)



