2017-12-04 1 views
2

Payara 클러스터를 시작하면 노드 중 하나가 잘못된 IP 주소 (노드에 로컬로 설치된 고정 IP의 내부 IP 주소)에 바인딩됩니다.Payara - Hazelcast 클러스터 노드가 잘못된 네트워크 인터페이스를 선택합니다.

Payara Cluster 인스턴스 노드가 바인딩해야하는 주소를 알리는 올바른 방법은 무엇입니까?

노드 1 로그 :

[2017-12-04T11:35:06.512+0800] [Payara 4.1] [INFO] [] [com.hazelcast.internal.cluster.impl.MulticastJoiner] [tid: _ThreadID=16 _ThreadName=RunLevelControllerThread-1512358500010] [timeMillis: 1512358506512] [levelValue: 800] [[ 
[172.17.0.1]:5900 [dev] [3.8.5] 
Members [1] { 
    Member [172.17.0.1]:5900 - 9be6669e-b853-44c0-9656-8488d3e1031b this 
} 
]] 

노드 2 로그 :

[2017-12-04T11:35:06.771+0800] [Payara 4.1] [INFO] [] [com.hazelcast.internal.cluster.impl.MulticastJoiner] [tid: _ThreadID=17 _ThreadName=RunLevelControllerThread-1512358500129] [timeMillis: 1512358506771 [levelValue: 800] [[ 
[10.4.0.86]:5900 [dev] [3.8.5] 
Members [1] { 
    Member [10.4.0.86]:5900 - e3f9dd48-58b9-45f9-88fc-6b0feaedd78f this 
} 
]] 

내가 클러스터 자체를 테스트 한 (설치 고정 표시기없이) 단 하나의 인터페이스로 컴퓨터에서 제대로 작동합니다.

나는 내 사건에 관련된 문제를 찾았지만 Payara 클러스터 설정에서이를 적용 할 수 없습니다 있습니다

의미의를 사용하는 제안 로컬 속성 : -Dhazelcast.local.localAddress=[yourCorrectIpGoesHere] - 작동하지만 노드 환경을 중앙 집중식으로 관리하는 클러스터 환경의 경우 config - 각 노드마다 서로 다른 JVM 속성을 설정하는 방법을 알지 못합니다.

"구성 파일 덮어 쓰기"를 통해 사용자 정의 hazelcast-config.xml을 제출하는 것은 옵션 일 수 있지만,이 파일을 통해 전체 구성을 수행해야하며, 관리하기가 쉽지 않은 것은 무엇이지만 현재로서는 유일한 옵션 인 것처럼 보입니다. 잠재적으로 여기에서 도울 수 있습니다.

감사합니다.

답변

2

Payara 서버는이 구성 옵션을 직접 노출하지 않습니다. 시스템 속성 hazelcast.local.localAddress을 사용하는 것이 좋습니다. 그러나 -Dhazelcast.local.localAddress=...처럼 JVM 옵션으로 설정해서는 안됩니다.

대신 관리 콘솔에서 서버 페이지를 사용하여 시스템 속성을 추가하십시오. 속성에시스템 등록 정보 탭으로 이동하고 Hazelcast가 결합 할 인터페이스의 IP 주소로 변수 이름으로hazelcast.local.localAddress재정의 값 세트를 새 속성을 추가 할 수 있습니다.

이렇게하면 서버를 다시 시작하지 않고도 런타임에 구성을 적용 할 수 있으며 클러스터 인스턴스의 속성을 설정하는 경우 클러스터의 다른 인스턴스에도 전파해야합니다. 그 경우 서버 페이지로 이동하는 대신 각 인스턴스의 구성으로 이동하여 시스템 속성을 설정하십시오.

+0

정말 고마워요! 이런 종류의 해결책은 제가 찾고있는 것입니다! 이제 클러스터는 매력처럼 작동합니다! ;) –

+0

당신은 환영합니다 :) 많은 사람들은 시스템 속성이 런타임에 설정에서 읽을 수있는 서버에 의해 설정 될 수 있다는 것을 알지 못합니다. 가능하다면 지식을 전파하십시오 ;-) – OndrejM

관련 문제