dsetoolユーティリティ

システム・キーの作成、機密構成情報の暗号化、およびCFSのチェックやキースペースにあるデータのノード・サブ範囲のリストなどのCassandraファイル・システム(CFS)の実行に、dsetoolユーティリティを使用します。

システム・キーの作成、機密構成の暗号化、およびCFSのチェックやキースペースにあるデータのノード・サブ範囲のリストなどのCassandraファイル・システム(CFS)の実行に、dsetoolユーティリティを使用します。

構文およびdsetoolコマンドの引数

構文
$ dsetool [-f config_file] [-l username -p password] [-a jmx_username -b jmx_password] [-h=hostname] [-s=Solr_port] [-j=jmx_port] command args

JMX認証は、いくつかのdsetoolコマンドによってサポートされています。他のdsetoolコマンドは、構成済みのCassandraユーザーのユーザー名とパスワードによって認証されます。 認証情報を複数の方法で提供できます。「認証情報」を参照してください。

この表では、すべてのdsetoolコマンドでサポートされているdsetool引数について説明します。
短い形式 長い形式 説明
-f --config-file 認証情報を格納する構成ファイルへのパス。この構成ファイルの認証情報によって、~/.dsercの認証情報がオーバーライドされます。
-l --username 構成済みCassandraロールを使用して認証するためのロール。
-p --password 構成済みCassandraロールを使用して認証するためのパスワード。
-a --jmxusername arg セキュアなJMXを使用して認証するためのユーザー名。
-b --jmxpassword arg セキュアなJMXを使用して認証するためのパスワード。
-c --cassandra_port Cassandraのポート番号。
-h --host arg ノードのホスト名またはIPアドレス
-j --jmxport arg リモートJMXエージェントのポート番号。
-s --port Solrのポート番号。

dsetoolコマンド

checkcfs cfs:///|filepath|
以下のオプションを使用して、単一のCassandraファイル・システム(CFS)ファイルまたはCFS全体をチェックします。
  • cfs:/// - Cassandraファイル・システム(CFS)全体をスキャンして、壊れているファイルを見つけます。
  • filepath - 壊れている特定のファイルに関する詳細を取得します。
dsetoolを使用したCFSのチェック」を参照してください。
core_indexing_status keyspace.table [--all]
DSE Searchノードで指定されたコアの動的なインデックス作成ステータス(INDEXING、FINISHED、またはFAILED)を取得します。すべてのSolrコアの動的なインデックス作成ステータスを取得するには、--allを指定します。
dsetool -h IP_address core_indexing_status core_name
ここで、IP_addressは、dsetool ringコマンドによって出力されたホストのIPアドレスです。
IPアドレスを指定しない場合、デフォルトはローカルのDataStax Enterpriseノードです。例:
dsetool core_indexing_status wiki.solr
wiki.solr:INDEXING
create_core keyspace.table
[-l username -p password]が指定されたCassandraパスワード認証をサポートします。
Solrコアを作成し、オプションで自動的にリソースを生成します。このコマンドを実行すると、キースペース名とテーブル名の大文字/小文字の区別が維持されます。キースペース名とテーブル名では、大文字/小文字を正しく使用する必要があります。Solrコアは、指定されたキースペース名およびテーブル名と以下のオプションで作成されます。
オプション 設定 デフォルト 説明
schema= filepath なし スキーマ・ファイルのパス。generateResources=trueの場合、指定できません。
solrconfig= filepath なし solrconfig.xmlファイルのパス。generateResources=trueの場合、指定できません。
distributed= trueまたはfalse true
  • trueを指定すると、操作がローカルDCのすべてのノードに分散および適用されます。
  • falseを指定すると、送信先のノードにのみ操作が適用されます。
recovery trueまたはfalse false
  • trueを指定すると、インデックスが壊れているためにSolrコアで読み込むことができない場合、インデックスを削除して再作成することによって復元します。deleteAllフラグは自動的に設定されます。
  • falseを指定すると、復元されません。
