2.分散環境クラスターの構築に関するHadoopチュートリアルチュートリアル(詳細)

2.分散環境クラスターの構築に関するHadoopチュートリアルチュートリアル(詳細)

序文

この記事では、Apache Hadoop 2.xバージョンのインストールと展開のみを紹介し、後続の記事では、Hadoop 2.xの構造、さまざまなモジュールの協調動作原理、および技術的な詳細を紹介します。インストールは目的ではありませんが、インストールを通じてHadoopを理解することが目的です。

1.展開環境

部分的な方法は、実際に複数のLinuxホストを使用してHadoopを展開し、Hadoopの各モジュールが異なる複数のマシンに展開されるようにLinuxマシンクラスターを計画することです。
以下に、Hadoopクラスター(1つのマスターノードと2つのスレーブノードを含む)の分散展開を示します。

(1)準備

3台のLinuxサーバ準備
192.168.2.110(マスターノード)
192.168.2.111(スレーブノード)
192.168.2.112(スレーブノード)
。ファイアウォールを閉じる
。JDKと設定環境変数をインストール
デフォルトでは、JDKをインストールし、環境変数を設定して、ここでインストールして設定します。繰り返さないでください。

//192.168.2.110上配置如下:
/usr/local/jdk/jdk1.8.0_192/bin/java

//192.168.2.111上配置如下:
/usr/local/server/jdk1.8.0_171/bin/java

//192.168.2.112上配置如下:
/usr/local/server/jdk1.8.0_171/bin/java

構成が成功したかどうか知りたいですか?グローバル変数の表示:

echo $JAVA_HOME

(1)3つのサーバーが同期時間を構成します。

yum install ntpdate
ntpdate cn.pool.ntp.org

(2)3つのサーバー構成ホスト名:

vim /etc/sysconfig/network
//192.168.2.110上network配置如下:
NETWORKING=yes
HOSTNAME=node-1

//192.168.2.111上network配置如下:
NETWORKING=yes
HOSTNAME=node-2

//192.168.2.112上network配置如下:
NETWORKING=yes
HOSTNAME=node-3

(2)3つのサーバーがIPとホスト名のマッピングを設定します。

vim /etc/hosts
//192.168.2.110上hosts配置如下:
192.168.2.110 node-1

//192.168.2.111上hosts配置如下:
192.168.2.111 node-2

//192.168.2.112上hosts配置如下:
192.168.2.112 node-3

(3)マスターノードサーバーがSSHパスワードフリーログイン(192.168.2.110で構成)で構成されている
。インターネット上のHadoopSSHパスワードフリーログインを構成する方法はたくさんあります。すべての道はローマに通じており、ブロガーは最も簡単な構成方法をまとめました。

ssh-keygen -t rsa              # 会有提示,都按回车就可以
//cat id_rsa.pub >> authorized_keys  # 加入授权(非必须执行)
//chmod 600 ./authorized_keys    # 修改文件权限(非必须执行)
ssh-copy-id node-1
ssh -o StrictHostKeyChecking=no node-1
ssh-copy-id node-2
ssh -o StrictHostKeyChecking=no node-2
ssh-copy-id node-3
ssh -o StrictHostKeyChecking=no node-3

ssh-copy-id:このコマンドは、現在生成されている公開鍵をリモートマシンのauthorized_keysファイルに入力できます。
ssh -o StrictHostKeyChecking = no:サーバーに初めて接続するときに、公開キーを確認するプロンプトが表示されます。これにより、サーバーへの初期接続が原因で、特定の自動化されたタスクが中断されます。または、〜/ .ssh / unknown_hostsファイルの内容が空になったため、自動化タスクが中断されました。SSHクライアントのStrictHostKeyChecking構成コマンドは、サーバーに初めて接続するときに、新しい公開鍵を自動的に受け入れることができます。

エラーが報告された場合:ホスト「node-2(10.0.0.8)」の信頼性を確立できません。慌てる必要はありません。次のコマンドをもう一度実行してください。

ssh -o StrictHostKeyChecking=no node-2

