まず、Hadoop3.Xを構築
1.1構成サーバー
マスターノード:centos100(192.168.65.128)
centos101(192.168.65.129)、centos102(192.168.65.130):2サブノード(から)
プライマリノード名を設定します
192.168.65.128 viのは/ etc / sysconfig / networkファイル
コンテンツを追加します。
NETWORKING = yesの
HOSTNAME = centos100
1.3 2つの子ノード名を設定します
192.168.65.129 viのは/ etc / sysconfig / networkファイル
コンテンツを追加します。
NETWORKING = yesの
HOSTNAME = centos101
192.168.65.130 viのは/ etc / sysconfig / networkファイル
コンテンツを追加します。
NETWORKING = yesの
HOSTNAME = centos102
ホストの設定
マスターノードのhostsファイルを開き、あなたがコメントアウト(現在のホストのための情報を、コメント)とホストクラスタのHadoopにファイル内のすべての情報を追加したいファイルの最初の2行。
VIの/ etc / hosts
コンテンツを追加します。
192.168.65.128 centos100
192.168.65.129 centos101
192.168.65.130 centos102
保存した後、マスターノードホストは、他の二つのサブノードにコピーされます
SCPの/ etc / hostsの[email protected]ます。/ etc /
SCPの/ etc / hostsの[email protected]ます。/ etc /
そして、(次のステートメントを実行することはできません、サーバーを再起動するために)実行されました:/ binに/ hostsnameのhostsname
例えば:/ binに/ hostsnameマスターマスターの実装、力にそれを持って来ます。
1.5パスワードなしでSSHアクセスの設定
1.5.1公開鍵ペアを生成し、
図1に示すように、各ノード上で行いました。
SSH-keygenは-t rsaの
終わりが生成されるまで、Enterキーを押します
2つのファイルid_rsaとid_rsa.pubとに、各ノードのうねり上のディレクトリ/root/.ssh/実行後
ここで、前者は公開鍵である秘密鍵であり、
図2に示すように、プライマリノード上で実行されます。
CP id_rsa.pub authorized_keysに
1.5.2生成のauthorized_keys
配列は、本明細書の手順の多様であってもよいし、マスターノード上のこの時間は、選択生成authorized_keysに、その究極の目的である各ノードで、/root/.ssh/authorized_keys ファイルのすべてのノードの内容によって生成された公開鍵が含まれています。
1、2つのつの子ノード上で実行それぞれマスタノードを、コピーする公開鍵の2つのつの子ノード:
SCP /root/.ssh/id_rsa.pubルートの@ centos128:/root/.ssh/id_rsa_centos101.pub
SCP /root/.ssh/id_rsa.pub ルートの@ centos128:/root/.ssh/id_rsa_centos102.pub
2、その後マスターノードで、2つのパブリックキーはauthorized_keysににマージするファイルをコピー
マスターノード上で実行:
猫id_rsa_centos101.pub >> authorized_keysに
猫id_rsa_centos102.pub >> authorized_keysに
図3に示すように、コンフィギュレーションするかどうか最後のテスト
centos100上で実行されました
SSHのcentos101
SSHのcentos102
正しく2つのつの子ノードとのインタフェースにジャンプ、各子ノードで同じ方法でマスターノードと他の子ノード内の同じ記号は、通常の構成が正常に行われたパスワードなしでログオンすることができます。
1.5.3コピーのauthorized_keys
子ノードのプライマリノード上の適切な場所にコピーコマンドscpはauthorized_keysファイル
SCPのauthorized_keysルートの@ centos101:/root/.ssh/
SCPのauthorized_keysルートの@ centos102:/root/.ssh/
1.6インストールJDK
1.6.1 JDKをアンインストールします
1は、システムすでにインストールされているJDKを表示します。
ます。rpm -qa | grepのJDK
2、JDKをアンロード:
rpmの-e --nodepsをコピーJDK-のconfigsを-3.3-2.el7.noarch
RPM -eは、java-1.8.0-OpenJDKの-ヘッドレス-1.8.0.161-2.b14.el7.x86_64 --nodeps
RPM -eは、java-1.7.0-OpenJDKの-1.7.0.171-2.6.13.2.el7.x86_64を--nodeps
RPM -eは、java-1.8.0-OpenJDKの-1.8.0.161-2.b14.el7.x86_64を--nodeps
RPM -eは、java-1.7.0-OpenJDKの-ヘッドレス-1.7.0.171-2.6.13.2.el7.x86_64 --nodeps
1.6.2 JDKのインストール
3台のマシンにはインストールする必要がありました
1.ディレクトリを作成します。
CD /
CDは/ opt /
mkdirのJava
CDのJava
RZ
2、ダウンロードJDK
3、JDKを抽出します。tar -zxvf JDK-8u73-linuxの-x64.gz
4、環境変数を設定します
viのは/ etc / profile
プロファイルファイルの末尾に次のコードを追加します。
輸出JAVA_HOME =は/ opt /のJava / jdk1.8.0_73
輸出JRE_HOME = $ JAVA_HOME / JRE
輸出PATH = $ JAVA_HOME / binに:$ PATHに
輸出CLASSPATH =。$ JAVA_HOME / libに:$ JRE_HOME / libに
5、環境変数を有効にします:
ソースは/ etc / profile
Javaの-version:インストールが成功したかどうかをテストするための6、
1.7インストールのHadoop
Hadoopのマスターホストにインストール
カスタムインストール場所は、例えば、は/ usr / toolsディレクトリの下にインストール
/ usr / toolsディレクトリに配置された1、ダウンロードのHadoopパッケージ、
図2に示すように、抽出物のHadoop
Hadoopの-3.0.0tar.gz -zxvfタール
以下のHadoop-3.0.0 usrディレクトリの生成
3、環境変数を設定します。
viのは/ etc / profile
終わりに追加します。
輸出HADOOP_HOME =は/ usr /ツール/ Hadoopの-3.0.0
= $ PATHの輸出PATH:$ HADOOP_HOME / binに:$ HADOOP_HOME / sbinに
4、環境変数:
ソースは/ etc / profile
1.8コンフィギュレーションのHadoop
1.8.1 Hadoopの構成プロファイル
あなたは、ファイルの場所が/hadoop-3.0.0/etc/hadoopで設定する必要が以下の通り変更する必要があります
hadoop-env.sh
yarn-env.sh
コア-site.xmlに
HDFS-site.xmlの
mapred-site.xmlに
糸-site.xmlに
労働者
間で
hadoop-env.shおよびJDKの環境変数を追加する必要がありyarn-env.sh:
1、hadoop-env.shは加えました:
輸出JAVA_HOME =は/ opt /のJava / jdk1.8.0_73
2、(これを設定することなくHadoop3.Xバージョン)でyarn-env.sh
輸出HADOOP_YARN_USER = $ {HADOOP_YARN_USER:-yarn}
輸出YARN_CONF_DIR = "$ {YARN_CONF_DIR: - $ HADOOP_YARN_HOME / confに}"
輸出JAVA_HOME =は/ opt /のJava / jdk1.8.0_73
3、core-site.xml中
<設定>
<プロパティ>
<名前> fs.defaultFS </名前>
<値> HDFS:// centos100:9000 </ value>の
</プロパティ>
<プロパティ>
<名前> io.file.buffer.size </名前>
<値> 131072 </ value>の
</プロパティ>
<プロパティ>
<名前> hadoop.tmp.dir </名前>
<value>のファイル:は/ usr / TEMP </ value>の
</プロパティ>
<プロパティ>
<名前> hadoop.proxyuser.root.hosts </名前>
<値> * </ value>の
</プロパティ>
<プロパティ>
<名前> hadoop.proxyuser.root.groups </名前>
<値> * </ value>の
</プロパティ>
</設定>
4、HDFS-site.xml内
<設定>
<プロパティ>
<名前> dfs.namenode.secondary.httpアドレス</名前>
<値>マスター:9001 </ value>の
</プロパティ>
<プロパティ>
<名前> dfs.namenode.name.dir </名前>
<value>のファイル:は/ usr / DFS /名前</ value>の
</プロパティ>
<プロパティ>
<名前> dfs.datanode.data.dir </名前>
<value>のファイル:は/ usr / DFS /データ</ value>の
</プロパティ>
<プロパティ>
<名前> dfs.replication </名前>
<値> 2 </値>
</プロパティ>
<プロパティ>
<名前> dfs.webhdfs.enabled </名前>
<値>真</ value>の
</プロパティ>
<プロパティ>
<名前> dfs.permissions </名前>
<value>は偽</ value>の
</プロパティ>
<プロパティ>
<名前> dfs.web.ugi </名前>
<値>スーパーグループ</ value>の
</プロパティ>
</設定>
5、mapred-site.xmlの中の先のCP mapred-site.xml.template mapred-site.xmlに
<設定>
<プロパティ>
<名前> mapreduce.framework.name </名前>
<値>糸</値>
</プロパティ>
<プロパティ>
<名前> mapreduce.jobhistory.address </名前>
<値> centos100:10020 </ value>の
</プロパティ>
<プロパティ>
<名前> mapreduce.jobhistory.webapp.address </名前>
<値> centos100:19888 </ value>の
</プロパティ>
</設定>
6、yarn-site.xml中
<設定>
<プロパティ>
<名前> yarn.nodemanager.aux-サービス</名前>
<値> mapreduce_shuffle </ value>の
</プロパティ>
<プロパティ>
<名前> yarn.nodemanager.aux-services.mapreduce.shuffle.class </名前>
<値> org.apache.hadoop.mapred.ShuffleHandler </ value>の
</プロパティ>
<プロパティ>
<名前> yarn.resourcemanager.address </名前>
<値> centos100:8032 </ value>の
</プロパティ>
<プロパティ>
<名前> yarn.resourcemanager.scheduler.address </名前>
<値> centos100:8030 </ value>の
</プロパティ>
<プロパティ>
<名前> yarn.resourcemanager.resource-tracker.address </名前>
<値> centos100:8031 </ value>の
</プロパティ>
<プロパティ>
<名前> yarn.resourcemanager.admin.address </名前>
<値> centos100:8033 </ value>の
</プロパティ>
<プロパティ>
<名前> yarn.resourcemanager.webapp.address </名前>
<値> centos100:8088 </ value>の
</プロパティ>
</設定>
7、労働者
centos100
centos101
centos102
子ノードのHadoopをインストールする1.8.2ファイルのコピー
マスターノード上で実行:
SCP -r /usr/tools/hadoop-3.0.0ルートの@ centos101:は/ usr /ツール
SCP -r /usr/tools/hadoop-3.0.0ルートの@ centos102:は/ usr /ツール
子ノードにコピープロファイル
マスターノード上で実行:
SCPは/ etc / profileのルートの@ centos101ます。/ etc /
SCPは/ etc / profileのルートの@ centos102ます。/ etc /
2人の子供に新しいプロファイルの効果を取ることでした。
ソースは/ etc / profile
名前ノード1.8.3フォーマットマスターノード
マスターノード上のHadoop-3.0.0ディレクトリを入力します
その後、実行します。
./bin/hadoop名前ノード-format
新バージョンでは、次のステートメントを使用してコマンドをHadoopのではありません
./bin/hdfs名前ノード-format
ヒント:成功したフォーマットされた表現形式の成功
1.8.4スタートのHadoop
マスターノードはHadoopの-3.0.0ディレクトリで実行されます。
./sbin/start-all.sh
プライマリノードJPSプロセスであり:6
データノード
JPS
SecondaryNameNode
名前ノード
このResourceManager
ノードマネージャ
それぞれの子のJPSプロセスがあります:3
JPS
データノード
ノードマネージャ
これが正常にHadoopクラスタ構成を表している場合