deleteAll= trueまたはfalse false
  • trueを指定すると、インデックスが再作成される前に、既存のインデックスが削除されます。検索結果では、インデックスの再構築中はデータが返されないか、一部のデータが返されます。
  • falseを指定すると、既存のインデックスは削除されず、その場でインデックスが再作成されます。検索結果では、インデックスの更新中は、部分的に不正確な結果が返されます。
reindex= trueまたはfalse false 自動コア作成(generateResources=true)時にのみ見られます。それ以外の場合は、コアの作成時に必ずインデックスが再作成されます。
  • trueを指定すると、データのインデックスが再作成されます。
  • falseを指定すると、データのインデックスは再作成されません。
generateResources= trueまたはfalse false schema=およびsolrconfig=とともに使用できません。
coreOptions なし なし generateResources=trueの場合のYAML形式のオプションファイルへのパス。「自動リソース生成のカスタマイズ」を参照してください。
coreOptionsInline options なし coreOptionsで指定されたYAMLファイルで指定可能な同じオプションを受け入れます。「自動リソース生成のカスタマイズ」を参照してください。key1:value1#key2:value2#の構文を使用します。

例: coreOptionsInline=include_columns:id,name,body#rt:true

createsystemkey algorithm[/mode/padding] secret_key_strength [file] [-k=kmip_groupname [-t kmip_template] [-n namespace]]
以下のオプションを使用して、SSTable暗号化のために、システム・キーと呼ばれるグローバル暗号化キーを作成します。
  • algorithm[/mode/padding] secret_key_strength - Java Cryptography Extension (JCE)がインストールされている場合、cipher_algorithmオプションとアルゴリズムで使用可能なsecret_key_strength値は以下のとおりです。
    cipher_algorithm secret_key_strength
    AES/CBC/PKCS5Padding 128、192、または256
    AES/ECB/PKCS5Padding 128、192、または256
    DES/CBC/PKCS5Padding 56
    DESede/CBC/PKCS5Padding 112または168
    Blowfish/CBC/PKCS5Padding 32-448
    RC2/CBC/PKCS5Padding 40-128

    キーの強度は、HMACアルゴリズムでは必要ありません。

  • file - 作成するシステム・キー・ファイルの名前を指定します。名前を指定しない場合、デフォルトのシステム・キー・ファイル名はsystem_keyになります。デフォルトのシステム・キー・ファイル名は構成できません。
  • -k=kmip_groupname - KMIP接続情報を使用して、dse.yamlファイルのkmip_hostsセクションで定義されたKMIPキー・サーバー・グループのリモート・システム・キーを作成します。指定されたKMIPキー・サーバー・グループについてのみ、以下のオプションを使用できます。
    • -t kmip_template - 指定されたKMIPサーバー・キー・テンプレートを使用します。
    • -n namespace - システム・キーを作成するために使用する名前空間を指定します。
暗号化/圧縮オプションとアルゴリズム・サブオプション」および「機密プロパティ値の暗号化」を参照してください。
encryptconfigvalue
機密構成情報を暗号化します。このコマンドには引数がなく、暗号化する値を求めるプロンプトが表示されます。
get_core_config keyspace.table [current=true|false]
指定のコアに対してアップロードされた最新のsolrconfig.xmlリソース・ファイルを出力します。currentをtrueに設定すると、現在のライブsolrconfigを返します。
get_core_schema keyspace.table [current=true|false]
[-l username -p password]が指定されたCassandraパスワード認証をサポートします。
アップロードされた最新のSolrスキーマを出力します。currentをtrueに設定すると、現在有効なスキーマを返します。
infer_solr_schema keyspace.table [coreOptions path_to_options_file]
[-l username -p password]が指定されたCassandraパスワード認証をサポートします。
指定のキースペースとテーブルに基づいたスキーマを自動的に推測して提案します。Solrコアは変更されません。Solrスキーマは、指定のcoreOptions YAMLファイルによって推測されるか、coreOptionsInlineを持つコマンド・ラインで指定されます。
オプション 設定 デフォルト 説明
coreOptions なし なし generateResources=trueの場合のYAML形式のオプションファイルへのパス。「自動リソース生成のカスタマイズ」を参照してください。
coreOptionsInline options なし coreOptionsで指定されたYAMLファイルで指定可能な同じオプションを受け入れます。key1:value1#key2:value2#の構文を使用します。「自動リソース生成のカスタマイズ」を参照してください。

