1.プロセスの概要を開始します
名前ノードが起動すると、最初の画像ファイル(fsimage)がメモリにロードされ、各種操作編集ログ(編集)を実行します。一度成功したメモリイメージ内のファイルシステムのメタデータを確立し、新しい文書と空fsimage編集ログを作成します。この時点で、データノードの要求を聴き始める名前ノード。しかし現時点では、セーフモードで実行名前ノード、クライアントのためにその名前ノードのファイルシステムは読み取り専用です。
システムは維持されるデータブロックの名前ノードの位置によって決定されるが、データノードにおけるメモリブロックのリストの形にされていません。システムの通常動作中に、名前ノードは、メモリ内のすべてのブロック位置のマッピング情報を保持します。名前ノードはファイルシステムの効率的な運用に、十分なブロックの位置情報を学んだ後に、安全モードでは、すべてのデータノードは、ブロックリストの名前ノードに最新の情報を送信します。
満たすために、「条件の最小のコピー」した場合、名前ノードは、30秒後にセーフモードを終了します。いわゆる最小条件は、コピーレベル(:dfs.replication.min = 1既定値)の99.9%のブロックを満たす最小のファイルシステム全体のコピーを指します。ちょうどあなたは、システムが任意のブロックを持っていないので、フォーマットされたHDFSクラスタを起動するので、セーフモードを入力しないで名前ノードとき。
2.基本的な構文
セキュアモードでのクラスタは、重要な操作(書き込み操作)を実行することはできません。クラスタの起動が完了すると、自動終了セーフモード。
(1)ビン/ HDFS dfsadmin -safemode GET(関数の説明:ビューセキュアモード)
(2)ビン/ HDFS dfsadmin -safemode入力します(関数の説明:安全な状態モードに入ります)
(3)ビン/ HDFS dfsadmin -safemode休暇(機能説明:セキュリティ状態を解除)
(4)ビン/ HDFS dfsadmin -safemode待機(関数の説明:セキュアモードを待って)
3.ケース
アナログは、セーフモードを待ちます
1)セーフモードに
ビン/ HDFS dfsadmin -safemode入力します
2)次のスクリプトを実行
スクリプトを編集
#!/ binに/ bashのの binに / HDFS dfsadmin - セーフモード待ち ビン / HDFS DFS -put〜/ hello.txt /root/hello.txt
3)次に、ウィンドウを開いて実行します
ビン/ HDFS dfsadmin -safemode残します