このツールは、複数のソースのいずれかからデータノード、SQL
ノード、および API
ノードの現在の構成情報を抽出: NDB Cluster
管理ノード、またはその
config.ini
または
my.cnf
ファイル。
デフォルトでは、管理ノードが構成データのソースです。デフォルトをオーバーライドするには、--config-file
オプションまたは
--mycnf
オプションを指定して ndb_config を実行します。
--config_from_node=
にノード ID
を指定することによって、データノードをソースとして使用することもできます。
node_id
ndb_config
は、使用できるすべての構成パラメータ、およびそれらのデフォルト値、最大値、最小値、その他の情報のオフラインダンプを生成することもできます。
このダンプはテキスト形式または XML
形式で生成できます。詳細は、このセクションで後述する
--configinfo
および
--xml
オプションの説明を参照してください)。
--nodes
、--system
、または
--connections
のいずれかのオプションを使用すると、結果をセクション
(DB
、SYSTEM
、または
CONNECTIONS
)
によってフィルタリングできます。
次の表には、ndb_config に固有のオプションが含まれています。 追加説明が表のあとにあります。 ほとんどの NDB Cluster プログラム (ndb_config を含む) に共通のオプションについては、セクション23.4.32「NDB Cluster プログラムに共通のオプション — NDB Cluster プログラムに共通のオプション」 を参照してください。
表 23.29 プログラムで使用されるコマンドライン・オプション ndb_config
形式 | 説明 | 追加、非推奨、または削除された |
---|---|---|
my.cnf ファイルの cluster_config セクションの読取り時にデフォルトのグループサフィクスをオーバーライドします。テストで使用されます | 追加: NDB 8.0.24 |
|
config.ini ファイルへのパスを設定します | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
この ID を持つノードから構成データを取得します (データノードである必要があります) | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
すべての NDB 構成パラメータに関する情報をデフォルト値、最大値、および最小値とともにテキスト形式でダンプします。 XML 出力を取得するには、--xml とともに使用します | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
接続情報 ([tcp]、[tcp default]、[sci]、[sci default]、[shm]、またはクラスタ構成ファイルの[shm default]セクション) のみを出力します。 --system または --nodes とともには使用できません | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
デフォルト以外の値を持つ構成パラメータのみ出力 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
フィールド区切り文字 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
ホストを指定します | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
my.cnf ファイルから構成データを読み取ります | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
この ID のノードの構成を取得します | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
ノード情報 ([ndbd]またはクラスタ構成ファイルの[ndbd default]セクション) のみを出力します。 --system または --connections とともには使用できません | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
--ndb-connectstring の短縮形 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
1 つ以上のクエリーオプション (属性) | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
すべてのパラメータと値を単一のカンマ区切り文字列にダンプ | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
行区切り文字 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
「SYSTEM の印刷」セクション情報のみ (ndb_config --configinfo の出力を参照)。 --nodes または --connections とともには使用できません | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
ノードタイプを指定します | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
|
すべての NDB 構成パラメータのダンプをデフォルト値、最大値、および最小値とともに XML 形式で取得するには、--configinfo に -xml を使用します | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
-
コマンド行形式 --cluster-config-suffix=name
導入 8.0.24-ndb-8.0.24 型 文字列 デフォルト値 [none]
my.cnf
でクラスタ構成セクションを読み取るときに、デフォルトのグループサフィクスをオーバーライドします。テストで使用されます。 -
--configinfo
オプションを指定すると、ndb_config は、ndb_config が属する NDB Cluster 配布でサポートされている各 NDB Cluster 構成パラメータのリストをダンプします。次の情報が含まれます:各パラメータの目的、効果、および使用方法の簡単な説明
パラメータを使用できる
config.ini
ファイルのセクションパラメータのデータ型または単位
該当する場合、パラメータのデフォルト値、最小値、および最大値
NDB Cluster のリリースバージョンとビルド情報
デフォルトでは、この出力はテキスト形式です。 この出力の一部を次に示します。
shell> ndb_config --configinfo ****** SYSTEM ****** Name (String) Name of system (NDB Cluster) MANDATORY PrimaryMGMNode (Non-negative Integer) Node id of Primary ndb_mgmd(MGM) node Default: 0 (Min: 0, Max: 4294967039) ConfigGenerationNumber (Non-negative Integer) Configuration generation number Default: 0 (Min: 0, Max: 4294967039) ****** DB ****** MaxNoOfSubscriptions (Non-negative Integer) Max no of subscriptions (default 0 == MaxNoOfTables) Default: 0 (Min: 0, Max: 4294967039) MaxNoOfSubscribers (Non-negative Integer) Max no of subscribers (default 0 == 2 * MaxNoOfTables) Default: 0 (Min: 0, Max: 4294967039) …
このオプションを
--xml
オプションとともに使用して、XML 形式で出力を取得します。 -
コマンド行形式 --config-file=file_name
型 ファイル名 デフォルト値 管理サーバーの構成ファイル (
config.ini
) へのパスを指定します。 これには相対パスまたは絶対パスを指定できます。 ndb_config が呼び出されるホストと別のホストに管理ノードがある場合は、絶対パスを使用する必要があります。 -
コマンド行形式 --config-from-node=#
型 数値 デフォルト値 none
最小値 1
最大値 48
この ID を持つデータノードからクラスタの構成データを取得します。
この ID を持つノードがデータノードではない場合、ndb_config はエラーで失敗します (代わりに、管理ノードから構成データを取得するには、単純にこのオプションを省略します)。
-
コマンド行形式 --connections
型 Boolean デフォルト値 FALSE
CONNECTIONS
情報のみ (クラスタ構成ファイルの[tcp]
,[tcp default]
,[shm]
または[shm default]
セクションにあるパラメータに関する情報) を出力するように ndb_config に指示します (詳細は、セクション23.3.3.10「NDB Cluster TCP/IP 接続」 および セクション23.3.3.12「NDB Cluster の共有メモリー接続」 を参照)。このオプションは、
--nodes
および--system
と相互に排他的です。これらの 3 つのオプションのいずれかのみを使用できます。 -
コマンド行形式 --diff-default
型 Boolean デフォルト値 FALSE
デフォルト以外の値を持つ構成パラメータのみを出力します。
-
--fields=
,delimiter
-f
delimiter
コマンド行形式 --fields=string
型 文字列 デフォルト値 結果のフィールドを区切るために使用される
delimiter
文字列を指定します。 デフォルトは,
(カンマ) です。注記delimiter
にスペースまたはエスケープ (改行文字の\n
など) が含まれている場合は、引用符で囲む必要があります。 -
コマンド行形式 --host=name
型 文字列 デフォルト値 構成情報を取得するノードのホスト名を指定します。
注記ホスト名
localhost
は通常、IP アドレス127.0.0.1
に解決されますが、これはすべてのオペレーティングプラットフォームおよび構成でそうなるとはかぎりません。 これは、config.ini
にlocalhost
が使用されて、localhost
が別のアドレスに解決される (たとえば、一部のバージョンの SUSE Linux では、これは127.0.0.2
です) 別のホストで ndb_config が実行されている場合、ndb_config--host=localhost
が失敗することがあることを意味します。 一般に、最良の結果を得るには、ホストに関連するすべての NDB Cluster 構成値に数値の IP アドレスを使用するか、すべての NDB Cluster ホストが同じ方法でlocalhost
を処理することを確認するようにしてください。 -
コマンド行形式 --mycnf
型 Boolean デフォルト値 FALSE
my.cnf
ファイルから構成データを読み取ります。 -
--ndb-connectstring=
,connection_string
-c
connection_string
コマンド行形式 --ndb-connectstring=connectstring
--connect-string=connectstring
型 文字列 デフォルト値 localhost:1186
管理サーバーに接続するために使用する接続文字列を指定します。 この接続文字列の形式は、セクション23.3.3.3「NDB Cluster 接続文字列」で説明したものと同じであり、デフォルトは
localhost:1186
です。 -
コマンド行形式 --ndb-nodeid=#
型 数値 デフォルト値 0
構成情報を取得するノードのノード ID を指定します。
-
コマンド行形式 --nodes
型 Boolean デフォルト値 FALSE
クラスタ構成ファイルの
[ndbd]
または[ndbd default]
セクションで定義されたパラメータにのみ関連する情報を出力するように ndb_config に指示します (セクション23.3.3.6「NDB Cluster データノードの定義」 を参照)。このオプションは、
--connections
および--system
と相互に排他的です。これらの 3 つのオプションのいずれかのみを使用できます。 -
--query=
,query-options
-q
query-options
コマンド行形式 --query=string
型 文字列 デフォルト値 これは、クエリーオプションのカンマ区切りのリストです。つまり、1 つ以上の返されるノード属性のリストです。 これには、
nodeid
(ノード ID)、タイプ (ノードタイプ、ndbd
、mysqld
またはndb_mgmd
) および値を取得する構成パラメータが含まれます。たとえば、
--query=nodeid,type,datamemory,datadir
は各ノードのノード ID、ノードタイプ、DataMemory
およびDataDir
を返します。注記指定したパラメータが特定のタイプのノードに当てはまらない場合、対応する値には空の文字列が返されます。 詳細はこのセクションで後述する例を参照してください。
-
コマンド行形式 --query-all
型 文字列 デフォルト値 すべてのクエリーオプション (ノード属性) のカンマ区切りリストを返します。このリストは単一の文字列であることに注意してください。
-
--rows=
,separator
-r
separator
コマンド行形式 --rows=string
型 文字列 デフォルト値 結果の行を区切るために使用される
separator
文字列を指定します。 デフォルトはスペース文字です。注記separator
にスペースまたはエスケープ (改行文字の\n
など) が含まれている場合は、引用符で囲む必要があります。 -
コマンド行形式 --system
型 Boolean デフォルト値 FALSE
SYSTEM
の情報のみを出力するように ndb_config に通知します。 これは、実行時に変更できないシステム変数で構成されているため、クラスタ構成ファイルに対応するセクションはありません。 これらは、ndb_config--configinfo
の出力に表示されます (****** SYSTEM ******
という接頭辞が付いています)。このオプションは、
--nodes
および--connections
と相互に排他的です。これらの 3 つのオプションのいずれかのみを使用できます。 -
コマンド行形式 --type=name
型 列挙 デフォルト値 [none]
有効な値 ndbd
mysqld
ndb_mgmd
指定した
node_type
のノード (ndbd
、mysqld
、またはndb_mgmd
) に該当する構成値のみが返されるように、結果をフィルタリングします。 -
コマンド行形式 --help
--usage
ndb_config が使用可能なオプションのリストを出力してから終了します。
-
コマンド行形式 --version
ndb_config がバージョン情報文字列を出力してから終了します。
-
コマンド行形式 --configinfo --xml
型 Boolean デフォルト値 false
このオプションを追加して、ndb_config
--configinfo
が XML として出力を提供するようにします。 このような出力の一部を次の例に示します:shell> ndb_config --configinfo --xml <configvariables protocolversion="1" ndbversionstring="5.7.33-ndb-7.5.21" ndbversion="460032" ndbversionmajor="7" ndbversionminor="5" ndbversionbuild="0"> <section name="SYSTEM"> <param name="Name" comment="Name of system (NDB Cluster)" type="string" mandatory="true"/> <param name="PrimaryMGMNode" comment="Node id of Primary ndb_mgmd(MGM) node" type="unsigned" default="0" min="0" max="4294967039"/> <param name="ConfigGenerationNumber" comment="Configuration generation number" type="unsigned" default="0" min="0" max="4294967039"/> </section> <section name="MYSQLD" primarykeys="NodeId"> <param name="wan" comment="Use WAN TCP setting as default" type="bool" default="false"/> <param name="HostName" comment="Name of computer for this node" type="string" default=""/> <param name="Id" comment="NodeId" type="unsigned" mandatory="true" min="1" max="255" deprecated="true"/> <param name="NodeId" comment="Number identifying application node (mysqld(API))" type="unsigned" mandatory="true" min="1" max="255"/> <param name="ExecuteOnComputer" comment="HostName" type="string" deprecated="true"/> … </section> … </configvariables>
注記通常、ndb_config
--configinfo
--xml
によって生成される XML 出力では 1 行に 1 要素の形式が使用されますが、上記の例および次の例では読みやすくするために空白を追加しています。 ほとんどの XML プロセッサでは通常の処理として不要な空白が無視されるか、無視するように指示できるため、これによってこの出力を使用するアプリケーションに違いは生じないはずです。この XML 出力は、特定のパラメータが変更されたときに、
--initial
オプションを使用してデータノードを再起動する必要があることも示しています。 これは、対応する<param>
要素にinitial="true"
属性が表示されることによって示されます。 また、再起動タイプ (system
またはnode
) も示されます。これは、特定のパラメータでシステムの再起動が要求される場合に、対応する<param>
要素にrestart="system"
属性が表示されることによって示されます。 たとえば、Diskless
パラメータの値セットを変更すると、次に示されているようにシステムの初期再起動が必要となります (restart
属性およびinitial
属性が見やすいように強調表示されています)。<param name="Diskless" comment="Run wo/ disk" type="bool" default="false" restart="system" initial="true"/>
現在、初期再起動が必要ないパラメータに対応する
<param>
要素の XML 出力には、initial
属性は表示されません。言い換えると、initial="false"
がデフォルトであり、属性が表示されていない場合は値false
を想定してください。 同様に、デフォルトの再起動タイプはnode
(つまり、クラスタのオンラインまたは「ローリング」再起動) ですが、restart
属性は再起動タイプがsystem
(すべてのクラスタノードを同時にシャットダウンしてから再起動する必要があることを意味します) である場合にのみ表示されます。非推奨のパラメータは、次に示すように、
deprecated
属性によって XML 出力に示されます:<param name="NoOfDiskPagesToDiskAfterRestartACC" comment="DiskCheckpointSpeed" type="unsigned" default="20" min="1" max="4294967039" deprecated="true"/>
このような場合、
comment
は、非推奨のパラメータよりも優先される 1 つ以上のパラメータを参照します。initial
と同様に、deprecated
属性は、パラメータがdeprecated="true"
で非推奨の場合にのみ示され、非推奨ではないパラメータにはまったく表示されません。 (Bug #21127135)NDB 7.5.0 以降では、次に示すように、必要なパラメータは
mandatory="true"
で示されます:<param name="NodeId" comment="Number identifying application node (mysqld(API))" type="unsigned" mandatory="true" min="1" max="255"/>
initial
またはdeprecated
属性は、初期再起動が必要なパラメータまたは非推奨のパラメータに対してのみ表示されるのとほぼ同じ方法で、mandatory
属性は、指定されたパラメータが実際に必要な場合にのみ含まれます。重要--xml
オプションは--configinfo
オプションを指定した場合にのみ使用できます。--configinfo
を指定せずに--xml
を使用すると、エラーで失敗します。このプログラムで現在の構成データを取得するために使用されるオプションとは異なり、
--configinfo
および--xml
は、ndb_config のコンパイル時に NDB Cluster ソースから取得された情報を使用します。 このため、これらのオプションでは、実行中の NDB Cluster への接続や、config.ini
またはmy.cnf
ファイルへのアクセスは必要ありません。
他の ndb_config オプション
(--query
、--type
など) と --configinfo
(--xml
オプションの有無にかかわらず)
の組合せはサポートされていません。
現在、そうしようとすると通常、--configinfo
または --xml
以外のすべてのオプションが単に無視されます。
ただし、この動作は保証されず、今後変更されることがあります。
また、ndb_config を
--configinfo
オプションとともに使用した場合、NDB Cluster
にアクセスしたり、ファイルを読み取ったりしないため、--ndb-connectstring
や --config-file
with
--configinfo
などの追加オプションを指定しようとしても目的はありません。
例
-
クラスタのノード ID および各ノードのタイプを取得するには、次のようにします。
shell> ./ndb_config --query=nodeid,type --fields=':' --rows='\n' 1:ndbd 2:ndbd 3:ndbd 4:ndbd 5:ndb_mgmd 6:mysqld 7:mysqld 8:mysqld 9:mysqld
この例では、
--fields
オプションを使用して ID および各ノードのタイプをコロン (:
) で区切り、--rows
オプションを使用して各ノードの値を新しい行に出力しています。 -
データノード、SQL ノード、および API ノードが管理サーバーに接続するために使用できる接続文字列を生成するには、次のようにします。
shell> ./ndb_config --config-file=usr/local/mysql/cluster-data/config.ini \ --query=hostname,portnumber --fields=: --rows=, --type=ndb_mgmd 198.51.100.179:1186
-
このように ndb_config を起動すると、(
--type
オプションを使用して) データノードのみがチェックされ、各ノード ID とホスト名の値、およびそのDataMemory
とDataDir
パラメータに設定された値が表示されます:shell> ./ndb_config --type=ndbd --query=nodeid,host,datamemory,datadir -f ' : ' -r '\n' 1 : 198.51.100.193 : 83886080 : /usr/local/mysql/cluster-data 2 : 198.51.100.112 : 83886080 : /usr/local/mysql/cluster-data 3 : 198.51.100.176 : 83886080 : /usr/local/mysql/cluster-data 4 : 198.51.100.119 : 83886080 : /usr/local/mysql/cluster-data
この例では、短いオプションの
-f
および-r
を使用してフィールドデリミタと行セパレータをそれぞれ設定し、短いオプションの-q
を使用して取得するパラメータのリストを渡しています。 -
特定の 1 つのホスト以外のホストを結果から除外するには、
--host
オプションを使用します。shell> ./ndb_config --host=198.51.100.176 -f : -r '\n' -q id,type 3:ndbd 5:ndb_mgmd
また、この例では、短い形式
-q
を使用して、問い合わせる属性を指定しています。同様に、
--nodeid
オプションを使用して、特定の ID を持つノードに結果を制限できます。