반응형
개요
NGrinder Controller를 실행할 때, 아래와 같은 오류가 발생했다. local IP address인 '218.38.137.27'에 접근할 수 없다고 한다. 모르는 IP라서 찾아보니 218.38.137.*은 SKB에서 제공하는 IP였다. 현재 ISP로 SKB와 SKB의 DNS 서버를 사용하는데 관련이 있다고 생각했다.
Caused by: org.ngrinder.common.exception.NGrinderRuntimeException: Can not check available ports because given local IP address '218.38.137.27' is unreachable. Please check the `/etc/hosts` file or manually specify the local IP address in `${NGRINDER_HOME}/system.conf`.
at org.ngrinder.common.util.ExceptionUtils.processException(ExceptionUtils.java:38)
at net.grinder.util.NetworkUtils.getAvailablePorts(NetworkUtils.java:227)
at org.ngrinder.perftest.service.ConsoleManager.init(ConsoleManager.java:76)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.ngrinder.perftest.service.PerfTestServiceConfig.perfTestService(PerfTestServiceConfig.java:48)
at org.ngrinder.perftest.service.PerfTestServiceConfig$$EnhancerBySpringCGLIB$$7d7c4178.CGLIB$perfTestService$0(<generated>)
at org.ngrinder.perftest.service.PerfTestServiceConfig$$EnhancerBySpringCGLIB$$7d7c4178$$FastClassBySpringCGLIB$$2eccff6f.invoke(<generated>)
at org.ngrinder.perftest.service.PerfTestServiceConfig$$EnhancerBySpringCGLIB$$7d7c4178.perfTestService(<generated>)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.ngrinder.starter.NGrinderControllerStarter.main(NGrinderControllerStarter.java:245)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
해결책
설정 파일의 host 변경하기
오류 메시지가 안내해준대로 .ngrinder 폴더의 system.conf 파일에 host를 localhost로 변경했다.
Agent는 Controller에 연결할 수 있어야 하므로 .ngrinder_agent 폴더의 agent.conf 파일에서 host를 동일하게 localhost로 변경했다.
DNS 서버 변경하기
DNS 서버를 SKB의 DNS → 구글의 DNS 서버로 변경하고, host 설정은 다시 주석 처리했다. DNS 서버를 변경하니까 오류 없이 잘 작동한다.
주의사항
host를 변경할 때, Controller와 Agent가 같은 네트워크에 있다면 내부 IP를 사용해도 되지만, 외부라면 접근 가능한 IP를 사용하자.
그리고 메인 페이지에서 Q&A 같은 데이터를 불러오는데 오류가 발생했다. host를 localhost로 설정한 것 때문으로 추측된다.
DNS 서버를 변경한다면 오류는 발생하지 않는다.
반응형
'Trouble shooting' 카테고리의 다른 글
[Docker] "sw_vers": executable file not found in $PATH 문제 해결 (0) | 2024.12.31 |
---|---|
[문제 해결] Entity 3개가 1:N-1:N 관계일 때, 최상위 Entity와 연관된 엔티티 조회할 때 N+1 문제 해결 (0) | 2024.01.03 |
[Vuex] 새로고침 했을 때 store 초기화 문제 해결 (0) | 2023.10.10 |