問題タブ [geode]
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.
caching - 永続データを使用した Apache Geode キャッシュ オーバーフロー構成
次のように構成された PERSISTENT キャッシュがあります:-
問題は、たとえば 8 GB のデータを保存すると、メモリが多すぎるためにキャッシュがクラッシュすることです。そうなってほしくありません。100MBを超えるとデータがディスクにオーバーフローする必要があるように、アクセスしようとするとキャッシュに戻します。永続キャッシュも必要です。
また、データベースに書き込みを行う場合、しばらくしてからデータを削除するにはどうすればよいですか。
これはどのように作動しますか?
gemfire - サーバークライアント構成での Geode/Gemfire 分散ロック
私はこのドキュメントに従っています: http://gemfire.docs.pivotal.io/docs-gemfire/latest/developing/distributed_regions/locking_in_global_regions.html を使用して、グローバルスコープでリージョンを作成し、分散ロックを使用します。
キャッシュ.xml:
gemfire.properties および cache.xml から作成された GemFireCache の後のコード:
これで のリージョンが得られるScope.Global
ので、region.getDistributedLock(“entrykey”); を呼び出すことができると思います。次に、インスタンス間で調整するためのロックを設定します。
しかし、私が電話したときgetDistributedLock
、私はIllegalStateException: only supported for GLOBAL scope, not LOCAL
そして、ClientRegionFactoryImpl のコンストラクターは、リージョン属性で構成されているものに関係なく、スコープをローカルに強制することがわかりました。それを上書きする API がありません。この行: https://github.com/apache/incubator-geode/blob/develop/geode-core/src/main/java/org/apache/geode/cache/client/internal/ClientRegionFactoryImpl.java#L85
問題は、クライアント サーバー DS 構成を使用している場合、クライアントから分散ロックを使用することになっているのでしょうか? そうでない場合、必要に応じてクライアントを相互にロックして同期させるにはどうすればよいですか?
gemfire - Apache Geode に新しい CQ クエリを登録できない
cq クエリを ClientCache に登録しようとしているときに、その場で立ち往生しました。まだこの例外が発生しています:
クライアント キャッシュは次のように作成されます。
提案された解決策は役に立ちません。実際のライブラリのバージョンは次のとおりです。
gemfire - Apache Geode Pulse で主要な統計を有効にする
Geode Pulse でキー統計 (メモリ内の読み取り/書き込みおよびディスクの読み取り/書き込み) を有効にできません。csv ファイルからサーバー リージョンにデータをインポートできましたが、添付の画像の画面ビューに示されているように、主要な統計情報はまったく変化しません。
領域はstatistics-enabled
属性で作成されます。
また、時間統計を有効にしますgemfire.properties
apache - アトミック データ構造の Geode 領域とロックの構成と使用
現在、Spring Boot Starter 1.4.2.RELEASE と Geode Core 1.0.0-incubating を Maven を使用して、Geode Locator と 2 つのキャッシュ ノードで構成されるローカル Docker 構成に対して使用しています。
ここでドキュメントを参照しました:
http://geode.apache.org/docs/guide/developing/distributed_regions/locking_in_global_regions.html
次のように、アプリケーションで使用するために cache.xml ファイルを構成しました。
私の Application.java では、次の方法で領域を Bean として公開しました。
そして、私の「サービス」DistributedCounter.javaで:
私は gfsh を使用して /testRegion という名前のリージョンを構成しました - ただし、そのタイプが「GLOBAL」であることを示すオプションはありません。他のさまざまなオプションしか利用できません - 理想的には、これは永続的で複製されたキャッシュである必要があります。次のコマンド:
http://geode.apache.org/docs/guide/getting_started/15_minute_quickstart_gfsh.htmlのハウツーを使用する と、2 つのノード構成での永続化とレプリケーションの機能を簡単に確認できます。
ただし、上記の DistributedCounter でのロックはエラーを引き起こしませんが、2 つのプロセスが同じ「キー」でロックを取得しようとすると機能しません。2 番目のプロセスはロックの取得をブロックされません。DistributedLockService を使用する Gemfire フォーラムの以前のコード サンプルがあります。現在のドキュメントでは、リージョン エントリのロックに使用しないよう警告しています。
アトミックにインクリメンタルな long の「マップ」をサポートするためのきめの細かいロックのユースケースはサポートされているユースケースですか? もしそうなら、それを適切に構成する方法は?
java - Apache Geode サーバーが xml SAXParseException で再起動しない
リージョン内のデータを簡単に変更するプロセス中 (リージョンをクリアし、新しいデータセットを再読み込み)。領域内のデータのクラス構造が更新されたので、ドメイン クラス / serializedID を更新し、サーバー クラスパスに追加する jar を再パッケージ化して、パルス内のクエリを支援しました。
セットアップは簡単で、ロケーターが 1 つ、サーバー/メンバーが 2 つです。
レプリケートされた永続リージョンの場合:
再起動しようとしたときに、sever2 を停止しました。次のエラーが発生しました。
これは、RHEL6 Java 1.8.0_101 上で動作する Apache Geode 1.0.0-incubating です。エラーが発生してから、これらの変数はどちらも変更されていません。
展開間でほとんど変更がないため、どこから始めればよいかさえわかりません。
gemfire と geode の両方が同じマシンにインストールされていても、正しい gfsh にいることは確かです。
geode - ClientCache を使用したレプリケートされたリージョンでの Pdx のシリアル化
SB を使用して Geode クライアント キャッシュを作成する場合、リモート Geode インスタンスでの PDX シリアライゼーションに問題があります ->
cache.xml は次のようになります ->
Gfsh では、リージョンを次のように作成しました。
メソッドでのテスト中に EpgProgram の List をリージョンに追加する場合
pdx インスタンスは、情報トレースから確認できる内容からのリフレクションを使用して生成されているようです ->
しかし、その直後に例外が発生します->
Pdxの持続性を設定する必要がある他の場所を見逃しましたか??
Geode バージョン: 1.0.0-インキュベーション中。
redis - Apache Geode のベンチマーク
私はいくつかの調査を行っており、おそらくRedisまたはHazelcastと比較して、Apache Geodeのベンチマークが必要です。誰かが私にそのようなことを指摘していただければ幸いです。
Pivotal のプレゼンテーションの 1 つで、いくつかのベンチマークを見ましたが、いくつかの未知の側面で「Geode は Cassandra よりも高速である」ことを示しただけで、ベンチマークを公開することを約束しましたが、それらを見つけることができません。