解决云服务器搭建redis集群, 域名解析成内网ip

比眉伴天荒 2022-12-23 03:17 163阅读 0赞

解决云服务器搭建redis集群, 域名解析成内网ip

今天在docker 中 搭建了redis集群, 然后发现跑项目的时候发现

  1. Caused by: io.netty.channel.ConnectTimeoutException: connection timed out:

经过检查 application.properties 中配置的域名, 被解析成了内网ip

image-20201121191748118

所以需要在 修改redis ip

我一开始 检查了集群发现

  1. 127.0.0.1:6379> CLUSTER NODES
  2. 624923f2d0ec9cc8355d28842f6316bb2eeb0401 172.17.0.11:6380@16380 master - 0 1605926522694 2 connected 5461-10922
  3. 83dffe8c84ca8c0f0e64a3117a3188d968aaed2f 172.17.0.11:6379@16379 myself,master - 0 1605926519000 1 connected 0-5460
  4. 6456bf3953c68746eb9ed7f6cc0eedd2d4cfd9f7 172.17.0.11:6381@16381 master - 0 1605926521693 3 connected 10923-16383
  5. 127.0.0.1:6379> redis-cli --cluster create 49.234.58.58:6379 49.234.58.58:6380 49.234.58.58:6381 --cluster-replicas 0

这些容器都是内网ip,然后 删除容器,重新创建

删除并停止容器的命令

  1. docker ps -aq
  2. 停止所有容器
  3. docker stop $(docker ps -aq)
  4. 停止单个容器
  5. docker stop 要停止的容器名
  6. 删除所有容器
  7. docker rm $(docker ps -aq)
  8. 删除单个容器
  9. docker rm 要删除的容器名
  10. 删除所有的镜像
  11. docker rmi $(docker images -q)

在删除了容器之后, 重新创建了之后,

  1. docker create --name redis-node01 --net host -v redis-node01:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-01.conf --port 6379
  2. docker create --name redis-node02 --net host -v redis-node02:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-02.conf --port 6380
  3. docker create --name redis-node03 --net host -v redis-node03:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-03.conf --port 6381

执行这句命令时,出现了这个问题

  1. redis-cli --cluster create 172.17.0.11:6379 172.17.0.11:6380 172.17.0.11:6381 --cluster-replicas 0

image-20201121192537802

使用redis-cli -c -h -p登录每个redis节点,删除节点备份文件, 配置文件等之后, 解决

  1. flushdb
  2. cluster reset

切换指定的redis端口

  1. redis-cli -p 6380

进入 redis-node01 节点

  1. docker exec -it redis-node01 /bin/bash

在重新创建了容器之后, 仍旧是解析成了内网ip,尝试修改配置文件,成功解决

​ 1.先关闭 容器-redis

  1. 2. 进入所有节点,依次改nodes.conf文件,把内网地址改成公网ip

image-20201121193230582

在docker容器中安装vim命令进行编辑文件
会报出bash: vi: command not found

执行apt-get update

然后再次执行apt-get install vim即可成功安装vim。

image-20201121193711921

  1. wq保存,重启容器

重新启动容器, 问题圆满解决

发表评论

表情:
评论列表 (有 0 条评论,163人围观)

还没有评论,来说两句吧...

相关阅读