내가 필요해서 내가 적는 블로그

JAVA 백엔드 개발자의 기록들

DEVOPS

org.apache.ignite.IgniteCheckedException: Failed to get SPI attributes. (해결, solved)

돌프 2021. 10. 13. 16:40
반응형

★ 결론적으로 아래 내용에 답은 있지만, 소스 수정은 방문자께서 하셔야 해결이 될 듯.

 

로컬테스트를 위해 ignite cache를 사용하는 모듈 기동시 아래와 같이 에러가 발생했다. 

기존엔 잘 됐음 ㅠㅠ

서버 기동시 ignite configuration에 의해 cache가 기동되는데, 해당 에러는 localhost IP를

ignite cahce SPI에 할당하지 못 한 것으로 보였다. 

org.apache.ignite.IgniteCheckedException: Failed to get SPI attributes.

Caused by: org.apache.ignite.spi.IgniteSpiException: 

Failed to resolve local host to addresses: 0.0.0.0/0.0.0.0

Caused by: org.apache.ignite.IgniteCheckedException: 

No network addresses found (is networking enabled?).

 

[환경]

- Maven 프로젝트, ignite 1.6.0 version

 

[try]

cache 기동시 windows에서 IP를 받아올 때, IPv6로 받아와서 IP address 셋팅이 되지 않는 것으로 판단함.

(결과적으로 틀림)

 

1. 연결된 이더넷 옵션 변경, 인터넷 프로토콜 버전 6(TCP/IPv6) 체크 해제

 

2. 톰캣 기동시 Open launch configuration 에서 IPv4만 사용하도록 -Djava.net.preferIPv4Stack=true 옵션 값을 할당

 

위의 조치를 하였지만 에러 로그는 변하지 않았다. 

 

 

★ 해결방법 (solved)

 

1. TcpCommunicationSpi 객체에 local IP 셋팅

- commSpi.setLocalAddress("127.0.0.1"); 

 

2. TcpDiscoverySpi 객체에 local IP 셋팅

- spi.setLocalAddress("127.0.0.1");

 

ignite 관련 클래스에 객체를 생성해서 각종 정보를 셋팅하는 부분이 있었고 선배님의 주석과 셋팅을 발견하여서

참고 하였다. 당연히 local test용이며, 운영서버에 반영하는 소스는 달라야 한다.

끄읕.

 

 

PS. 

local IP 셋팅전 commSpi 와 spi 객체에 IP Address를 꺼내 봤는데 null 이네 @.@

 

Windows 10 업데이트 이전에 ignite에 IP Address 미설정시 기본적으로 루프백 IP를 설정하게 되어 

프로젝트 기동이 잘 되는것 같았지만, 

Windows 10 업데이트 이후 해당 객체에 기본 IP셋팅을 못해주는것 같은 느낌. 

 

아시는분은 댓글좀..

 

 

 

본문 내용이 도움이 되셨다면, 아래의 공감버튼을 눌러주세요. 

정보 공유를 위한 포스팅에 큰 힘이 됩니다. 

만약 틀린 정보가 있으면 댓글 달아주세요. 수정하도록 하겠습니다. 

읽어주셔서 감사합니다. 오늘도 좋은 하루 보내세요. 

반응형