2017-11-15 7 views
2

私はKubernetesでArangoDB 3.2.2を使用しています。私は1つのマスタdbと1つのスレーブdbを持っています。数秒のためのコマンドブロックArangodbはしばらくしてから非同期レプリケーションを停止します

db._useDatabase("mydb"); 

equire("@arangodb/replication").setupReplication({ 
    endpoint: "tcp://master:8529", 
    username: "root", 
    password: "123456", 
    database: "mydb", 
    verbose: true, 
    includeSystem: false, 
    incremental: true, 
    autoResync: true, 
    maxConnectRetries: 20, 
    adaptivePolling: false, 
    idleMinWaitTime: 0.001, 
    idleMaxWaitTime: 1.5, 
    chunkSize: 5000 
}); 

、その後、レプリケーションが開始され、私は、マスタDBからコレクションがに複製されていることがわかります。私は、次のコマンドを入力します。arangosh内部スレーブDB上スレーブ。ただし、しばらくしてからレプリケーションは停止します。

私が実行します。 は(「@のarangodb /複製」)が必要ですapplier.state これは私が見たものである。

{ 
    "state" : { 
    "running" : true, 
    "lastAppliedContinuousTick" : "6384020", 
    "lastProcessedContinuousTick" : "6384026", 
    "lastAvailableContinuousTick" : "6389353", 
    "safeResumeTick" : "6382367", 
    "progress" : { 
     "time" : "2017-11-15T12:14:09Z", 
     "message" : "fetching master log from tick 6382367, first regular tick 6367894, barrier: 0, open transactions: 0", 
     "failedConnects" : 0 
    }, 
    "totalRequests" : 1155, 
    "totalFailedConnects" : 0, 
    "totalEvents" : 83, 
    "totalOperationsExcluded" : 0, 
    "lastError" : { 
     "errorNum" : 0 
    }, 
    "time" : "2017-11-15T12:15:47Z" 
    }, 
    "server" : { 
    "version" : "3.2.2", 
    "serverId" : "77969163868004" 
    }, 
    "endpoint" : "tcp://master:8529", 
    "database" : "mydb" 
} 

私は再び複製コマンドを実行すると、私がいることがわかりコレクションは再び複製されています...

安定した複製プロセスを初期化するにはどうすればよいですか? これは非同期レプリケーションであることを理解していますが、私の場合、可能な限り速くスレーブを更新する必要があります...私のレプリケーション設定は自分のニーズに合っていますか?

+0

私が正しく理解していれば、レプリケーションアプライヤはその状態を「実行中」として報告していますが、他の分析では実質的にマスタからの変更は適用されません。私は、アプライヤがうまくいかないという結論にどのようにして理解できるかを理解したいと思います。あなたはコレクションの文書数を見ていますか?あるいは、applierの 'state()'コマンドの複数の進捗状況を調べていますか?ここで少なくともティック値と 'totalRequests'値は時間とともに増加するはずです。彼らがそうしなければ、アプライヤーは実際にぶら下がっているようです。 – stj

+0

ところで、設定された 'chunkSize'値はやや低いようです。それは、マスターが返すバッチが最大でも大きいことを意味するかもしれない5KBです。多くの文書が挿入/変更/削除されるか、文書サイズが通常約100バイトを超える場合、5KBはそれほど多くありません。 'chunkSize'の値を約1MBに増やし、それが役立つかどうか、あるいはデフォルト値を使うことさえお勧めします。 'adaptivePolling'を有効にすることもお勧めします。これは、多くのことがあまりないときに、スレーブからマスターへのHTTP要求が少なくなることを意味するからです。 – stj

+0

複製できないデータについてArangoDBログファイルにエラーが記録されましたか? – stj

答えて

0

ArangoDB 3.2.2のバグだったようです。 In ArangoDB 3.2.8複製は、(rocksdbの場合でも)動作するようです。

関連する問題