例: coreOptionsInline=include_columns:id,name,body#rt:true

inmemorystatus [keyspace.table]
メモリー・サイズ、キャパシティ、およびこのノードと各テーブルが使用しているメモリー量の割合を入力します。1つのテーブルについての情報を取得するには、キースペースとテーブルを指定します。単位はMBです。バイトは切り捨てられます。
list_index_files keyspace.table [--index directory]
以下のオプションを指定して、ローカル・ノードの指定されたSolrコアについて、すべてのDSE Searchインデックス・ファイルをリストします。
  • --index directory Solrインデックス・ファイルを含んでいるデータ・ディレクトリーを指定します。指定しない場合は、Solrコアの名前からデフォルトのディレクトリーが推測されます。
インデックス・ファイルは、バックアップ対象のCQLテーブルが暗号化され、SolrコアがEncryptedFSDirectoryFactoryを使用する場合にのみ、暗号化されます。それ以外の場合は、インデックス・ファイルは復号化されます。
list_subranges keyspace.table keys_per_range start_token, end_token
指定されたキースペース/テーブルに対するトークンの範囲を、約keys_per_rangeの小さな多数のサブ範囲に分割します。これを有効にするには、指定する範囲がターゲット・ノードの主な範囲に含まれる必要があります。「dsetoolを使用したサブ範囲のリスト表示」を参照してください。
listjt
すべてのジョブ・トラッカー・ノードをそれぞれのローカル別のデータ・センターでグループ分けしてリストします。
managekmip subcommand kmip_groupname [command_arguments]
指定されたKMIPキー・サーバーとの通信を確認し、そのキー・サーバー上のKMIP暗号化キーをリストします。以下のサブコマンドがサポートされています。
list kmip_groupname [namespace=key_namespace]
指定されたKMIPホスト上の暗号化キーをリストします。オプションで名前空間を指定できます。
expirekey kmip_groupname key_id [datetime]
指定された暗号化キーの有効期限の日付と時刻を指定します。指定のdatetimeの後、新しいデータはこのキーで暗号化されません。この有効期限の日付/時刻の後、このキーでデータを復号化することはできます。有効期限の日付/時刻を指定しない場合、キーはすぐに期限切れになります。

datetimeの形式はYYYY-MM-DD HH:MM:SS:Tです。たとえば、2016-04-13 20:05:00:0と指定すると、2016年4月13日の午後8時5分に暗号化キーが期限切れになります。

revoke kmip_groupname key_id
指定された暗号化キーを取り消します。キーが取り消されると、キーを使用してデータを復号化できません。
destroy kmip_groupname key_id
指定された暗号化キーを破棄します。キーが破棄されると、キーを使用してデータを復号化できません。
node_health -h IP_address [-all]
DataStax Enterpriseノードの健全性を示す0〜1の動的なスコアを取得します。IPアドレスを指定しない場合、デフォルトはローカルのDataStax Enterpriseノードです。スコアが高いほど、ノードの健全性は良好です。削除された多数のミューテーションを持つノードと、起動されたばかりのノードでは、健全性スコアは低くなります。
dsetool -h IP_address node_health
ここで、IP_addressは、dsetool ringコマンドによって出力されたIPアドレスです。
例:
dsetool -h 200.192.10.11 node_health 
Node Health:0.7
すべてのノードについてノード健全性スコアを取得するには、-allを指定します。
dsetool node_health -all
パーティショナー
クラスターが使用しているIpartitionerの完全修飾クラス名を返します。
perf subcommand
パフォーマンス・オブジェクト設定を、サブコマンド・セクションで説明されているように変更します。
read_resource keyspace.table name=resfilename
[-l username -p password]が指定されたCassandraパスワード認証をサポートします。
指定されたDSE Searchリソース・ファイルを読み取ります。
rebuild_indexes keyspace.table [idx1,idx2,...]
指定されたキースペース/テーブルに対して、指定されたセカンダリ・インデックスを再作成します。すべてのインデックスを再作成するには、インデックスを指定せずに、rebuild_indexes keyspace.tableのみを使用します。
reload_core keyspace.table [option ...]
[-l username -p password]が指定されたCassandraパスワード認証をサポートします。
指定されたキースペースとテーブル名でSolrコアを再度読み込みますこのコマンドを実行すると、キースペース名とテーブル名の大文字/小文字の区別が維持されます。キースペース名とテーブル名では、大文字/小文字を正しく使用する必要があります。 以下のオプションを指定してコアを再度読み込みます。
オプション 設定 デフォルト 説明
schema= filepath なし スキーマ・ファイルのパス
solrconfig= filepath なし solrconfig.xmlファイルのパス
distributed= trueまたはfalse true
  • trueの場合、再読み込み操作がローカルDCのすべてのノードに分散および適用されます。
  • falseの場合、再読み込み操作が送信されたノードにのみ適用されます。
