Hadoop分散物理マシンクラスター構築(hdfsおよびyarn)バージョン:hadoop-3.3.0

準備:
サーバー構成(6ユニット)、1 + 1 + 4クラスター構成、具体的な情報は次のとおりです:
168.61.1.11(NameNodeおよびResourceManagerとして使用)、168.61.1.12、168.61.1.13、168.61.1.14、168.61.1.15 、168.61.1.16(DataNodeおよびNodeManagerとして使用))。
注:HDFSHA QJMは将来インストールされます。ジャーナルノードは11、12、および13にインストールされる予定です。ノード12はNameNodeとしても機能します。

一般的な手順は次のとおりです。
次の構成は、最初にマスターでのみ操作され、次にSCPを使用して他のサーバーにコピーします。
1)最新のHadoopイメージをダウンロードします:hadoop-3.3.0、対応するディレクトリに解凍します;
2)/ etc / hosts、/ etc / profile、hadoop-en.sh、yarn-en.sh、mapreduceで環境変数を構成します-env。sh;
3)パスワードなしのログインを設定します;
4)対応するファイルを構成します:workers、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml;
5)開始クラスター;

1. / etc / hostsを変更します

168.61.1.11 hadoop01
168.61.1.12 hadoop02
168.61.1.13 hadoop03
168.61.1.14 hadoop04
168.61.1.15 hadoop05
168.61.1.16 hadoop06

2. jdk8をインストールします(省略)

3. / etc / profileを変更します

JAVA_HOME=/usr/local/tools/jdk1.8.0_231
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

Hadoopは、デーモンスレッドが/ etc / profileで構成されたJAVA_HOMEパスを読み取れない
ため、hadoop-env.sh、yarn-env.sh、mapred-env.shでJAVA_HOMEを構成して、JAVA_HOMEを読み取れるようにします。

# variable is REQUIRED on ALL platforms except OS X!
export JAVA_HOME=/usr/local/tools/jdk1.8.0_231

master1の/etc/profile、hadoop-env.sh、yarn-env.sh、mapred-env.shを他のサーバーに転送し
てから、各サーバーにログインします:source / etc / profile、。/ hadoop-env。 sh、。/ yarn-env.sh、。/ mapred-env.sh。

4.6台のマシンのSSH相互信頼

sshは、対応するキーペアを生成します:id_rsa秘密キーとid_rsa.pub公開キー

ssh-keygen -t rsa -P ''

注:対話型操作を回避するには、ssh-keygen -t rsa -P '' -f〜 / .ssh / id_rsaコマンドを使用します。

デフォルトでは、/ current user / .ssh(/root/.sshまたは/home/user/.ssh)の下に存在します。
公開鍵をマスターノード上の特定のファイルauthorized_keysにコピーします。

cat id_rsa.pub >> authorized_keys

ローカルのパスワードなしのログイン設定が成功するかどうかを試してください。

ssh localhost  #第一次登陆需要确定,输入yes

問題がない場合は、他のサーバーを構成します。実際、必要なのはローカルmaster1のid_rsa.pubを他のサーバーにコピーすることだけです。ここで、ssh-copy-idコマンドを選択して他のサーバーに送信します。

# ssh-copy-id appadmin@hadoop02
# ssh-copy-id appadmin@hadoop03
# ssh-copy-id appadmin@hadoop04
# ssh-copy-id appadmin@hadoop05
# ssh-copy-id appadmin@hadoop06

5.ファイアウォールをオフにするか、6台すべてのマシンのIPアドレスをホワイトリストに追加します

[root@hadoop01 opt]# systemctl stop firewalld
[root@hadoop01 opt]# systemctl disable firewalld

6.Hadoop環境を構成します

主に4つの構成ファイルを変更します:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

配置core-site.xml

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop01:9000</value>
        </property>
        <property>
                <name>io.file.buffer.size</name>
                <value>131072</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/hadoop-3.3.0/tmp</value>
        </property>
</configuration>

hdfs-site.xmlを構成します

<configuration>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file://${hadoop.tmp.dir}/dfs/nn,file://${hadoop.tmp.dir}/dfs/nn2</value>
        </property>
        <property>
                <name>dfs.namenode.edits.dir</name>
                <value>file://${hadoop.tmp.dir}/dfs/edits</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file://${hadoop.tmp.dir}/dfs/dn</value>
        </property>
        <property>
                <name>dfs.blocksize</name>
                <value>268435456</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
