2016-11-02 11 views
2

私はIgniteの初心者で、Igniteを使ってメモリ内のキャッシュを設定しようとしています。私はいくつかの基本的な設定を行い、Igniteベースのプラグイン可能な永続化作業をシングルノードで開始しました。今、私は、2ノードクラスタ上でパフォーマンスをテストすることを計画し、以下のとおり発火の構成を設定しています:今2ノードクラスタでIgniteキャッシュを起動するときに助けが必要

<?xml version="1.0" encoding="UTF-8"?> 

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation=" 
    http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd"> 

<bean id="countryCacheStoreFactory" class="javax.cache.configuration.FactoryBuilder" factory-method="factoryOf"> 
<constructor-arg><value>com.xyz.exploreignite.cache.CustomCacheStore</value></constructor-arg> 
</bean> 

<bean id="stateCacheStoreFactory" class="javax.cache.configuration.FactoryBuilder" factory-method="factoryOf"> 
<constructor-arg><value>com.xyz.exploreignite.cache.CustomStateCacheStore</value></constructor-arg> 
</bean> 

<bean id="ignite.cfg" class="org.apache.ignite.configuration.IgniteConfiguration"> 
    <property name="peerClassLoadingEnabled" value="false"/> 
<property name="clientMode" value="true"/> 
<property name="gridName" value="clusterGrid"/> 
    <property name="cacheConfiguration"> 
     <list> 
      <!-- Partitioned cache example configuration (Atomic mode). --> 
      <bean class="org.apache.ignite.configuration.CacheConfiguration"> 
       <property name="atomicityMode" value="ATOMIC"/> 
       <property name="backups" value="1"/> 
       <property name="name" value="customCountryCache"/> 
       <property name="readThrough" value="true"/> 
       <property name="writeThrough" value="true"/> 
       <property name="cacheMode" value="PARTITIONED"/> 
       <property name="writeBehindEnabled" value="true"/> 
       <property name="copyOnRead" value="true"/> 
       <property name="memoryMode" value="OFFHEAP_TIERED"/> 
       <property name="atomicWriteOrderMode" value="PRIMARY"/> 
       <property name="indexedTypes" > 
     <list> 
      <value>java.lang.Integer</value> 
      <value>com.xyz.exploreignite.pojo.Country</value> 
     </list> 
     </property> 
     <!-- Cache store. --> 
     <property name="cacheStoreFactory" ref="countryCacheStoreFactory"/> 
      </bean> 
    <bean class="org.apache.ignite.configuration.CacheConfiguration"> 
       <property name="atomicityMode" value="ATOMIC"/> 
       <property name="backups" value="1"/> 
       <property name="name" value="customStateCache"/> 
       <property name="readThrough" value="true"/> 
       <property name="writeThrough" value="true"/> 
       <property name="cacheMode" value="PARTITIONED"/> 
       <property name="writeBehindEnabled" value="true"/> 
       <property name="copyOnRead" value="true"/> 
       <property name="memoryMode" value="OFFHEAP_TIERED"/> 
       <property name="atomicWriteOrderMode" value="PRIMARY"/> 
       <property name="indexedTypes" > 
     <list> 
      <value>java.lang.Integer</value> 
      <value>com.xyz.exploreignite.pojo.State</value> 
     </list> 
     </property> 
     <!-- Cache store. --> 
     <property name="cacheStoreFactory" ref="stateCacheStoreFactory"/> 
      </bean> 
     </list> 
    </property> 


    <!-- Explicitly configure TCP discovery SPI to provide list of initial nodes. --> 
    <property name="discoverySpi"> 
     <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"> 
      <property name="ipFinder"> 
       <!-- 
        Ignite provides several options for automatic discovery that can be used 
        instead os static IP based discovery. For information on all options refer 
        to our documentation: http://apacheignite.readme.io/docs/cluster-config 
       --> 
       <!-- Uncomment static IP finder to enable static-based discovery of initial nodes. --> 
       <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder"> 
       <!--<bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">--> 
        <property name="addresses"> 
         <list> 
          <value>127.0.0.1:47500..47509</value> 
          <value>172.26.49.1:47500..47509</value> 
          <!-- In distributed environment, replace with actual host IP address. --> 
          <value>172.26.49.2:47500..47509</value> 
         </list> 
        </property> 
       </bean> 
      </property> 
     </bean> 
    </property> 
</bean> 

、両方の「ビン/ ignite.sh」で発火起動中ノードがサーバーに接続できなかったことを示します。上記のものと並行して "bin/ignite.sh"だけを実行している間は、個々のignite configインスタンスは両方ともスタンドアロンモードで起動し、クライアントは1つだけです。私はそれらの両方に共有インスタンスを利用させる必要があります。私の展開/実行で考えられる問題を提案してください。

答えて

2

<value>127.0.0.1:47500..47509</value>行を検出設定から削除してください。分散クラスタではあまり効果がありません。

+0

すでにそれを行い、falseにするためにclientModeを変更しました。ボックス1のアプリケーションはサーバ2を起動するのには接続されませんが、ボックス2からボックス1への双方向通信/ ssh接続が必要ですクラスタを形成するためには? –

+0

はい、クライアントまたはサーバーを含むすべてのノード間で双方向の通信が必要です。いくつかのノードがNATの背後にある場合、あなたは 'AddressResolver'を使うことができます。 –

1

設定は<property name="clientMode" value="true"/>です。少なくとも1つのノードを<property name="clientMode" value="false"/>に設定する必要があります。そうしないと、クライアントに接続するサーバーノードはありません。

関連する問題