2017-09-13 154 views
0

我有一個多服務部署,其中一些服務使用Hazelcast進行緩存。在實際部署中,服務駐留在單獨的VM中,hazelcast實例在端口5701上啓動。但是,在本地執行測試時,所有服務駐留在同一個VM上。這意味着第一個Hazelcast實例在5701上啓動,第二個在5702上等等(自動增量在配置中設置爲true)。Hazelcast客戶端連接端口

問題是,hazelcast客戶端嘗試連接到5701到5703並且不再進行搜索。

爲了確保在端口中沒有任何重疊(因此沒有自動增量完成),我手動配置了Hazelcast實例的端口。因此,對於其中一項服務,我將其設置爲5710.但是,客戶端嘗試從5701連接。

我讀過網絡端口不適用於Hazelcast Client配置,但我找不到指定要嘗試連接的端口?

我使用Hazelcast 3.6

配置文件:

<group> 
     <name>myNode</name> 
     <password>MyPass</password> 
    </group> 
    <properties> 
     <property name="hazelcast.rest.enabled">true</property> 
     <property name="hazelcast.shutdownhook.enabled">false</property> 
    </properties> 
    <management-center enabled="false"/> 
    <network> 
     <port auto-increment="true">5701</port> 
     <join> 
      <multicast enabled="true"/> 
      <tcp-ip enabled="false"/> 
      <aws enabled="false"/> 
     </join> 
    </network> 

回答

0

的解決方案是羣集配置添加到客戶端配置XML:

<network> 
     <cluster-members> 
      <address>127.0.0.1:57xx</address> 
     </cluster-members> 
    </network> 
0

你剛纔的轉交地址(IP:端口)連接到客戶端的連接配置。無論如何,我不知道你在一臺機器上做了多少獨立的集羣成員(不同的集羣?)。

+0

我真的不能指定IP:端口。我得到緩存管理器使用這樣的東西: 'Properties properties = new Properties(); properties.setProperty(HazelcastCachingProvider.HAZELCAST_CONFIG_LOCATION,「classpath:hazelcast.xml」); CacheManager manager = Caching.getCachingProvider() .getCacheManager(new URI(「opp_transaction」),null,properties);' 所以我沒有實際的配置權限。 –

+1

關於你的問題,就像我剛纔提到的,這是針對通常運行不同機器的不同服務。僅用於本地測試,我遇到了這個問題。 –

+1

找到解決方案:) –