nodetool sjk

Swiss Java Knife(SJK)コマンドを実行して、MBeanを使用してデータベースの実行、トラブルシューティング、および監視を行います。

Swiss Java Knife(SJK)コマンドを実行して、MBeanを使用してデータベースの実行、トラブルシューティング、および監視を行います。

構文

nodetool sjk options command command_options
表 1. 凡例
構文規則 説明
大文字 リテラル・キーワード。
小文字 リテラル以外。
イタリック体 変数値。有効なオプションまたはユーザー定義値と置き換えます。
[ ] 任意。角かっこ([])で任意指定のコマンド引数を囲みます。角かっこは入力しないでください。
( ) グループ。丸かっこ(( ))は、選択肢を含むグループを示します。丸かっこは入力しないでください。
| または。縦棒(|)で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。
... 繰り返し可能。省略記号(...)は、構文要素を必要な回数だけ繰り返すことができることを示します。
'Literal string' 単一引用符(')でCQL文内のリテラル文字を囲みます。大文字を維持するには、単一引用符を使用します。
{ key:value } マップ・コレクション。中かっこ({ })でマップ・コレクションまたはキーと値のペアを囲みます。コロンでキーと値を区切ります。
<datatype1,datatype2> セット、リスト、マップ、またはタプル。山かっこ(< >)で、セット、リスト、マップまたはタプル内のデータ型を囲みます。データ型はコンマで区切ります。
cql_statement; CQL文の終了。セミコロン(; )ですべてのCQL文を終了します。
[ -- ] コマンドライン・オプションとコマンド引数は、2つのハイフン(--)で区切ります。この構文は、引数がコマンドライン・オプションと間違われる可能性がある場合に役立ちます。
'<schema> ...</schema> ' 検索CQLのみ:単一引用符(' )でXMLスキーマ宣言全体を囲みます。
@xml_entity='xml_entity_type' 検索CQLのみ:スキーマ・ファイルおよびsolrconfigファイル内のXML要素を上書きする実体とリテラル値を示します。

接続オプション

すべてのnodetoolコマンド用の接続および認証方法。
表 2. オプション
短い形式 長い形式 説明
-h --host ホスト名またはIPアドレス。
-p --port ポート番号。
-pwf --password-file パスワード・ファイルのパス。
-pw --password パスワード。
-u --username リモートJMXエージェントのユーザー名。
-- オプションと間違えられる可能性のある引数とオプションを分離します。

オプション

一般的なSwiss Java Knifeオプション。

--commands
すべてのSJKコマンドのリストを表示します。
--help
コマンド特有のヘルプを表示します。たとえば、nodetool sjk ttop --helpです。
-X、--verbose
詳細な診断を表示します。

コマンド

DataStaxは、nodetoolからのSJKコマンドの実行をサポートしています。

mxdump

シリアライズされたMBeanをJSON形式で出力します。
警告: -q(query)スイッチを指定せずにこのコマンドを実行すると、mx4j Mbeanなどのシリアライズ不可能な型が返された場合にエラーが発生します。
-q、--query

ObjectNameを指定して、選択されたMBeanを出力します。アスタリスク(*)と疑問符(?)のワイルドカード文字を使用してパターンを一致させます。

たとえば、ガーベージ・コレクター用の値をすべて取得するには、次のようにします。
nodetool sjk mxdump -q java.lang:type=GarbageCollector,name=*

gc

リモート・プロセス用のGC(ガーベージ・コレクション)ログ・メッセージを出力します。

GCログ・メッセージを出力するには:
nodetool sjk gc
注: GC用のオプションはありません。

hh

ヒープ・ヒストグラム(hh)は、jmap -histoと同様に、クラス・ヒストグラムを出力します。オプションを指定しない場合は、すべてのオブジェクトの完全なヒストグラムを出力します。

注: パッケージ・インストールでは、データベースを実行するアカウントでnodetoolを実行します。
たとえば、DSEパッケージをインストールしたシステムで、サンプル期間が10000ミリ秒のyoungのヒストグラムを出力するには、次のようにします。
sudo -u cassandra nodetool sjk hh --young --sample-depth 10000ms -n 10
-d、--sample-depth
整数と単位を指定して、--dead-youngまたは--youngに対するサンプル期間を設定します。デフォルト:10000ms。単位の指定には、次の表記を使用します。
  • ms(ミリ秒)
  • s(秒)
  • m(分)
  • h(時間)
  • d(日)
--dead
deadオブジェクトのヒストグラムを出力します。
--dead-young
dead youngオブジェクトのサンプルのヒストグラムを出力します。期間を設定するには、-dを付けて使用します。
--live
liveオブジェクトのヒストグラムを出力します。
-n、--top-number
N個のトップ・バケットのバケット数を制限します。デフォルト:2147483647。
--young
新しいオブジェクトのサンプルのヒストグラムを出力します。期間を設定するには、-dを付けて使用します。

mx

nodetoolインターフェースからMbeanのクエリーと実行を提供します。

-all、--allMatched
一致したすべてのMBeanを処理します。
-a、--arguments
MBean操作呼び出しの引数。
-f、--field、--attribute
MBean属性。
-b、--bean
Mbean名。
-mc、--call
MBeanメソッドを呼び出します。デフォルト:false。
-mg、--get
MBean属性の値を取得します。デフォルト:false。
-mi、--info
MBeanのメタデータを表示します。デフォルト:false。
--max-col-width
表形式のデータを書式設定するためのテーブル・カラム幅のしきい値。デフォルト:40。
-op、--operation
呼び出されるMBean操作名。
--quiet
不可欠ではない出力を回避します。デフォルト:false。
-ms、--set
MBean属性の値を設定します。デフォルト:false。
-v、--value
設定するMBean属性の値。

jps

Java Development Kit(JDK)のjpsツールの機能強化版。ターゲット・システムにインストールされたHotSpot Java仮想マシン(JVM)をリストします。

-fd、--filter-description

ワイルドカード式を使用して、プロセスの説明と一致させます。

-fp、--filter-property
ワイルドカード式を使用して、JVMシステム・プロパティと一致させます。
-pd、--process-details
プロセスに関連するカスタム情報を出力します。PID、MAIN、FDQN_MAIN、ARGS、Dsys-prop、またはDsys-propに設定します。
Xjvm-flag
指定されたJVMフラグに関連するカスタム情報を出力します。

stcap

スタック・キャプチャーは、後続の処理のためにスタック・トレースをファイルにダンプします。

-e、--empty
ダンプにスタック・トレースを持たないスレッドを保持するには、trueに設定します(デフォルトでは無視されます)。デフォルト:false。
-f、--filter
Java RegEx構文を使用して、スレッドを名前でフィルターします。デフォルト:.*
注: デフォルト値であるピリオド(.)の後にアスタリスク(*)が付いていれば、nullを含む任意の数の任意の文字を使用できます。
-l、--limit
収集するトレースのターゲット数。この数に達するとコマンドが終了します。0は無制限になります。デフォルト:0。
-m、--match-frame
フィルタリング文字列に設定し、含まれるトレースのみがダンプに含まれます。
-o、--output
スレッド・ダンプを指定されたファイル名に書き込みます。
-r、--rotate
これが指定されると、出力ファイルがN個のトレースごとにローテーションされます。ローテーションしない場合は0を指定します。デフォルト:0。
-i、--sampler-interval
MBeanのポーリング間隔。デフォルト:0。
-t、--timeout
十分なトレースが収集されなくてもコマンドが終了するまでの時間。デフォルト:30000。

stcpy

Stack Copyユーティリティは、ダンプをコピーしてフィルターします。

-e、--empty
ダンプにスタック・トレースを持たないスレッドを保持するには、trueに設定します(デフォルトでは無視されます)。デフォルト:false。
-i、--input
ファイル(複数)を入力します。
--mask
1つ以上のマスキング規則、たとえばcom.mycompany:com.somecompany

デフォルト:null

-m、--match-frame
フレーム・フィルターで、文字列を含むトレースのみがダンプに含まれます。
-o、--output
ファイル名に設定します。スレッド・ダンプを指定したファイルに書き込みます。
-ss、--subsample
1.0未満の場合、一部のフレームがランダムに破棄されます。たとえば、0.1なら、10フレームごとに1つのフレームが保持されます。デフォルト:1.0。
-tf、--thread-filter
Java RegEx構文を使用して、スレッドを名前でフィルターします。デフォルト:.*

ssa

スタック・トレース・ダンプ用のスタック・サンプル・アナライザー。

--categorize
入力されたカテゴリーのサマリーを出力します。デフォルトでは、サマリーは出力されません。
-cf、--categorizer-file
スタック・トレースのカテゴリー定義を含むファイルへのパス。
-co、--csv-output
データをCSV形式で出力します。デフォルト:false。
-f、--file
スタック・ダンプ・ファイルへのパス。
--flame
フレーム・グラフ.png形式にエクスポートします。デフォルト:含まれません。
--histo
フレーム・ヒストグラムを出力します。デフォルト:含まれません。
-nc、--named-class
名前スタック・トレースを定義します。他のオプションと共に使用します。
classes
name=filter expression表記を使用します。デフォルト:式を使用しない。
--print
ファイルからトレースを出力します。デフォルト:含まれません。
-rc、--rainbow
虹色の色分けフィルターのリスト。
--ssa-help
SSAオプションに関する追加情報を表示します。デフォルト:表示されません。
-si、--summary-info
サマリーをリストします。
--thread-info
スレッドごとのサマリー情報を出力します。デフォルト:false。
-tn、--thread-name
Java RegEx構文を使用して、スレッド名をフィルターします。
-tr、--time-range
時間範囲をフィルターします。
-tz、--time-zone
タイムスタンプに使用されるタイム・ゾーン。デフォルト:UTC。タイム・ゾーン表記については、--ssa-helpを使用してください。
--title
フレーム・グラフのタイトルを挿入します。デフォルト:Flame Graph。
-tf、--trace-filter
処理する前に、トレースにフィルターを適用します。フィルター表記の詳細については、--ssa-helpを使用してください。
-tt、--trace-trim
処理するフレームをトリムする位置フィルター。トレース・フィルターの詳細については、--ssa-helpを使用してください。
--width
フレーム・グラフの幅(ピクセル単位)。デフォルト:1200。

ttop

JVMプロセスからの上位スレッドを表示します。

-f、--filter
スレッドを名前でフィルターするためのワイルドカード式。
-o、--order
ソート順。値のタグ:CPU、USER、SYS、ALLOC、NAME。デフォルト:CPU。
-ri、--report-interval

CPU使用量レポートの間隔。デフォルト:10000。

-si、--sampler-interval
MBeanのポーリング間隔。デフォルト:500。
-n、--top-number
表示するスレッドの数。デフォルト:20。

EndpointStateTracker MBeanのステータスを取得する

nodetool sjk mx -b com.datastax.bdp:type=core,name=EndpointStateTracker -f Blacklisted --get

EndpointStateTracker MBeanのステータスをtrueに設定する

nodetool sjk mx -b com.datastax.bdp:type=core,name=EndpointStateTracker -f Blacklisted --set -v true

node1のステータスを取得する

nodetool sjk mx -b com.datastax.bdp:type=core,name=EndpointStateTracker -mc -op getBlacklistedStatus -a node1