まず、ハードウェアおよびソフトウェア環境
CentOSの7.2 64魏
OpenJDKの-1.8.0
Hadoopの-2.7
第二に、SSHクライアントをインストール
SSHをインストールします。
YUMのopenssh-サーバのopenssh-クライアントインストール
インストールが完了すると、次のコマンドを使用してテストを:
sshはlocalhostを
使用すると、その後、SSHが問題なくインストールされ、正常にログインできる場合は、rootアカウントのパスワードを入力します。
設定SSHキーの無着陸
Hadoopのは、接続プロセスにおける手動入力されたパスワードを回避するために、本実施形態以降のノード間通信を介して、キーフリーSSH SSH着陸の設定の必要性は、単一のマシン上で分散プロセスのシミュレーション分散システムであり、それは(機械のために必要ですlocalhostの)自由なキー着陸構成すること。したがって、次のコマンドが実行される次のコマンドを入力します。
-P keygenの-t-RSA SSH '' -fの〜/ .ssh / id_rsaと
CATの〜/ .ssh / id_rsa.pub >>の〜/ .ssh / authorized_keysに
はchmod 0600の〜/ .ssh / authorized_keysに
SSH接続を使用するには、この試みが完了した後あなたがログインするためのパスワードを入力しない場合は、マシン、構成が成功しました:のssh localhostのの
結果は:
第三に、Java環境を設定します
インストールJDK
バージョン1.8のOpenJDKをインストールするYUMを使用します。
Javaの-1.8.0-YUMのOpenJDKのJava-1.8.0-OpenJDKの-develのインストール
(以前のJDKをインストールした場合、あなたは、私がすでにインストールされていたJavaでインストールパスを見つけることができます)
対応するコマンドのヘルプの出力は、それが正しくインストールされているJDKを示している場合、インストールした後、型のjavaとjavac、完了です。
設定のJava環境変数
ファイル名を指定して実行:vimの〜/ .bashrcには、最後に追加されます。
exportJAVA_HOME =は/ usr / libに/ JVM / javaの-1.8.0-OpenJDKの-1.8.0.171-8.b10.el7_5.x86_64
ファイルを保存した後に有効になるようにJAVA_HOME環境変数を作成するには、次のコマンドを実行します。
ソース〜/ .bashrcの
システムが正常に有効なJava環境を設定されているかどうかを検出するためには、次のコマンドは、それぞれ、実行することができます。
Javaの-version
$ JAVA_HOME / binに/のJava -version
2つのコマンドの出力結果であれば、全会一致では、と私たちはOpenJDKの-1.8.0以前のバージョンがインストールされている、それは、JDKがすでにインストールされ、正しく設定されていることを示しています。
IV。インストールのHadoop
Hadoopのダウンロード
このチュートリアルでは、ダウンロードするには、オンラインツールのwgetを使用し、Hadoopの-2.7バージョンを使用しています
http://archive.apache.org/dist/hadoop/core/hadoop-2.7.5/hadoop-2.7.5.tar.gz wgetの
(遅くなることがあります。このようにダウンロードしてください)
Hadoopのインストール
Hadoopのは、/ usr / localディレクトリにインストールされます。
タール-zxfのHadoop-2.7.5.tar.gzの-Cは/ usr /ローカル
ディレクトリには、動作させるために、後続の簡単を容易にするため、インストールの名前を変更します。
MV ./hadoop-2.7.5/ ./hadoop
のHadoopが正しくインストールされているかどうかを確認します。
/ usr / local / Hadoopの/ binに / Hadoopのバージョン
に成功出力バージョン情報Hadoopの場合、Hadoopのが正常にインストールされたことを示します。
ファイブ.hadoop擬似分散環境の設定
Hadoopの環境変数の設定
〜/ .bashrcの編集は、以下の末尾に追加しました:
輸出HADOOP_HOME =は/ usr / local /のHadoop
輸出HADOOP_INSTALL = $ HADOOP_HOME
輸出HADOOP_MAPRED_HOME = $ HADOOP_HOME
輸出HADOOP_COMMON_HOME = $ HADOOP_HOME
輸出HADOOP_HDFS_HOME = $ HADOOP_HOME
輸出YARN_HOME = $ HADOOP_HOME
exportHADOOP_COMMON_LIB_NATIVE_DIR = $ HADOOP_HOME /ネイティブ/ libに
輸出PATH = $ PATHに:$ HADOOP_HOME / sbinに:$ HADOOP_HOME / binに
使Hadoopの环境变量配置生效:
ソース〜/ .bashrcに
変更されたプロファイルのHadoop
Hadoopの設定ファイルは、このチュートリアル/ URL /ローカル/ Hadoopのの/ etc / Hadoopのディレクトリに置かれているディレクトリは、設定ファイルには次の2つに変更するディレクトリの/ etc / Hadoopの中に配置されています。
/usr/local/hadoop/etc/hadoop/core-site.xml
/usr/local/hadoop/etc/hadoop/hdfs-site.xml
コンテンツ編集コア-site.xmlの<構成> </構成>ノードを変更します次のように:
同様に、HDFS-site.xmlの、コンテンツの変更を編集<構成> </構成>以下のようにノードです。
フォーマット名前ノード:
/ usr / local / Hadoopの/ binに / HDFS名前ノード-format
出力情報は、成功したフォーマットを示します。
名前ノードとデータノードのプロセスを開始します。
/usr/local/hadoop/sbin/start-dfs.sh
実装プロセスは、ユーザーのパスワードを入力するように求められます、rootのパスワードを入力します。あなたは警告が接続され続けているかどうかを表示しますSSHを起動したときに加えて、あなたはyesと入力することができます
名前ノードとDateNodeは通常のスタートかどうかを確認します。
名前ノードとデータノードが正常に開始されている場合、それは名前ノード、データノードとSecondaryNameNodeプロセス情報を表示します。
第六に、疑似分散インスタンスを実行します
ビューのHadoop独自の例
Hadoopのは、例の富が付属して、ビューに次のコマンドを実行します。
CD /ユーザー/ローカル/ Hadoopの
./bin/hadoop瓶./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar
HDFSにユーザディレクトリにHadoopを作成します。
/ usr / local / Hadoopの/ binに / HDFS DFS -mkdir -p /ユーザ/ Hadoopの
実験データを準備
このチュートリアルでは、入力データとして、すべてのHadoopのXML設定ファイルは、実験を完了します。HDFSでのフォルダの下のコンフィギュレーションファイルをアップロード新しいフォルダと入力のHadoopを作成するには、次のコマンドを実行します。
/ usr / local / Hadoopの/ binに/ HDFS DFS -mkdir -p /ユーザー/ Hadoopの
警告が表示されます。
理由:
Apacheは32で、64ビットサーバー上でそこの問題も、そのため、独自の64ビット版をコンパイルする必要がありますネイティブHadoopのライブラリを提供します。
1、最初の64のlibパッケージの対応のHadoop独自のバージョンを見つけ、あなたは自分自身をコンパイルするために渡すことができますが、あまりにも多くのトラブルは、あなたが見つけるためにオンラインで行くことができ、多くのプリコンパイルされています。
2、あなたがウェブサイトに行くことができます:http://dl.bintray.com/sequenceiq/sequenceiq-bin/対応のコンパイル済みのバージョンをダウンロードしてください
3、LIBパッケージに用意抽出物の64はすでにHadoopのインストールディレクトリのlib /ネイティブとlibがインストールされています:
LIB 64のHadoopのダウンロードバージョン2.7.5は、パッケージに対応します。
[ルート@ izwz963wlhi02sl69o3i1dzのHadoopの]#のwgethttp://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.7.0.tar
すでにHadoopのインストールディレクトリにインストールのlib /ネイティブおよびlibディレクトリに解凍します。
[ルート@ izwz963wlhi02sl69o3i1dzのHadoopの]#タール-xvfhadoop-ネイティブ64-2.7.0.tar -Cは/ usr / local / Hadoopの/ネイティブ/ libに
[ルート@ izwz963wlhi02sl69o3i1dzのHadoopの]#タール-xvfhadoop-ネイティブ64-2.7.0を.tar -Cは/ usr / local / Hadoopの/ libに
4.環境変数を追加します。
[ルート@ izwz963wlhi02sl69o3i1dzのHadoopの]#のvimのは/ etc / profile
図5は、以下を追加します。
ネイティブ/ exportHADOOP_COMMON_LIB_NATIVE_DIR = $ HADOOP_HOME / libに
exportHADOOP_OPTS = " - Djava.library.path = $ HADOOP_HOME / libに"
6、環境変数を有効にするように、
[ルート@ izwz963wlhi02sl69o3i1dzのHadoopの]#ソースは/ etc / profile
図7に示すように、セルフテスト命令チェックはchecknative -aをHadoopの
Hadoopが再びHDFSにユーザーディレクトリを作成します。
警告が表示されなくなります。
実験データの作成
このチュートリアルでは、入力データとして、すべてのHadoopのXML設定ファイルは、実験を完了します。HDFSでのフォルダの下のコンフィギュレーションファイルをアップロード新しいフォルダと入力のHadoopを作成するには、次のコマンドを実行します。
[ルート@ izwz963wlhi02sl69o3i1dzのHadoopの]#のCDは/ usr / local / Hadoopの
[ルート@ izwz963wlhi02sl69o3i1dz用のHadoop]#1 ./bin/hdfsのDFS-MKDIR /ユーザ/ Hadoopの/入力
[ルート@ izwz963wlhi02sl69o3i1dzのHadoopの]#の./bin/hdfsのDFS-入れ./etc/hadoop/*.xml /ユーザー/ Hadoopの入力/
ちょうどHDFSファイルにアップロードを参照するには、次のコマンドを使用します。
実験を実行します。
[ルート@ izwz963wlhi02sl69o3i1dzのHadoopの]#のCDは/ usr / local / Hadoopの
[ルート@のizwz963wlhi02sl69o3i1dz用のHadoop]#./bin/hadoopjar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jarはgrep /ユーザ/ Hadoopの/入力/ユーザ/ Hadoopの/出力「DFS [AZ] +」
[ルート@ izwz963wlhi02sl69o3i1dzのHadoopの]#のCDは/ usr / local / Hadoopの
[ルート@のizwz963wlhi02sl69o3i1dzのHadoopの]#./bin/hadoopjar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jarはgrep /ユーザー/ Hadoopの/入力/ユーザ/ Hadoopの/出力'DFS [AZ] + [
上記コマンド入力HDFSファイルシステムデータのHadoopを実行中のプログラムへの入力は、前記正規表現DFSに沿って抽出+ [AZ]のgrep来る統計データの番号とファイルシステムHDFSに出力ファイルに結果を出力しますフォルダ。
ビューの実行結果
HDFS例に格納された結果が完了した後、次のコマンドは、検索結果を表示します。
赤丸の部分が成功した結果です。
HDFSディレクトリの削除の結果で:
あなたはHadoopのプログラムを実行すると、上書き結果を防ぐために、プログラムは次の実行前に、出力ディレクトリを削除する必要があるので、それ以外の場合は、エラーが要求されます、出力ディレクトリが存在しません指定します。
Hadoopのプロセスを終了します。
Hadoopのコマンドを再度プロセスを開始します。
[ルート@ izwz963wlhi02sl69o3i1dzのHadoopの]#は/ usr / local / Hadoopの/ sbinに/ start-dfs.sh
七、展開が完了しました
参考:
https://www.cnblogs.com/ztca/p/8679056.html公式文書
https://blog.csdn.net/feng_zhiyu/article/details/81018869