エラーが報告された場合:「/ root / .ssh / id_rsa」の権限0644がオープンすぎます。慌てる必要はありません。/root/.ssh/id_rsaによって与えられた権限がオープンすぎることを意味します。次のコマンドを実行して権限を与えます。

chmod 0600 /root/.ssh/id_rsa

(2)構成作業

hadoop-2.8.5を/ home / neijiang /ディレクトリに転送します(カスタマイズ可能)。以下の構成はすべてマスターノードサーバーで実行されます。構成が完了したら、マスターノードのhadoop-2.8.5をすべてのスレーブノードにコピーします。ただし、:(
特記事項:hadoopの環境変数はhadoop-2.8.5ディレクトリで構成されていないため、すべて手動でスレーブノードに構成する必要があります)
(1)hadoop-env.shを構成します。

vim hadoop-env.sh
//192.168.2.110上hadoop-env.sh配置如下:
/usr/local/jdk1.8.0_171

(2)構成ファイルcore-site.xmlを変更します

//192.168.2.110上core-site.xml配置如下:
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/neijiang/hadoop-2.8.5/hadoopData</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node-1:9000</value>
    </property>
</configuration>

(3)構成ファイルhdfs-site.xmlを変更します。

//192.168.2.110上hdfs-site.xml配置如下:
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node-2:50090</value>
    </property>
</configuration>

(4)構成ファイルmapred-site.xml.templateを変更します。

mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
//192.168.2.110上mapred-site.xml.template配置如下:
<configuration>
<!--指定mr运行时框架,这里指定在yarn上,默认是local-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

(5)yarn-site.xml

//192.168.2.110上yarn-site.xml配置如下:
<!--指定yarn的老大(resourceManager)的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node-1</value>
    </property>
<!--NodeManager上运行的附属服务,需配置成mapreduce_shuffle,才可运行MapReduce程序的默认值-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

(6)スレーブノードのホスト名が書き込まれているスレーブファイル

vim slaves
//192.168.2.110上slaves配置如下:
//删除原先的localhsot,写入如下内容:
node-1
node-2
node-3

(7)環境変数にhadoopを追加する

vim /etc/profile
//192.168.2.110上配置如下:
export HADOOP_HOME=/home/neijiang/hadoop-2.8.5/  #指向hadoop解压路径
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH=$HBASE_HOME/bin:$ZK_HOME/bin:$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(8)マスターノード192.168.2.110で構成されたhadoop-2.10.0ルートディレクトリをすべてのスレーブノードにコピーします。

scp -r /home/neijiang/hadoop-2.8.5/ root@node-2:/home/neijiang/
scp -r /home/neijiang/hadoop-2.8.5/ root@node-3:/home/neijiang/

(9)マスターノード192.168.2.110で構成されたhadoop環境変数をすべてのスレーブノードに手動で構成します。

export HADOOP_HOME=/home/neijiang/hadoop-2.8.5  #指向hadoop解压路径
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(3)作業を開始する

(1)hdfsのフォーマットについて:
最初の起動時にフォーマットが必要です。フォーマットの本質は、ファイルシステムを初期化し、必要なファイルをいくつか作成することです。
フォーマット後、クラスターは正常に起動し、その後のフォーマットは必要ありません。 。
フォーマット操作は、hdfsクラスターのマスターノードNamenode 配置れているマシンで実行する必要があります
フォーマットコマンド:hadoop namenode -format
(2)開始モード
/home/neijiang/hadoop-2.8.5/sbin

  hdfs启动:  start-dfs.sh
  yarn启动:  start-yarn.sh
  //等同于:start-all.sh
  hdfs关闭:  stop-dfs.sh
  yarn关闭:  stop-yarn.sh
  //等同于:stop-all.sh

各ノードサーバーでjpsコマンドを使用して、開始されたものを表示でき
ます。役立つと思われる場合は、「いいね」、「フォロー」、「お気に入り」を入力してください。

おすすめ

転載: blog.csdn.net/xgb2018/article/details/109329168