Hadoopのメンテナンス

HDFSノードマネージャ

ノード1)の増加

  1. SSHログインパスワードフリーを設定する新しいシステムを、開始します
  2. / etc / hostsファイルを変更するには、すべてのノードでは、新しいノードのホスト情報を増やします
  3. Javaランタイム環境をインストールします(のjava-1.8.0-OpenJDKの)
  4. 変更は、名前ノードスレーブノードを増やすファイル
  5. ネイティブには/ usr / local /のHadoopののNamNodeコピー
  6. ノードの開始データノードで
[root@node4 hadoop] ./sbin/hadoop-daemon.sh start datanode
  1. 同期帯域幅と同期データが提供さ
[root@node4 hadoop] ./bin/hdfs dfsadmin -setBalancerBandwidth 60000000   #设置同步带宽
[root@node4 hadoop] ./sbin/start-balancer.sh    #同步数据
  1. 名前ノードのチェックデータノードで./bin/hdfs dfsadmin -report

あなたが脚本を使用する場合は、ファイルを変更/etc/hosts/、ansibleホストリストファイルをhosts、のHadoopのslaves脚本を実行するには、新しいノードで起動し、データノードを追加するために完了することができます。

2)修復ノード

  • 修復ノード及びノードの追加一貫
  • 新しいノード破損したノードと一致するIPとホスト名
  • サービス開始 /sbin/hadoop-daemon.sh start datanode
  • データ復旧は自動的に行われます
  • オンラインに自動的にデータ量が非常に大きい場合、それは時間がかかる場合があり、データの後に復元されます

3)[ノードの削除

  1. 名前ノードのHDFS-site.xmlの設定
  2. コンフィギュレーション増加dfs.hosts.exclude
] vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<property>                                      
    <name>dfs.hosts.exclude</name>
    <value>/usr/local/hadoop/etc/hadoop/exclude</value>
</property>
  1. 設定ファイルを除外増やし、削除するホスト・ノードの名前を書きます
] vim /usr/local/hadoop/etc/hadoop/exclude
node4
  1. データの更新./bin/hdfs dfsadmin -refreshNodes

  2. ビューステータス ./bin/hdfs dfsadmin -report

  • Normal:通常状態
  • Decommissioned in Program:データが移行されています
  • Decommissioned:データの移行が完了しました
  • 注意:状態になる場合にのみ、退役組立ラインオフダウン航空機へ
  1. ファイル変更し/etc/hosts/、ansibleホストリストファイルhostsの、Hadoopのslaves実行中の脚本を

糸ノードマネージャ

  • インストールサービス、コンフィギュレーションの/ etc / hosts、開始ノードマネージャ:ノードを追加します。
[root@node4 hadoop] ./sbin/yarn-daemon.sh start nodemanager   #在yarn添加该节点
  • ノードを削除するには、次の行にサービスをシャットダウン
[root@node4 hadoop] ./sbin/yarn-daemon.sh stop nodemanager   #删除节点

NFSゲートウェイ

1)はじめに

ゲートウェイは、NFSを使用しています

  • HDFSファイルシステムを閲覧することができ、ユーザーはローカルのオペレーティング・システムNFSv3のクライアントと互換性があります
  • ユーザーは、ローカルファイルシステムへのHDFSファイルシステムからドキュメントをダウンロードすることができます
  • ユーザーはマウントポイント、追加のサポートファイルを介してデータの流れを導くことができますが、ランダムな書き込みをサポートしていません。
  • NFSゲートウェイの一部はNFSv3のをサポートし、ファイルシステムのクライアントが実装されているとしてHDFSを許可します

特性ノート

  • 権限チェックは、スーパーユーザは失敗したと思うことはありませんので、HDFS名前ノードのスーパーユーザーは、スーパーユーザーが何かを行うことができ、同じIDとプロセス自体を持つユーザーであります

注意事項

  • 非セキュアモードでは、ゲートウェイ・プロセスを実行しているユーザは、ユーザ・エージェントであります
  • セーフモードでは、Kerberosのキータブユーザは、ユーザエージェントは、

設定プロキシ

  • 名前ノードとNESGWにプロキシユーザーを追加します。
  • プロキシユーザーのUID、GID、ユーザー名は同じでなければなりません
  • 特別な理由のために、ユーザーとユーザーNFSゲートウェイの結果は、クライアントのUIDの原因を維持することができない場合、我々はηfs.map間のconfigureの静的マッピングに必要
  • NFSマップ
  uid 10 100 # Map the remote uid 10 the local UID 100
  gid 11 101 # Map the remote GID 1l to the local GID 101

2)環境の準備

  1. 名前ノードとnfsgw上のユーザーとグループを追加します