reindex= trueまたはfalse false
  • trueの場合、データのインデックスが再作成されます。
  • falseの場合、データのインデックスは再作成されません。
deleteAll= trueまたはfalse false
  • trueの場合、インデックスが再作成される前に、既存のインデックスが削除されます。インデックスの再作成中は、検索結果にデータはまったく表示されないか、一部のデータのみが表示されます。
  • falseの場合、既存のインデックスは削除されず、インデックスの再作成がその場で実行されます。インデックスの更新中は、検索結果に部分的に不正な結果が返されます。
repaircfs
CFSを孤立ブロックからリペアします。
ring
トークンでソートされたリング内のノードを、ノードの種類を含めてリストします。ワークロードの種類が異なるデータ・センターについては注意してください。
sparkworker restart
選択されたノードで、そのノードを再起動しないで、Sparkワーカーを手動で再起動します。
status
リング内のノードを、ノードの種類やノードの健全性を含めてリストします。データ・センターのワークロードの種類が同じ場合、ワークロードの種類がリストされます。データ・センターのワークロードの種類が異なる場合、ワークロードの種類が混合されます。ringコマンドの出力に似ています。
stop_core_reindex keyspace.table [timeout]
指定されたキースペースとテーブルに対するSolrコアのインデックスの再作成を停止します。指定されたタイムアウト(単位は分)までコアによるインデックスの再作成の停止を待ち、インデックス作成を正常に停止させます。デフォルトのタイムアウトは1分です。
tieredtablestats [keyspace.table] [-v]
SSTable、階層、タイムスタンプ、サイズなどの階層化ストレージ情報を出力します。階層化ストレージを使用するすべてのテーブルの情報を入力します。
dsetool tieredtablestats foo.bar -v
  • -v 階層サマリーに加えてSSTableごとの統計を出力します。
  • keyspace.table 指定されたキースペースとテーブルのみについての統計を出力します。
tsreload client|server
再起動せずにノードのトラストストアを再度読み込みます。以下のように、クライアントまたはサーバーを指定します。
  • client - クライアントとノード間の暗号化通信に使用されるクライアント・トラストストアを再度読み込みます。
  • server - ノードとノード間の暗号化SSL通信に使用されるサーバー・トラストストアを再度読み込みます。
