0

2 つのノードがあり、1 つは 127.0.0.1 で実行され、もう 1 つは 127.0.0.2 で実行され
ます。クラスターに追加したデータは、2 つのノードの両方に表示されますか? 現在、ノード 1 を停止すると、2 番目のノードには同様のデータがなく、list コマンドを使用するといくつかの例外がスローされます。

Using default limit of 100                                      
Using default column limit of 100
null
UnavailableException()
    at org.apache.cassandra.thrift.Cassandra$get_range_slices_result.read(Cassandra.java:12346)
    at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
    at org.apache.cassandra.thrift.Cassandra$Client.recv_get_range_slices(Cassandra.java:692)
    at org.apache.cassandra.thrift.Cassandra$Client.get_range_slices(Cassandra.java:676)
    at org.apache.cassandra.cli.CliClient.executeList(CliClient.java:1425)
    at org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java:273)
    at org.apache.cassandra.cli.CliMain.processStatementInteractive(CliMain.java:219)
    at org.apache.cassandra.cli.CliMain.main(CliMain.java:346)

もう 1 つは、私の Java アプリケーション (Play FW 2.0.4 でビルド) で kundera を使用して cassandra db に接続することです。永続化ファイルは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
    http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
    version="2.0">
    <persistence-unit name="cassandra_pu">
        <provider>com.impetus.kundera.KunderaPersistence</provider>     
        <properties>            
            <property name="kundera.nodes" value="localhost"/>
            <property name="kundera.port" value="9160"/>
            <property name="kundera.keyspace" value="LSYCS"/>
            <property name="kundera.dialect" value="cassandra"/>
            <property name="kundera.client.lookup.class" value="com.impetus.client.cassandra.pelops.PelopsClientFactory" />
            <property name="kundera.cache.provider.class" value="com.impetus.kundera.cache.ehcache.EhCacheProvider"/>
            <property name="kundera.cache.config.resource" value="/ehcache-test.xml"/>                  
        </properties>       
    </persistence-unit>
</persistence>

ノード 1 がダウンしても、アプリケーションはまだ 2 番目のノードに接続できると想定しましたが、それはできませんでした。ここで本当に何かが間違っていますか?私が期待しているのは、127.0.0.1 がオフラインのとき、127.0.0.2 がジョブを処理できるか、またはそれらを管理するためのトップ アプリケーションが必要かということです。


P/S: 私は自分のコンピューターにセットアップしたため、127.0.0.1 と 127.0.0.2 の両方が localhost を指しています。

4

2 に答える 2

0

ここで Cassandra レプリケーションについて読む必要があります: http://www.datastax.com/docs/1.1/cluster_architecture/replication

于 2012-10-30T16:32:34.267 に答える
0

Cassandra 接続の replication_factor (デフォルトは 1) を変更しましたか。見て:

https://github.com/impetus-opensource/Kundera/wiki/Cassandra-Specific-Features

kundera 内で cassandra 設定を構成するため。

-Vivek

于 2012-10-29T08:53:39.097 に答える