問題タブ [xdcr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - Docker コンテナ内の Couchbase XDCR
ローカルの Couchbase クラスターが必要であり、prod クラスターからデータをレプリケートする必要があります。OS X に直接インストールすることはできません (vbuckets の非互換性のため、prod クラスターは Linux 上にあります)。
救助のためのドッカー。Dockerfile を作成できまし た。ここで確認できます。
これで、クラスターが実行され、LAN 内で到達可能になり、必要なすべてのポートが転送されます -ここで説明するトリックを使用しました
XDCR タブでクラスター参照を正常に作成しましたが、バケットのデータを複製しようとするたびに、クラスターのホスト名が無意味な IP アドレスに変更され、ログ エントリが作成されます。
ご覧のとおり、Couchbase が IP アドレスに非常に敏感であることはわかっています。代わりに、マシンのホスト名 (docker コンテナーのホスト) を使用しています。を使用してコンテナーのホスト名を変更しようとしdocker run -h
ましたが、役に立たなかったようです。
どなたか、docker コンテナーで実行されているクラスターで XDCR を設定しましたか?
replication - Couchbase XDCR が ns_server.debug.log に「not_my_vbucket」を記録し続ける
Couchbase 3.1 の XDCR 機能をテストしていますが、次のようなエラー メッセージが引き続き表示されます。
- 環境
cluster1 の 6 VM
cluster2 用の 6 VM
cluster1 から cluster2 への単方向 XDCR。
2 つのクラスターの両方に約 900 MB のテスト データがあります。
- Source(Cluster1) の XDCR 監視 UI (エラー メッセージとログはソース クラスタにのみ表示されます) から、XDCR が進行中であることがわかりますが、エラーが発生し、[ステータス] 列に「最後の 10 件のエラーを複製しています」と表示されます。
「最後の 10 個のエラー」をクリックすると、ウィンドウが表示され、同様のエラーが多数表示されます。
「vbucket XXX の複製中にエラーが発生しました。詳細については、ログを参照してください。」
- 次に、ns_server.xdcr_errors.log を確認したところ、以下のような多くのエラーが見つかりました。
[xdcr:error,2015-09-10T14:02:07.638,ns_1@1.2.3.4:<0.530.0>:xdc_vbucket_rep:terminate:497]レプリケーション (XMem モード)
8aaa3c6dc842ba99edeb624914e1a092/src-bkt01/dest-bkt01
(src-bkt01/989
->http://*****@4.3.2.1:8092/dest-bkt01%2B9caf5f56faf1f993b81e7654a3b421b3%2f989
) が失敗しました。ns_server のデバッグ ログを参照してください完全な状態ダンプ
- 次に、ns_server.debug.log を開いて確認したところ、以下のエラーが見つかりました。
[error_logger:error,2015-09-10T14:03:56.705,ns_1@1.2.3.4:error_logger<0.6.0>:ale_error_logger_handler:do_log:203]** 汎用サーバー <0.10121.312> 終了中 ** 最後のメッセージは{'EXIT',<0.12931.330>, {failed_write, {"1 ドキュメントのバッチ: フラッシュ: 0、拒否 (eexists): 0; リモート memcached エラー: enoent: 0、not-my-vb: 1、無効: 0、tmp 失敗: 0、enomem: 0、その他: 0", "キーのエラー: not_my_vbucket を含む 1 つのキー エラー([<<\"userEventCntrect.xwf-id.com2015092300000009\">>]); "} }}
両側のアイテムの合計数を確認しましたが、2 つのクラスターは同じ数のアイテムに対応しています。
また、エラーメッセージ「not_my_vbucket」でcouchbaseの問題サイトをチェックし、システムの問題にとってそれが実際に何を意味するのかを理解しようとしました.
意見や提案があれば感謝します。
ジョー
elasticsearch - ポート 9091 での接続を拒否する elasticsearch transport-couchbase プラグイン
サーバーにelasticsearch-2.2.1とcouchbaseサーバーバージョン4.1.0をインストールしました。目的は、couchbase のバケット x からエラスティック検索にデータを転送することです。
基本的にサーバーからエラスティック検索へのxdcrを許可するelastic-searchにtransport-couchbaseプラグインをインストールしました。
私が理解しているように、transport-couchbase はデフォルトでポート 9091 をリッスンするため、本質的にはそのポートを指すクラスター参照を作成することになっています (couchbase とエラスティック サーチの両方が同じマシンにインストールされています)。
参照を作成しようとすると、内部サーバー エラーが発生します。ログには問題に関する多くの情報はありませんが、ポートに ping を実行できます。ただし、ポートでマシンを telnet しようとすると、接続が拒否されます。
サーバーはプロキシの背後にあり、問題はcouchbaseサーバーまたはelasticsearch(transport-couchbaseプラグイン)のいずれかにあると考え始めています
私はここで手足を出していますが、プロキシを通過するリクエストを受け入れるようにプラグインを構成する必要があると思います。これが問題である場合、プラグインにプロキシ設定を埋め込んで xdcr の接続を受け入れる方法はありますか?
PS: プロキシの後ろに座っていない別のマシンでこのプロセス全体を実行すると、すべてが正常に機能しました。だから私はそれがプロキシの問題であるという強い疑いを持っています
regex - Couchbase xdcr regex - 正規表現を使用してキーを除外するにはどうすればよいですか?
XDCR を使用して、特定のドキュメントが ES に転送されないようにしようとしています。ABCDとIJをフィルタリングする次の正規表現があります
https://regex101.com/r/gI6sN8/11
今、XDCRフィルタリングでこの正規表現を使用したい
^(?!. (ABCD|IJ))。$
正規表現を使用してキーを除外するにはどうすればよいですか?
編集:
ABCDE と ABCHIJ を含まないものをすべて選択したい場合はどうすればよいでしょうか。
私は試した
couchbase - 「複製なし」でCouchベースにドキュメントを作成するには?
Couch base エキスパートの皆様、こんにちは。
レプリケーションがオンになっている 2 つのクラスターがあり、Java アプリケーションが書き込みを行っているクラスターを特定したいと考えています。そのため、各クラスターに一意のドキュメントを追加することを考えています。その後、ドキュメントをクエリしてクラスターの名前を見つけることができます。ただし、問題は、レプリケーションをオンにすると、両方のドキュメントが両方のクラスターで使用可能になり、ドキュメントの存在に基づいてクラスターを識別するロジックが失敗することです。誰かが以前に同様の問題に直面したことがありますか? 特定のドキュメント セットの複製をオフにすることはできますか?