0

Infinispan (8.2. 4) 및 JGroups.JGroups ec2 클러스터가 최대 절전 모드 검색/Infinispan 설정으로 연결되지 않습니다.

현재 노드가 기존 클러스터에 연결할 수없고 연결을 시도하는 중에 시간이 초과되는 문제에 봉착했습니다.

Starting JGroups channel ISPN 
variable "${jgroups.s3.pre_signed_delete_url}" in S3_PING could not be substituted; pre_signed_delete_url is removed from properties 
variable "${jgroups.s3.prefix}" in S3_PING could not be substituted; prefix is removed from properties 
variable "${jgroups.s3.pre_signed_put_url}" in S3_PING could not be substituted; pre_signed_put_url is removed from properties 
ip-172-31-24-216-1799: JOIN(ip-172-31-24-216-1799) sent to ip-172-31-14-33-238 timed out (after 5000 ms), on try 1 
ip-172-31-24-216-1799: JOIN(ip-172-31-24-216-1799) sent to ip-172-31-14-33-238 timed out (after 5000 ms), on try 2 
... 
ip-172-31-24-216-1799: JOIN(ip-172-31-24-216-1799) sent to ip-172-31-14-33-238 timed out (after 5000 ms), on try 10 
ip-172-31-24-216-1799: too many JOIN attempts (10): becoming singleton 
ISPN000094: Received new cluster view for channel ISPN: [ip-172-31-24-216-Channel ISPN local address is ip-172-31-24-216-1799, physical addresses are [127.0.0.1:7800] 

나는 탄성 콩나무 보안 그룹 내에서 인바운드 트래픽의 모든 유형을 활성화하고, 성공적으로 내부 IP 주소를 사용하여 그룹의 다른 노드를 Ping 할 수 있습니다.

내 infinispan.xml 파일입니다

<infinispan 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="urn:infinispan:config:8.2 http://infinispan.org/schemas/infinispan-config-8.2.xsd" 
     xmlns="urn:infinispan:config:8.2"> 

    <jgroups> 
     <stack-file name="default-jgroups-ec2" path="default-configs/default-jgroups-ec2.xml"/> 
    </jgroups> 

    <cache-container name="HibernateSearch" default-cache="default" statistics="false" shutdown-hook="DONT_REGISTER"> 

     <transport stack="default-jgroups-ec2"/> 

     <!-- Duplicate domains are allowed so that multiple deployments with default configuration 
      of Hibernate Search applications work - if possible it would be better to use JNDI to share 
      the CacheManager across applications --> 
     <jmx duplicate-domains="true"/> 

     <!-- *************************************** --> 
     <!-- Cache to store Lucene's file metadata --> 
     <!-- *************************************** --> 
     <replicated-cache name="LuceneIndexesMetadata" mode="SYNC" remote-timeout="25000">   
      <locking striping="false" acquire-timeout="10000" concurrency-level="500" write-skew="false"/> 
      <transaction mode="NONE"/> 
      <eviction max-entries="-1" strategy="NONE"/> 
      <expiration max-idle="-1"/> 
      <persistence> 
       <file-store path="LuceneIndexes/Metadata" preload="true" /> 
      </persistence> 
      <indexing index="NONE"/> 
      <state-transfer enabled="true" timeout="480000" await-initial-transfer="true"/> 
     </replicated-cache> 

     <!-- **************************** --> 
     <!-- Cache to store Lucene data --> 
     <!-- **************************** --> 
     <distributed-cache name="LuceneIndexesData" mode="SYNC" remote-timeout="25000"> 
      <locking striping="false" acquire-timeout="10000" concurrency-level="500" write-skew="false"/> 
      <transaction mode="NONE"/> 
      <eviction max-entries="-1" strategy="NONE"/> 
      <expiration max-idle="-1"/> 
      <persistence> 
       <file-store path="LuceneIndexes/Data" /> 
      </persistence> 
      <indexing index="NONE"/> 
      <state-transfer enabled="true" timeout="480000" await-initial-transfer="true"/> 
     </distributed-cache> 

     <!-- ***************************** --> 
     <!-- Cache to store Lucene locks --> 
     <!-- ***************************** --> 
     <replicated-cache name="LuceneIndexesLocking" mode="SYNC" remote-timeout="25000"> 
      <locking striping="false" acquire-timeout="10000" concurrency-level="500" write-skew="false"/> 
      <transaction mode="NONE"/> 
      <eviction max-entries="-1" strategy="NONE"/> 
      <expiration max-idle="-1"/> 
      <persistence> 
       <file-store path="LuceneIndexes/Locking" /> 
      </persistence> 
      <indexing index="NONE"/> 
      <state-transfer enabled="true" timeout="480000" await-initial-transfer="true"/> 
     </replicated-cache> 
    </cache-container> 

</infinispan> 

그리고 위해 JGroups 설정 파일은 Infinispan default-jgroups-ec2.xml

사람이, 내가 잘못 갈 수있는 위치의 어떤 생각을 가지고 있습니까 또는 함께 패키지 기본 EC2의 설정입니다 이 일을하기 위해서 내가 정확히해야 할 일은 무엇입니까?

답변

3

로컬 주소는 127.0.0.1:7800이며 기본값입니다. 다른 노드와 대화 할 필요가 있다면이 기능이 제대로 작동하지 않습니다.

+0

감사합니다. 아직 어떤 것을 테스트 할 기회가 없었지만, 기본 bind_addr 인 default-jgroups-ec2.xml 값으로 가정합니다. EC2MetadataUtils를 사용하여 개인 IP를 가져 와서 "jgroups.tcp.address"시스템 속성을 설정하려고합니다. – mharray

+0

EC2로 플레이 할 기회가 없었지만'hostname -i'를 사용하여 IP 주소를 추출하여 전달했습니다. 응용 프로그램에 충분할 것입니다. – altanis

+0

EC2가 어떤 종류의 IP 주소를 할당하는지 알면'bind_addr = match-address : 192.168. *'을 사용할 수 있습니다.이 주소는 192.168로 시작하는 모든 주소에 바인딩됩니다. 자세한 내용은 http://www.jgroups.org/manual/index.html#protlist를 참조하십시오. –

0

또한 당신은 로그에 해당 메시지를 볼 수 있습니다

variable "${jgroups.s3.pre_signed_delete_url}" in S3_PING could not be substituted; pre_signed_delete_url is removed from properties 
variable "${jgroups.s3.prefix}" in S3_PING could not be substituted; prefix is removed from properties 
variable "${jgroups.s3.pre_signed_put_url}" in S3_PING could not be substituted; pre_signed_put_url is removed from properties 

당신은 아마 그 변수를 정의해야합니다.

+0

감사하지만 이러한 값은 선택 사항이 아닙니다. s3 버킷의 위치를 ​​설정할 때 필요합니다. 현재 s3에서 읽고 쓰는 데 문제가 없습니다. 노드가 서로 연결되어 있습니다. – mharray