nodetool nodesyncservice ratesimulator
NodeSyncデッドラインを達成するために必要なレートをシミュレートします。
構成可能な仮定に基づいて、NodeSyncデッドラインを達成するために必要なレートをシミュレートします。レート・シミュレーションは便利ですが、プロダクション環境では、シミュレーションはNodeSyncの監視とレートの調整に代わるものではありません。
制約事項: RF=1のキースペースまたは単一ノード・クラスターで、このコマンドを使用しないでください。
構文
nodetool [connection_options] nodesyncservice ratesimulator [--deadline-overrides keyspace_name.table_name:deadline_target_time, ...] [-e keyspace_name.table_name, ...] [help] [-i keyspace_name.table_name, ...] [--ignore-replication-factor] [simulate -ds factor_integer -rs factor_integer -sg factor_integer | recommended | recommended_minimum | theoretical_minimum] [] [-v]
構文規則 | 説明 |
---|---|
大文字 | リテラル・キーワード。 |
小文字 | リテラル以外。 |
Italics |
変数値。有効なオプションまたはユーザー定義値と置き換えます。 |
[ ] |
任意。角かっこ( [] )で任意のコマンド引数を囲みます。角かっこは入力しないでください。 |
( ) |
グループ。丸かっこ(( ) )は、選択肢を含むグループを示します。丸かっこは入力しないでください。 |
| |
または。縦棒(| )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。 |
... |
繰り返し可能。省略記号(... )は、構文要素を必要な回数だけ繰り返すことができることを示します。 |
'Literal string' |
単一引用符( ' )でCQL文内のリテラル文字を囲みます。大文字を維持するには、単一引用符を使用します。 |
{ key:value } |
マップ・コレクション。中かっこ( { } )でマップ・コレクションまたはキーと値のペアを囲みます。コロンでキーと値を区切ります。 |
<datatype1,datatype2> |
セット、リスト、マップ、またはタプル。山かっこ(< > )で、セット、リスト、マップまたはタプル内のデータ型を囲みます。データ型をカンマで区切ります。 |
cql_statement; |
CQL文の終了。セミコロン( ; )ですべてのCQL文を終了します。 |
[ -- ] |
コマンドライン・オプションとコマンド引数は、2つのハイフン(-- )で区切ります。この構文は、引数がコマンドライン・オプションと間違われる可能性がある場合に役立ちます。 |
' <schema> ...</schema> ' |
検索CQLのみ:単一引用符( ' )でXMLスキーマ宣言全体を囲みます。 |
@xml_entity='xml_entity_type' |
検索CQLのみ:スキーマ・ファイルおよびsolrconfigファイル内のXML要素を上書きする実体とリテラル値を示します。 |
定義
短い形式と長い形式のパラメーターはカンマで区切られています。
接続オプション
- -h, --host hostname
- リモート・ノードのホスト名またはIPアドレス。省略した場合、デフォルトはローカル・マシンです。
- -p, --port jmx_port
- JMXポート番号。
- -pw, --password jmxpassword
- セキュアなJMXで認証するためのJMXパスワード。パスワードを入力しないと、入力するように求められます。
- -pwf, --password-file jmx_password_filepath
- JMX認証用の資格情報を格納するファイルへのファイルパス。
- -u, --username jmx_username
- セキュアなJMXで認証するためのユーザー名。
コマンド引数
- --deadline-overrides
- シミュレーションで一部またはすべてのテーブルについて構成デッドラインに対するオーバーライドを可能にします。
- -ds, --deadline-safety-factor
- 係数(整数)を指定して、不完全な状態の主な原因となるテーブル・デッドラインを減らします。
- -e, --excludes keyspace_name.table_name, ...
- NodeSyncがサーバーサイドで有効になっている場合に、シミュレーションから除外するテーブルのカンマ区切りのリスト。それらのテーブルでNodeSyncを無効にする確率についての影響をシミュレーションします。
- help
- オプションおよび使用方法の指示を表示します。
- --ignore-replication-factor
- シミュレーションのレプリケーション係数を無視します。このオプションを使用しない場合、デフォルトでは、NodeSyncはクラスターのすべてのノードで実行されて(強く推奨)、検証動作がレプリカ間に広まることが想定されています。NodeSyncがクラスターのすべてのノードで実行される場合、各ノードは、ノードが所有するデータの係数1/RFを検証する必要があります。このオプションはその想定を排除し、ノードが保存するすべてのデータを構成する確率を計算します。
- -i, --includes keyspace_name.table_name, ...
- NodeSyncがサーバーサイドで有効になっていない場合、シミュレーションに含まれるテーブルのカンマ区切りのリスト。それらのテーブルでNodeSyncを有効にする確率についての影響をシミュレーションします。
- -rs, --rate-safety-factor factor_integer
- 不完全状態の原因となる最終レートを増加させる量の係数を表現します。simulateサブコマンドにのみ適用されます。
- -sg, --size-growth-factor factor_integer
- データの増大の主要因であるデータ・サイズの増大の程度を係数で表現します。simulateサブコマンドにのみ適用されます。
- -v, --verbose
- シミュレーション実行方法の詳細を示します。シミュレーションで実施されるすべての手順を表示します。このオプションはシミュレーションを把握するのには役立ちますが、多くのテーブルが存在する場合、結果が必要以上に大きくなる場合があります。
例
commentsテーブルのレートをシミュレートします
nodetool nodesyncservice ratesimulator -i cycling.comments
Computed rate: 420kB/s.
commentsテーブル用の新しい目標時間でレートをシミュレートします
nodetool nodesyncservice ratesimulator --deadline-overrides cycling.comments:20h
シミュレートの例
- CQLで、RF > 1のキースペース内で、NodeSyncを有効にしてテーブルを作成します。例を次に示します。
CREATE KEYSPACE cycling WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 2}; USE cycling; CREATE TABLE comments (record_id timeuuid, id uuid, commenter text, comment text, created_at timestamp, PRIMARY KEY (id, created_at)) WITH nodesync={'enabled': 'true'}; CREATE TABLE comments2 (record_id timeuuid, id uuid, commenter text, comment text, created_at timestamp, PRIMARY KEY (id, created_at)) WITH nodesync={'enabled': 'true'};
- テーブルにデータを挿入します。例を次に示します。
INSERT INTO cycling.comments (record_id, id , created_at , comment, commenter ) values (now(), e7ae5cf3-d358-4d99-b900-85902fda9bb0, '2017-02-14 12:43:20-0800', 'Raining too hard should have postponed', 'Alex'); INSERT INTO cycling.comments (record_id, id , created_at , comment, commenter ) values (now(), e7ae5cf3-d358-4d99-b900-85902fda9bb0, '2017-02-14 12:43:20.234-0800', 'Raining too hard should have postponed', 'Alex'); INSERT INTO cycling.comments (record_id, id , created_at , comment, commenter ) values (now(), e7ae5cf3-d358-4d99-b900-85902fda9bb0, '2017-03-21 13:11:09.999-0800', 'Second rest stop was out of water', 'Alex'); INSERT INTO cycling.comments (record_id, id , created_at , comment, commenter ) values (now(), e7ae5cf3-d358-4d99-b900-85902fda9bb0, '2017-04-01 06:33:02.16-0800', 'LATE RIDERS SHOULD NOT DELAY THE START', 'Alex'); INSERT INTO cycling.comments (record_id, id , created_at , comment, commenter ) values (now(), c7fceba0-c141-4207-9494-a29f9809de6f, totimestamp(now()), 'The gift certificate for winning was the best', 'Amy'); INSERT INTO cycling.comments (record_id, id , created_at , comment, commenter ) values (now(), c7fceba0-c141-4207-9494-a29f9809de6f, '2017-02-17 12:43:20.234+0400', 'Glad you ran the race in the rain', 'Amy'); ...
- シミュレーターを実行します。
nodetool nodesyncservice ratesimulator recommended
予想どおり、挿入されたデータがほとんどないため、計算されたレートはかなり小さくなります。Computed rate: 16B/s.
- 詳細フラグを使用してシミュレータを実行し、そのレートが計算された理由に関する洞察を表示します。
nodetool nodesyncservice ratesimulator recommended -v
予想どおり、挿入されたデータがほとんどないため、計算されたレートはかなり小さくなります。Using parameters: - Size growing factor: 1.00 - Deadline safety factor: 0.25 - Rate safety factor: 0.10 cycling.comments: - Deadline target=7.5d, adjusted from 10d for safety. - Size=1.1MB to validate (2.3MB total (adjusted from 1.1MB for future growth) but RF=2). - Added to previous tables, 1.1MB to validate in 7.5d => 2B/s => New minimum rate: 2B/s cycling.comments2: - Deadline target=7.5d, adjusted from 10d for safety. - Size=7.1MB to validate (14MB total (adjusted from 7.1MB for future growth) but RF=2). - Added to previous tables, 8.3MB to validate in 7.5d => 14B/s => New minimum rate: 14B/s Computed rate: 16B/s, adjusted from 14B/s for safety.