groupadd -g 800 nfsuser    #两台主机的用户必须一样
useradd -u 800 -g 800 -r -d /var/hadoop nfsuser
  1. コンフィギュレーションファイルのコア-site.xmlのを修正
  • {}ホスト実際のユーザで実行されているNFS3ユーザエージェントであります
  • 非セキュアモードでは、ユーザは、NFSゲートウェイプロキシユーザを実行しています
  • グループグループは、ユーザーが使用するマウントポイント
  • ホストは、ホストアドレスのためのマウントポイント
] vim core-site.xml
  <property>
    <name>hadoop.proxyuser.nfsuser.groups</name>   #授权代理用户组,*代表所有
    <value>*</value>
  </property>
  <property>
    <name>hadoop.proxyuser.nfsuser.hosts</name>   #授权代理主机,*代表所有
    <value>*</value>
  </property>

使用すると、すべてのHadoopマスター同期プロファイル向けハンドブック

  1. すべてのサービスを停止し、HDFSを起動し、クラスタの状態を確認
[root@nn1 hadoop] ./sbin/stop-all.sh
[root@nn1 hadoop] ./sbin/start-dfs.sh   
[root@nn1 hadoop] ./bin/hdfs dfsadmin -report  #查看DataNode
[root@all hadoop] jps   #所有主机确认角色

3)設定nfsgw

  1. アンインストールのnfs-utilsの、rpcbindに、アンインストール後、システムを再起動する必要があります

  2. nfsgw設定の/ etc / hosts、ホストはすべてのHadoopを見つけることができますので、

[root@ansible ~] scp /etc/hosts nfsgw:/etc/
  1. nfsgwインストールパッケージのOpenJDK
[root@nfsgw ~] yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
  1. / usr / local / Hadoopの/ネイティブの名前ノード同期
rsync -av nn1:/usr/local/hadoop /usr/local/
  1. 設定HDFS-site.xmlの
  • nfs.exports.allowed.hosts

    • デフォルトでは、輸出は、任意のクライアントに取り付けることができます。より良いコントロールにアクセスするために、あなたは、プロパティを設定することができます。スペースで分割する文字列値と対応するマシン名とアクセスポリシー、。フォーマットマシン名は、単一のホスト、Javaの正規表現またはIPv4アドレスを指定できます
    • 使用RWまたはROは、エクスポートディレクトリの読み書きまたは読み取り専用アクセスを指定することができます。アクセスポリシーが提供されていない場合は、デフォルトでは読み取り専用です。各エントリ「;」分割
  • nfs.dump.dir

    • ユーザーが頻繁にランダムにNFSゲートウェイに到達します書き込み操作の順序を並べ替える書き込みファイルダンプディレクトリパラメータ.NFSクライアントをアップデートする必要があります。このディレクトリには、多くの場合、シーケンシャル書き込みを一時的に保存するために使用します。彼らは、メモリ内の特定のしきい値(例えば、1M)を超えて蓄積したときに、それぞれのファイルについて、順次書き込みがダンプされます。あなたは、ディレクトリに十分なスペースがあることを確認する必要があります
    • 以下のような:アプリケーションが10 100Mをアップロードし、その後、ダンプディレクトリは、各ファイルが発生し、最悪のあるよう、1ギガバイトの周りのスペースをお勧めします。唯一のNFSゲートウェイは、このプロパティを設定した後に再起動する必要があります
  <property>
    <name>nfs.exports.allowed.hosts</name>
    <value>* rw</value>
  </property>
  <property>
    <name>nfs.dump.dir</name>
    <value>/var/nfstmp</value>
  </property>

4)サービスを開始

  1. 認可、キャッシュディレクトリを作成します。
mkdir /var/nfstmp
chown nfsuser:nfsuser /var/nfstmp
  1. ログファイルに加えて、認可
setfacl -m u:nfsuser:rwx /usr/local/hadoop/logs
  1. スタートポートマップ、あなたがしなければなりませんまずスタートしなければなりませんrootユーザーを使用しますスタート
./sbin/hadoop-daemon.sh --script ./bin/hdfs start portmap
  1. NFS3起動し、ユーザーはnfsuserを開始するためにプロキシを使用する必要があります。
sudo -u nfsuser ./sbin/hadoop-daemon.sh --script ./bin/hdfs start nfs3

PS:あなたがサービスを再起動する必要がある場合は、あなたが最初のピットストップのNFS3、その後ストップポートマップ、その後、ポートマップを起動し、NFS3開始する必要があります。

  1. 検証テスト(マウント別のホストを使用して)
yum install nfs-utils
showmount -e 192.168.1.65
mount -t nfs -o vers=3,proto=tcp,nolock,noatime,noacl,sync 192.168.1.65:/ /mnt/

パラメータ:

  • 現在はNFSバージョンV3を使用 vers=3
  • 唯一のトランスポートプロトコルとしてTCPを使用します proto=tcp
  • NLMがサポートされていません。 nolock
  • 時間の無効化、アクセスタイム更新 noatime
  • 無効に交流が権利を拡張しましたnoacl
  • 推奨されるインストールオプションsync、それは予測不可能に起因するスループットの書き込みを並べ替えを避けるために最小限に抑えることができ、同期オプションが指定されていない信頼性のない動作が発生する可能性があり、大きなファイルをアップロードするときに発生します
公開された108元の記事 ウォンの賞賛8 ビュー6336

おすすめ

転載: blog.csdn.net/weixin_45157506/article/details/104512463