問題タブ [hector]
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.
cassandra - Cassandra / Hector タイムアウト = どうすればよいですか?
洗練されたユーザーが、次のように Hector Client Timeouts を修正する方法として考えられるすべての解決策 (ベスト プラクティス) を挙げていただければ幸いです。
ヘクター:
ヘクターのドキュメントから取得:https://github.com/rantav/hector/wiki/User-Guide
タイムアウトに関連する次のことがわかりました。
1.) cassandraThriftSocketTimeout
カサンドラ:
1.) rpc_timeout_in_ms: 10000 (cassandra.yaml 内)
Hector 側と Cassandra 側の両方のタイムアウトに関連して、他にどのような設定を利用できますか? 私は時間があるよ!だから、もっと待ちたい!しかし、私はそのための設定がより長く待つことを見つけていません.
ありがとうマーカス
unit-testing - 組み込みサーバーを使用した Cassandra の JUnit テスト
データを nosql データ ストア (この場合は cassandra) に永続化するコードの単体テストを作成する最善の方法は何ですか?
=> git ハブ ( https://github.com/hector-client/hector/blob/master/test/src/main/java/me/prettyprint/hector/testutils/EmbeddedServerHelper ) のユーティリティを使用して、組み込みサーバー アプローチを使用しています。 .java )。ただし、これにはいくつかの問題があります。1) 複数のテスト ケースにまたがってデータを保持するため、テスト クラスのテスト ケースでデータが異なることを確認することが難しくなります。テスト ケースごとに cleanUp @After を呼び出してみましたが、データがクリーンアップされないようです。2)テストを追加するにつれてメモリが不足しています。これは1が原因である可能性がありますが、まだわかりません。現在、ビルドを実行するためのヒープ サイズは 1G です。
=> 私が考えているもう 1 つのアプローチは、cassandra ストレージをモックすることです。しかし、データが cassandra に保存される方法に関する問題をキャッチする上記のアプローチがよくあるため、cassandra スキーマにいくつかの問題が漏れる可能性があります。
これについての考えと、誰かが EmbeddedServerHelper を使用していて、私が言及した問題に精通している場合はお知らせください。
ただの更新。テスト組み込みサーバーで使用される cassandra.yaml で in_memory_compaction_limit_in_mb パラメーターを 32 に変更することで、2) ビルドの実行時に Java ヒープ領域が不足する問題を解決できました。以下のリンクはhttp://www.datastax.com/docs/0.7/configuration/storage_configuration#in-memory-compaction-limit-in-mbに役立ちました。それは 64 で、圧縮中に一貫して失敗し始めました。
java - Hector と CQL の統合
Hector は Cassandra 0.8.1 で CQL と統合されますか? これを積極的に開発している、または知っている人はいますか? また、Cassandra 0.8.1 のリリースで新しい CQL を使用するために統合するために開発されている他の Java クライアント (Pelops、Hector、Kundera など) を知っている人はいますか? Cassandra データベースの実行中に使用する Java クライアントに関する推奨事項はありますか?
cassandra - バッチ ミューテーションを使用する場合の Cassandra-0.8.1 の制限事項
バッチ ミューテーションを行うと、cassandra からいくつかの例外が見つかりました。「このミューテーションには既に変更があります」と表示されていましたが、2 つの異なる操作に関する情報が表示されました。この場合、カウンター付きのスーパー列を使用します。
- キー: URL の md5、utf-8
- SuperColumnName: 日付、utf-8
- ColumnName: カウンター名は1から200までの乱数、
- 列値:1L
L
Cassandra ログからのエラー情報は、重複した操作に同じキーのみがあり、SuperColumnName が同じではないこと、およびカウンター名セットについて、一部の競合が交差し、一部が交差していないことを示しました。
私はhector 0.8.0-rc2でCassandra 0.8.1を使用しています
誰でもこの問題の理由を教えてもらえますか? 前もって感謝します!
nosql - Cassandra / Hector =インデックス内の位置にジャンプする関数はありますか?
Cassandra / Hectorは、インデックス内の特定の位置への「ジャンプ」(=アクセス)をサポートするメソッドを提供しますか。
((行))
と
列
私は墓石を知っています...私は気にしません...(それらは結果/計算に含めることができます)
重要:行が多くのマシンに分散していることを私は知っています。したがって、質問は主に列(1台のマシンに存在する)に当てはまります。
インデックスの真ん中にある「Record=((Row))/Column」のようなユースケースを探しています...または「Record=((Row))/Column」を教えてください位置454654にあります。行と列の両方。
これはどういうわけかサポートされていgetColumAtIndexPosition(int index)
ますか?そうでない場合は、なぜですか?カサンドラの正しい位置までインデックスレコードを内部的にカウントして結果を返すのは簡単ではないでしょうか?
どうもありがとう!イェンス
nosql - Cassandra + Hector: 結果をナビゲート/後方にジャンプする方法は?
get_slice (列) を使用して後方に移動する方法について、アドバイスをいただければ幸いです。
これらの列名1 2 3 4 5 6 7 8 9 10 11 12
があり、開始列/キーが8
あり、4 つの列をクエリしたい場合、結果を取得したい、8 7 6 5
または5 6 7 8
(順序は関係ありません)、逆方向に移動する必要があります。
(明確にするために、私は start column/key = しか持って8
いません。列がわからない5
ので、 start column/key = でクエリできます5
。5 はここでは不明なので、説明したように逆方向にクエリする必要があります...)
これを行う方法?「reversed=true」は、この例では「逆」の結果のみを返すよう11 10 9 8
です。これは私が望むものではありません。カーソルを後方に移動する必要があります。これを行う方法?
どうもありがとうございました!
イェンス
java - Cassandra Hector 負荷分散
最近、2 つのノードを持つ Cassandra クラスターをセットアップしました。レプリケーション係数は 2 に設定されており、両方のノードがオンになっている場合、両方ともうまく機能しているようです。少なくとも1つのノードが稼働している限り、ヘクターが機能し続けるようにするにはどうすればよいでしょうか? 今のところ、次のようなものがあります。
ホスト xx.xx.13.22 がダウンすると、コンソールに次のメッセージが表示され、そのノードが起動するまですべての挿入が失敗するとします。
これが私のキースペースの定義方法です
私は非常に些細なことを見逃していると確信しています。どんな助けでも大歓迎です。ありがとう
sorting - カサンドラのキーで並べ替え
ユーザーオブジェクトを格納する列ファミリーを持つキースペースがあり、これらのオブジェクトのキーがユーザー名であると仮定します。
Hectorを使用して、ユーザー名でソートされたユーザーのリストを取得するにはどうすればよいですか?
RangeSlicesQueryを使用しようとしましたが、ページングはこのクエリで正常に機能しますが、結果はまったく並べ替えられません。
私はカサンドラの初心者ですが、列ファミリーをキーで並べ替える方法を示す簡単な例を教えてもらえますか?私の取り組みについてさらに詳しく知りたい場合は、お問い合わせください。
編集:
cassandra.yamlのOrderPreseveringPartitionerの代わりにデフォルトのRandomPartitionerを使用したため、結果は並べ替えられませんでした。
おそらく、キーによる並べ替えに依存するのではなく、セカンダリインデックスを使用する方がよいでしょう。
nosql - Cassandra CLI: RandomPartitioner を使用した RowKey = クリアテキストでキーを表示しますか?
Cassandra CLI を使用すると、次の出力が得られます。
を使用してRandomPartitioner
います。Cleartext で (CLI から) RowKey を取得することは何とか可能ですか? 理想的には CLI ですが、文字列に変換するヘルパー クラスがあれば、これも問題ありません。
キーが何らかの形でハッシュされていることは知っています。キーを「取得」できない場合 (私が想定しなければならないこと)、元の文字列に基づいてキーを生成して比較するために使用できる、Cassandra で公開されているヘルパー クラスはありますか?
私の問題: Cassandra にレコードを保存しましたが、キーを使用し"user1|order1"
てレコードを取得できません。Cassandra はレコードを見つけません。どういうわけか私のキーが間違っていると思います。それらを比較して、問題の原因を突き止める必要があります...
どうもありがとう !!イェンス
java - ヘクター&カサンドラの基本
私はCassandra-0.8.2で作業しています。私はHectorの最新バージョンで作業しています。私のJavaバージョンは1.6.0_26です。
私はCassandra&Hectorにとても慣れていません。
私がやろうとしていること:1。別のサーバーで稼働中のcassandraのインスタンスに接続します。私はそれがb/cを実行していることを知っています。ターミナルを介して、このCassandraインスタンスを実行しているサーバーにSSHで接続し、完全な機能でCLIを実行できます。2.次に、キースペースに接続して列ファミリーを作成し、Hectorを介してその列ファミリーに値を追加します。
私の問題は、このサーバーで実行されているCassandraのインスタンスが、ローカルではないコマンドを取得するように構成されていない可能性があることだと思います。次のステップは、作業中のCPUにCassandraのローカルインスタンスを追加し、これをローカルで実行することだと思います。どう思いますか?
これが私のJavaコードです:
私のエラーは次のとおりです。
よろしくお願いします。