unload_core keyspace.table [option ...]
[-l username -p password]が指定されたCassandraパスワード認証をサポートします。
指定されたキースペースとテーブル名でSolrコアを削除しますこのコマンドを実行すると、キースペース名とテーブル名の大文字/小文字の区別が維持されます。キースペース名とテーブル名では、大文字/小文字を正しく使用する必要があります。 以下のオプションを指定してコアをアンロードします。
オプション 設定 説明
deleteDataDir= trueまたはfalse trueの場合、基盤のCassandraデータを削除します。
deleteResources= trueまたはfalse trueの場合、コアに関連するリソース(solrconfig.xmlおよびschema)を削除します。
distributed= trueまたはfalse TrueおよびdeleteDataDir=trueの場合、すべてのノードのインデックス・データ・ディレクトリーを削除します。
upgrade_index_files keyspace.table -h IP_address [-c cassandra_port] [--backup] [--workspace directory] [--index directory]
暗号化構成が格納されているノードが実行されている必要があります。ローカル・ノードはオフラインです。このコマンドを実行するユーザーは、インデックス・ファイルが格納されているディレクトリーの読み取りおよび書き込みパーミッションが付与されている必要があります。 以下のオプションを指定して、ローカル・ノードの指定されたSolrコアについて、すべてのDSE Searchインデックス・ファイルをアップグレードします。
  • -h IP_address - 必須。暗号化構成を含んでいるリモート・ノードのノード・ホスト名またはIPアドレス。リモート・ノードは実行中である必要があります。
  • -c cassandra_port - 暗号化構成を含んでいるリモート・ノードのCassandraポート。
  • --backup - 正常なアップグレード後のバックアップとして現在のインデックスからのインデックス・ファイルを保持します。指定しない場合、現在のインデックスからのインデックス・ファイルは削除されます。
  • --workspace directory - アップグレード・プロセス用のワークスペース・ディレクトリーを指定します。アップグレードされたインデックスがこのディレクトリーに作成されます。--backupを指定しない場合、保持されたインデックス・ファイルのバックアップはここに移動されます。指定しない場合、デフォルトのディレクトリーは、Solrインデックス・ファイルを含んでいる同じディレクトリーになります。
  • --index directory - Solrインデックス・ファイルを含んでいるデータ・ディレクトリーを指定します。指定しない場合は、Solrコアの名前からデフォルトのディレクトリーが推測されます。
インデックス・ファイルは、バックアップ対象のCQLテーブルが暗号化され、SolrコアがEncryptedFSDirectoryFactoryを使用する場合にのみ、暗号化されます。それ以外の場合は、インデックス・ファイルは復号化されます。
write_resource keyspace.table name=uploaded_name file=path_to_file_to_upload
[-l username -p password]が指定されたCassandraパスワード認証をサポートします。
指定されたDSE Searchリソース・ファイルをアップロードします。
$ dsetool write_resource keyspace.table name=ResourceFile.xml file=schemaFile.xml
アップロードされたリソース・ファイルのファイル名と、アップロードするリソース・ファイルへのパスを指定できます。たとえば、stopwords.txtです。
$ dsetool write_resource keyspace.table name=ResourceFile.xml file=myPath1/myPath2/schemaFile.xml
リソース・ファイルはCassandraデータベースに格納されます。リソースを表示するには、dsetool read_resourceを使用するか、Solr Adminインターフェイスを使用します。

dsetoolを使用したCFSのチェック

dsetool checkcfsコマンドを使用して、Cassandraファイル・システム(CFS)をスキャンして、壊れているファイルを見つけます。例:
dsetool checkcfs cfs:///
dsetool checkcfsコマンドを使用して、壊れているファイルに関する詳細を取得します。例:
dsetool checkcfs /tmp/myhadoop/mapred/system/jobtracker.info

dsetoolを使用したサブ範囲のリスト表示

キースペース内のデータのサブ範囲をリスト表示するためのdsetoolコマンドの構文:
dsetool [-h hostname ] list_subranges keyspace table rows_per_subrange start_token end_token
  • rows_per_subrange - サブ範囲あたりのおおまかな行数。
  • start_partition_range - ノードの開始範囲。
  • end_partition_range - ノードの終了範囲。
注: list_subrangesの出力を使用して、1つのノード上でnodetool repairを実行します。この出力はそのノードで使用されるパーティション範囲にする必要があります。
dsetool list_subranges Keyspace1 Standard1 10000 113427455640312821154458202477256070485 0

出力

