これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド kaput です。
プログラム:
NAME
kanif-クラスター管理用のTakTukラッパー
SYNOPSIS
現金|ショックを受けた|カパット [-aFHhimqsV] [-f conf-ファイル] [-l ログインする] [-M マシンリスト] [-n|-w ノード]
[-o オプション] [-p レベル] [-r 指図] [-T オプション] [-t タイムアウト] [-u タイムアウト] [-x ノード]
【機械仕様】【コマンド本体】
DESCRIPTION
カニフ は、クラスターの管理と管理のためのツールです。 それはの主な機能を組み合わせた
c3、pdsh、dshなどのよく知られたクラスター管理ツールは、それらの構文を模倣しています。 にとって
依存する効果的なクラスター管理 タクトゥク、大規模リモート用ツール
実行デプロイメント。
クラスターなどの通常のマシンで実行する必要がある単純な並列タスクの場合、
タクトゥク 構文が複雑すぎます。 の目標 カニフ より簡単で親しみやすいものを提供することです
まだ利用しながらクラスター管理者への構文 タクトゥク 特性
および機能(適応性、スケーラビリティ、移植性、自動伝播、および情報
リダイレクション)。
働くには カニフ ユーザーで「taktuk」コマンド(バージョン3.3以降)を見つける必要があります
道。 その他の要件は タクトゥク:必要なのは、のすべてのノードで
クラスター、動作するPerlインタープリター(バージョン5.8以降)、およびログなしでログを記録するコマンド
パスワード(適切なrsaキーがインストールされた「ssh」など)。
カニフ クラスタの管理と管理のためのXNUMXつの簡単なコマンドを提供します。
現金:複数のノードで同じコマンドを実行します
カパット:ファイルまたはディレクトリのコピーを複数のノードにブロードキャストします
ショックを受けた:いくつかのリモートファイルまたはディレクトリを収集します
カニフ いくつかのクラスター管理ツールの利点を組み合わせています。 その主な機能は
次のように要約します。
・静的クラスター設定用のC3スタイルの構成ファイル
・ノード範囲やタイムアウトなどのpdshのようなオプション
・dshbakのような出力の収集、並べ替え、およびマージ
「pdsh」と同様に、 カニフ 展開は、信号によって監視および制御できます。 いつ カニフ
SIGINT(通常はCtrl-Cを入力して送信)を受信すると、その概要が表示されます。
展開状態とコマンド実行の進行状況。 この最初のSIGINTの後、 カニフ
XNUMX秒以内にXNUMX番目の信号を受信します。
・これがSIGINTの場合、実行を終了します(進行中のタスクをキャンセルします)。
・進行中の接続をキャンセルし、すでにデプロイされているノードで実行を開始します
これがSIGTSTPの場合(通常はCtrl-Zを入力して送信されます)
処刑の終わりに、 カニフ また、障害の簡単な要約を報告します:接続と
コマンドの実行。
OPTIONS
管理者のタスクを支援するために、 カニフ オプションの構文は可能な限り近い
C3 / pdsh / dshのよく知られたツール。
-a
- すべて
構成されたすべてのクラスターのすべてのノードにデプロイします。
-f conf ファイル
- ファイル conf ファイル
デフォルトの代わりに設定ファイルとして「conf-file」を使用します。 いくつかの可能性があります
デフォルトの構成ファイルを次の順序で調べます: "$ HOME / .kanif.conf"、
「/etc/kanif.conf」、「/etc/c3.conf」。
-F
-フラット展開
ルートノード(kanifを実行する)からすべてのリモート実行をデプロイします。 便利な場合
リモートノードは相互にログオンできません。
-H
- 頭
指定されたすべてのクラスターの「ヘッド」ノード(ローカルインターフェイスを使用)にのみデプロイされます
クラスター。
-h
- 助けて
短いヘルプテキストを出力して終了します。
-i
- 相互の作用
アクションの前に確認を求めます。 アクションは、XNUMXつのコマンドの実行のいずれかです
すべてのホストで(デフォルト)またはXNUMXつのホストでXNUMXつのコマンドを実行(順次)
モード、を参照してください -s スイッチ)。
-l ログイン
- ログインする ログイン
指定された「ログイン」を使用して、リモートホストに接続します。
-M マシンリスト
- リスト マシンリスト
「machines-list」という名前のファイルに含まれている名前をリモートホストに追加します。 カニフ
できるだけ多く受け入れる -M あなたが望むようにオプション。
-m
- モニタリング
作る カニフ デプロイメントコマンドの実行中に何が起こっているかについて、より詳細に説明します。
-n ノード
-ノード ノード
指定された「ノード」をデプロイメントに追加します。 詳細については、「ホスト名の仕様」のセクションを参照してください。
「ノード」構文の詳細。 カニフ できるだけ多く受け入れる -n あなたが望むようにオプション。
-o オプション
-リモート-opts オプション
リモートシェルコマンドに渡される追加のオプションを設定します。
-p レベル
-後処理 レベル
で行われた出力フォーマットのレベルを設定します カニフ。 一般的な考え方は次のとおりです。
レベル、よりソートされ、マージされ、人間が読める形式の出力。 デフォルトは4、異なる
レベルは次のとおりです。
0処理はまったくありません:rawコマンドの出力はstdoutおよびrawコマンドに出力されます
エラーはstderrに出力されます。 接続および実行エラーは報告されません。
1出力を生成したホストの名前が先頭に追加されることを除いて、0と同じです。
各行の前。
2出力がコマンド(1つの完全なコマンド)でソートされることを除いて、XNUMXと同じです。
実行は完全に別の実行の前に出力されます)。 接続と実行
エラーはstderrの最後に要約されています。
3ホスト名が2回印刷され、タイトルとしてフォーマットされることを除いて、XNUMXと同じです。
その出力。
4複数のノードによって生成された同一の出力が3回出力されることを除いて、XNUMXと同じです。
すべてのホストがタイトルに要約されています。
-q
-ドライラン
このオプションを指定すると、 カニフ 何もせず、その構成を出力します、リモート
接続しようとしたノードと タクトゥク だったであろうコマンド
実行されました。
-r command
--remote-cmd command
リモートホストへの接続に使用される「コマンド」の名前を設定します(デフォルトは「ssh-o」です)
StrictHostKeyChecking = no -o BatchMode = yes ")。
-s
- 一連
各コマンドは、リモートホスト上で順番に実行されます(
ホストの順序としてのコマンドライン)。
-T オプション
--taktuk-オプション オプション
パワーユーザーがいくつかのオプションを タクトゥク コマンドが実行されました(注意:
常に含める -s 自分が何をしているのかを本当に理解していない限り、これがデフォルトです)。
-t タイムアウト
- タイムアウト タイムアウト
接続試行のタイムアウト値を示します。 有効期限が切れると、接続はキャンセルされます
リモートホストへの展開は中止されます。
-u タイムアウト
- 上限 タイムアウト
コマンド実行のタイムアウト値を指定します。 有効期限が切れると、コマンドは次のコマンドで強制終了されます。
TERMシグナル。
-V
- バージョン
版画 カニフ バージョンと終了します。
-w
-wcoll
同義語 -n.
-x ノード
-除外する ノード
を使用して指定されたノードから一部のノードを除外します -n or -w。 すべてのホストセットに適用されます
除外部分はまだ含まれていません。 で与えられたホストには適用されません -M オプションを選択します。
ENVIRONMENT
通常すべて カニフ オプションは環境変数によって設定できます。 理論的根拠は
ブールオプションの値は0/1で、環境設定はコマンドラインで上書きされます
スイッチ。
によって使用される環境変数の名前 カニフ 長いオプション名で作られています
ダッシュをアンダースコアに置き換え、「KANIF_」を先頭に追加して大文字にします(たとえば
「KANIF_ALL」、「KANIF_HEAD」など)。 このルールは、次の例外を認めています(
C3 / dshの動作を模倣するように選択されています):
KANIF_CONF
構成ファイルのKANIF_FILEの代わりに。
KANIF_USER
ログイン名のKANIF_LOGINの代わりに。
変数KANIF_WCOLLには意味がないことにも注意してください カニフ.
ホスト名 仕様
に与えられたホスト名 カニフ 単純なマシン名または複雑なホストリストの場合があります
仕様。 一般的な形式では、ホスト名はホストセットとオプションで構成されます
スラッシュで区切られた除外セット。 これらの各セットは、ホストのコンマ区切りリストです。
テンプレート。 これらの各テンプレートは、一定の部分(角かっこで囲まれた文字)で構成されています。
およびオプションの範囲パーツ(角かっこ内の文字)。 各範囲部分はコンマです
間隔または単一値の個別のリスト。 各間隔はXNUMXつの単一の値で構成されます
ダッシュで区切ってください。 これは、に指定されたすべてのホスト名に当てはまります。 カニフ (両方とも -M or -n / -w
オプション)。
つまり、次の式は有効なホスト仕様です。
node1
ノード[19]
ノード[1-3]
node [1-3]、otherhost / node2
node[1-3,5]part[a-b]/node[3-5]parta,node1partb
それらはそれぞれ次のように拡張されます。
node1
node19
ノード1 ノード2 ノード3
node1 node3 他のホスト
ノード1パート ノード2パート ノード2パートb ノード3パートb ノード5パートb
これらの値のリストは正規表現ではないことに注意してください(「node [19]」は「node19」であり、
「node1、node2、....、node9」ではありません)。 間隔は、perlの魔法の自動を使用して実装されます
インクリメント機能。したがって、英数字値を間隔の境界として使用できます(perlを参照)。
ドキュメント、この自動インクリメントの制限については演算子++)。
MACHINES 規格
連絡先 カニフ、を使用して、いくつかの処理を実行するリモートノードを指定できます。
コマンドラインスイッチ(-n と -x、pdsh / dshスタイル)、マシン仕様(C3
スタイル)またはその両方。 したがって、ドキュメントのこの部分は、必要がない場合は無視される可能性があります
C3スタイルのノード管理を使用します。
マシン仕様を使用するには、構成ファイルでクラスターを記述する必要があります(を参照)。
-f オプション kanif.conf(5))。 マシンの仕様は、ノード間隔から取得されます
このファイルで定義されているクラスター。
マシン仕様は、オプションのクラスター名の後にコロンとオプションが続くものです。
範囲。 クラスター名が指定されていない場合は、デフォルトのクラスターが使用されます。 のすべてのノード
範囲が指定されていない場合、クラスターが取得されます。 いずれもない場合は注意してください -n/-w, -M または機械
指定はコマンドラインで指定され、リモートホストはすべてであると想定されます
デフォルトクラスターのノード。
COMMAND BODY
それを呼び出すために使用される名前に応じて(現金, カパット or ショックを受けた), カニフ を実行しません
同じタスク。 そのさまざまな動作は次のとおりです。
現金 [オプション] [コマンドライン]
すべてのリモートホストでコマンドラインの最後の部分を実行します。 この最後の部分なら
空で、インタラクティブモードに入ります。 カニフ コマンド(XNUMX行にXNUMXつ)を待機します
stdin。 インタラクティブモードでは、EOF文字(Ctrl-D)を送信してkashを終了します。
カパット [オプション] src1 [src2 ...] dest
XNUMXつ以上のファイルまたはディレクトリをすべてのリモートホストにコピーします。 最後の議論は
リモートマシン上の宛先ファイルまたはディレクトリへのパス。 他の
引数は、コピーするローカルファイルまたはディレクトリです。 動作と制限は似ています
コマンドに cpとします。
ショックを受けた [オプション] src1 [src2 ...] dest
すべてのリモートホストからXNUMXつ以上のファイルまたはディレクトリをダウンロードします。 最後
引数は、ローカルマシンの宛先ディレクトリへのパスです。 他の
引数は、リモートホスト上のファイルまたはディレクトリへのパスです。 各ソースは
すべてのリモートホストに存在します。 ソースは宛先ディレクトリにコピーされます
発信元のホストを名前に追加します。
使用する場合は注意してください ショックを受けた or カパット 各ファイルまたはディレクトリは、以前に完全にコピーされます
次のものに進みます。
例
構成ファイルがシステムに存在するか、コマンドラインで指定された場合(オプションを参照)
-f)、リモートマシンはクラスター名で指定できます。 たとえば、単純な
「megacluster」という名前のクラスターのすべてのノードでコマンド「ls-l」を実行すると、次のことができます。
書かれる:
kashメガクラスター:ls -l
間隔を指定することもできます。 次のコマンドは、ローカルの.cshrcファイルをにコピーします。
デフォルトクラスターのサブセットとの別のサブセットのログインディレクトリ
「メガクラスター」:
kaput:3-6 megacluster:2-5 $ HOME /.cshrc。
最後に、デフォルトの動作を利用して、という名前のファイルを収集できます。
「results.txt」は「/ tmpに"デフォルトクラスターのすべてのノードのディレクトリ
ローカルディレクトリ「結果」:
kaget / tmp / results.txtの結果
ユーザーが構成ファイルを書きたくない場合、または単にいくつかにデプロイしたい場合
他のノードでは、コマンドラインでリモートホストを指定することができます。
kash -n localhost、スーパーノードの稼働時間
この最後のコマンドは、「localhost」と「supernode」で「uptime」を実行するだけです。 与える
間隔と除外リストもコマンドラインで可能です。 次のコマンド
ファイル「/tmp/temporary.txt」をリモート「/ tmpに"node1とnode5のディレクトリ:
kaput -n node [1-6] -x node [2-4]、node6 /tmp/temporary.txt / tmpに
最後に、各オプションの詳細を入力せずに、最後のコマンドは
-u オプション。 5つのノードから「ゲートウェイ」への「ping」を5秒間実行します。
kash -n node [1-2]、node [4-6] -u 5pingゲートウェイ
onworks.net サービスを使用してオンラインで kaput を使用する