-
Notifications
You must be signed in to change notification settings - Fork 13.2k
Closed
Milestone
Description
System Environment
- Nacos version:0.2.1
- Container : docker
- docker-config:
version: "2"
services:
nacos1:
image: paderlol/nacos:0.2.1
container_name: nacos1
volumes:
- $HOME/Downloads/nacos/logs:/home/nacos/logs
ports:
- "8848:8848"
- "9555:9555"
environment:
- NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848
- DB_HOST_ZERO=mysql1
- DB_NAME_ZERO=nacos_devtest
- DB_PORT_ZERO=3306
- DB_HOST_ONE=mysql2
- DB_NAME_ONE=nacos_devtest
- DB_PORT_ONE=3306
- DB_USER=nacos
- DB_PASSWORD=nacos
restart: always
depends_on:
- mysql1
- mysql2
nacos2:
image: paderlol/nacos:0.2.1
container_name: nacos2
ports:
- "8849:8848"
environment:
- NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848
- DB_HOST_ZERO=mysql1
- DB_NAME_ZERO=nacos_devtest
- DB_PORT_ZERO=3306
- DB_HOST_ONE=mysql2
- DB_NAME_ONE=nacos_devtest
- DB_PORT_ONE=3306
- DB_USER=nacos
- DB_PASSWORD=nacos
restart: always
depends_on:
- mysql1
- mysql2
nacos3:
image: paderlol/nacos:0.2.1
container_name: nacos3
volumes:
- $HOME/Downloads/nacos/mysql:/var/lib/mysql
ports:
- "8850:8848"
environment:
- NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848
- DB_HOST_ZERO=mysql1
- DB_NAME_ZERO=nacos_devtest
- DB_PORT_ZERO=3306
- DB_HOST_ONE=mysql2
- DB_NAME_ONE=nacos_devtest
- DB_PORT_ONE=3306
- DB_USER=nacos
- DB_PASSWORD=nacos
restart: always
depends_on:
- mysql1
- mysql2
mysql1:
image: mysql:5.7
container_name: mysql1
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=nacos_devtest
- MYSQL_USER=nacos
- MYSQL_PASSWORD=nacos
volumes:
- $HOME/Downloads/nacos/mysql:/var/lib/mysql
ports:
- "3306:3306"
mysql2:
image: mysql:5.7
container_name: mysql2
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=nacos_devtest
- MYSQL_USER=nacos
- MYSQL_PASSWORD=nacos
ports:
- "3305:3306"Error Log
java.lang.IllegalArgumentException: ip: 172.19.0.6:8848 is not in serverlist
at com.alibaba.nacos.naming.core.DistroMapper.onReceiveServerStatus(DistroMapper.java:218)
at com.alibaba.nacos.naming.core.DistroMapper$ServerStatusReporter.run(DistroMapper.java:448)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2018-10-30 19:55:51,349 ERROR SERVER-STATUS
java.lang.IllegalArgumentException: ip: 172.19.0.6:8848 is not in serverlist
at com.alibaba.nacos.naming.core.DistroMapper.onReceiveServerStatus(DistroMapper.java:218)
at com.alibaba.nacos.naming.core.DistroMapper$ServerStatusReporter.run(DistroMapper.java:448)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2018-10-30 19:56:06,332 ERROR SERVER-STATUS
java.lang.IllegalArgumentException: ip: 172.19.0.6:8848 is not in serverlist
at com.alibaba.nacos.naming.core.DistroMapper.onReceiveServerStatus(DistroMapper.java:218)
at com.alibaba.nacos.naming.core.DistroMapper$ServerStatusReporter.run(DistroMapper.java:448)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2018-10-30 19:56:21,335 WARN Can not acquire server list
2018-10-30 19:56:21,337 INFO SERVER-LIST
2018-10-30 19:56:21,339 ERROR SERVER-STATUS
java.lang.IllegalArgumentException: ip: 172.19.0.6:8848 is not in serverlist
at com.alibaba.nacos.naming.core.DistroMapper.onReceiveServerStatus(DistroMapper.java:218)
at com.alibaba.nacos.naming.core.DistroMapper$ServerStatusReporter.run(DistroMapper.java:448)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2018-10-30 19:57:12,066 WARN Can not acquire server list
Code Analysis
if (!NamingProxy.getServers().contains(server.ip)) {
throw new IllegalArgumentException("ip: " + server.ip + " is not in serverlist");
}Part of the code fragment, The value in NamingProxy.getServers() was a collection of hostname: port, but the value in server.ip was ip: port, so it is always possible to fail anyway