</configuration>

ヤーンサイト.xmlを構成します。いくつかのマシンの構成が異なることに注意してください。
以下は、ResourceManagerの構成情報です。

<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.resource.memory-mb</name>
                <value>40960</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
        </property>
        <property>
                <name>yarn.nodemanager.remote-app-log-dir</name>
                <value>{hadoop.tmp.dir}/tmp/logs</value>
        </property>
        <property>
                <name>yarn.nodemanager.log-dirs</name>
                <value>/opt/hadoop-3.3.0/tmp/yarndata/logs</value>
        </property>
        <property>
                <name>yarn.nodemanager.local-dirs</name>
                <value>${hadoop.tmp.dir}/nm-local-dir</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop01</value>
        </property>
        <property>
                <name>yarn.scheduler.maximum-allocation-vcores</name>
                <value>16</value>
                <description>提交一个任务允许申请的最大cpu核数</description>
        </property>
        <property>
                <name>yarn.scheduler.maximum-allocation-mb</name>
                <value>40960</value>
                <description>提交一个任务允许申请的最大内存(注意结合其他node节点的yarn.nodemanager.resource.memory-mb ,不要超过它)
                </description>
        </property>
</configuration>

NodeManagerの構成情報は次のとおりです(1台のマシンで構成した後、他のNodeManagerマシンにコピーします)

<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.resource.memory-mb</name>
                <value>40960</value>
                <description> 
                    节点使用的最大内存(结合host-155的yarn.scheduler.maximum-allocation-mb)
                </description>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
        </property>
        <property>
                <name>yarn.nodemanager.remote-app-log-dir</name>
                <value>{hadoop.tmp.dir}/tmp/logs</value>
        </property>
        <property>
                <name>yarn.nodemanager.log-dirs</name>
                <value>/opt/hadoop-3.3.0/tmp/yarndata/logs</value>
        </property>
        <property>
                <name>yarn.nodemanager.local-dirs</name>
                <value>${hadoop.tmp.dir}/nm-local-dir</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop01</value>
        </property>
        <property>
                <name>yarn.nodemanager.hostname</name>
                <value>hadoop06</value>--#其它机器注意修改这个名字
        </property>
        <property>
                <name>yarn.nodemanager.resource.cpu-vcores</name>
                <value>16</value>
                <description>节点使用的cpu核数</description>
        </property>
</configuration>

配置mapred-site.xml

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>hadoop01:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>hadoop01:19888</value>
        </property>
</configuration>

ワーカーの構成(各データノードで構成)

hadoop02
hadoop03
hadoop04
hadoop05
hadoop06

/ etc / profileを変更します

JAVA_HOME=/usr/local/tools/jdk1.8.0_231
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
HADOOP_HOME=/opt/hadoop-3.3.0
PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export CLASSPATH
export PATH

〜/ .bash_profileを変更します(スクリプトのこの部分はプロファイルにマージすることもできます)

JAVA_HOME=/usr/local/tools/jdk1.8.0_231
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
HADOOP_HOME=/opt/hadoop-3.3.0
PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export CLASSPATH
export PATH

7、クラスターを開始します

1)namenodeをフォーマットします。

hdfs namenode -format

2)hdfsクラスターを開始します。

/opt/hadoop-3.3.0/sbin/start-dfs.sh

3)ヤーンクラスターを開始します。

/opt/hadoop-3.3.0/sbin/start-yarn.sh

4)起動結果を表示する:
hadoop01で、jpsは次を確認できます。

[appadmin@168-61-1-11 sbin]$ jps
16610 Jps
28931 NameNode
30503 ResourceManager

他のノードでは、jpsは以下を見ることができます:

[appadmin@168-61-1-16 hadoop]$ jps
17556 DataNode
2983 Jps
18379 NodeManager

5)管理ノードにアクセスします。

HDFS WEB管理:http://168.61.1.11:9870 /
ここに画像の説明を挿入

糸のWEB管理:http://168.61.1.11:8088 /
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/sinat_39809957/article/details/112990935