出力で、nodetool repairコマンドへの入力として使用するサブ範囲をリスト表示します。例:
Start Token                             End Token                               Estimated Size
------------------------------------------------------------------------------------------------
113427455640312821154458202477256070485 132425442795624521227151664615147681247 11264
132425442795624521227151664615147681247 151409576048389227347257997936583470460 11136
151409576048389227347257997936583470460 0                                       11264

nodetool repairコマンドのオプション

サブ範囲で作業する場合は、nodetoolユーティリティを使用する必要があります。開始パーティション範囲(-st)と終了パーティション範囲(-et)のオプションで、リペアが必要なノードの部分を指定します。開始トークンと終了トークンの値は、dsetool list_subrangesコマンドの出力から得られます。これらのオプションを使用するためのnodetool repair構文は以下のとおりです。
nodetool repair keyspace table -st start_token -et end_token
nodetool repair Keyspace1 Standard1 -st 113427455640312821154458202477256070485 -et 132425442795624521227151664615147681247 
$ nodetool repair Keyspace1 Standard1 -st 132425442795624521227151664615147681247 -et 151409576048389227347257997936583470460
$ nodetool repair Keyspace1 Standard1 -st 151409576048389227347257997936583470460 -et 0

これらのコマンドは、開始パーティション範囲から終了パーティション範囲までのアンチエントロピー・ノードのリペアを開始します。

パフォーマンス・オブジェクト・サブコマンド

dsetool perfコマンドのサブコマンドを使用すると、実行中のパラメータを一時的に変更します。

サブコマンド名 可能な値 説明
clustersummary - enable|disable クラスター・サマリー統計を切り替えます。「データベース・サマリー診断情報の収集」を参照してください。
cqlslowlog - threshold

- enable|disable

CQLのスロー・ログしきい値を実際の要求時間のパーセンタイルまたはミリ秒単位で設定します。
  • [0,1]はパーセンタイルしきい値です
  • >1はミリ秒単位の絶対しきい値です
  • 1.0の場合、クエリーをログに記録しません
  • 99.9の場合、最も遅いクエリーの0.1%をログに記録します
  • 95.0の場合、最も遅いクエリーの5%をログに記録します
  • 50.0の場合、最も遅いクエリーの50%をログに記録します
  • 0.0の場合、すべてのクエリーをログに記録します

CQLのスロー・ログを切り替えます。

遅いクエリーの収集」を参照してください。
cqlsysteminfo - enable|disable CQLのシステム情報統計を切り替えます。「システム・レベル診断情報の収集」を参照してください。
dbsummary - enable|disable データベース・サマリー統計を切り替えます。「データベース・サマリー診断情報の収集」を参照してください。
histograms - enable|disable テーブル・ヒストグラムを切り替えます。「テーブル・ヒストグラム診断情報の収集」を参照してください。
resourcelatencytracking - enable|disable リソース・レイテンシー追跡を切り替えます。「システム・レベル診断情報の収集」を参照してください。
solrcachestats - enable|disable Solrキャッシュ統計を切り替えます。
solrindexingerrorlog - enable|disable Solrインデックス作成エラー・ログを切り替えます。
solrindexstats - enable|disable Solrインデックス統計を切り替えます。
solrlatencysnapshots - enable|disable Solrレイテンシー・スナップショットを切り替えます。
solrrequesthandlerstats - enable|disable Solr要求ハンドラー統計を切り替えます。
solrslowlog - enable|disable Solr低速サブクエリー・ログを切り替えます。「遅いSolrクエリーの収集」を参照してください。
solrupdatehandlerstats - enable|disable Solr更新ハンドラー統計を切り替えます。
userlatencytracking - enable|disable ユーザー・レイテンシー追跡を切り替えます。「ユーザー・アクティビティー診断情報の収集」を参照してください。
注: パフォーマンス・オブジェクト・サブコマンドを使用した有効化または無効化は、再起動間では保持されないため、短期の診断にのみ有益です。これらの設定を永続化するには、dse.yamlオプションを変更する必要があります。「CQLパフォーマンス・サービス・オプション」を参照してください。