(Jeus) The server adminServer initialization failed because of a stream closed error.
The server adminServer initialization failed because of a stream closed error.
해당 문제는 ubnutu(20.04.6 LTS) 환경에서 jeus(8.5)를 설치하여 adminServer를 실행하는 과정에서 발생한 문제입니다.
먼저 jeus가 설치된 디렉터리 하위 /bin 디렉터리에서 './startDomainAdminServer -u administrator -p 패스워드' command를 통해 adminServer를 실행하였습니다.
(이때 실행 명령어 중 -u, -p 에서 사용되는 아이디 및 패스워드는 jeus 설치 시 설정한 값을 사용합니다.)
그리고 다음과 같은 Exception이 발생하며 adminServer 실행에 실패했는데요.
Exception의 주원인은 'jeus.security.base.ServiceException: Creating the server socket network service failed: An unexpected exception occurred.' 부분으로 보이며 내용을 조금 더 찾아보기 위해 Exception이 발생한 위쪽 로그를 살펴보았습니다.
해당 로그는 adminServer 실행 명령을 입력한 후 Exception 발생 전까지의 로그 내용입니다.
로그를 살펴보면 JEUS server를 실행하는 과정에서 hostname ubuntu에 대한 ip로 '127.0.1.1'을 가져오는 것을 확인할 수 있는데요.
현재 해당 서버의 ip는 '192.168.64.10'이 할당되어 있기 때문에 hostname ubuntu에 대한 ip를 '127.0.1.1'에서 '192.168.64.10'으로 바꿔줘서 JEUS 서버 실행 시 해당 ip를 가져올 수 있도록 변경이 필요할 것 같습니다.
(예시 환경에서는 ubuntu 설치 시 hostname을 ubuntu로 설치하였습니다.)
***
'127.0.1.1'이라는 주소가 매핑되는 이유를 살펴보면, 특정 프로그램들은 hostname을 사용하여 네트워크 연결을 설정하기 때문에 이러한 프로그램들의 원활한 동작을 위해 호스트 이름이 로컬 주소에 매핑되어 있어야 하는데요.
Ubuntu와 같은 Linux 배포판에서는 일반적으로 hostname에 대한 기본 ip 주소를 127.0.1.1로 설정하고 있습니다.
hostname에 매핑되는 ip를 변경하는 작업은 '/etc/hosts' 파일을 통해 진행되는데요.
hosts 파일은 호스트 이름과 ip 주소를 매핑하는 데 사용되는 시스템 파일입니다.
해당 파일은 DNS 서버를 사용하지 않고 호스트 이름이 ip 주소로 변환될 때 사용되며, 예시 환경과 같은 소규모 로컬 네트워크 등에서는 DNS 서버 없이 hosts 파일만으로 호스트에 대한 네트워크를 식별할 수 있습니다.
# 127.0.1.1 ubuntu
192.168.64.10 ubuntu
수정 방법은 기존의 '127.0.1.1 ubuntu' 부분을 주석처리하고 해당 서버에 할당된 ip 주소인 '192.168.64.10 ubuntu' 내용을 추가로 입력해 주고 hosts 파일을 저장하면 됩니다.
* '/etc/hosts' 파일은 시스템 네트워크 동작에 중요한 영향을 미칠 수 있기 때문에 수정 시 주의가 필요합니다.
'/etc/hosts' 파일 수정을 통해 hostname에 대한 ip를 지정하고 난 뒤 adminServer를 다시 실행하면 다음과 같이 정상적으로 서버가 실행되는 것을 확인할 수 있습니다.