GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 7、Ubuntu 18.04、Debian9にApacheHadoopをインストールする方法

Apache Hadoopは、分散ストレージおよび分散プロセス用にJavaで記述されたオープンソースソフトウェアフレームワークであり、コンピュータークラスター全体に分散することで非常に大きなサイズのデータ​​セットを処理します。

Hadoopモジュールは、ハードウェアの高可用性に依存するのではなく、アプリケーションレイヤーで障害を検出して処理するように設計されているため、高可用性サービスを提供します。

Hadoopフレームワークは、次のモジュールで構成されています。

  • Hadoop Common –他のHadoopモジュールをサポートするライブラリとユーティリティの共通セットが含まれています
  • Hadoop分散ファイルシステム(HDFS)–データを格納するJavaベースの分散ファイルシステムであり、アプリケーションに非常に高いスループットを提供します。
  • Hadoop YARN –コンピューティングクラスター上のリソースを管理し、ユーザーのアプリケーションのスケジューリングに使用します。
  • Hadoop MapReduce –大規模なデータ処理のためのフレームワークです。

このガイドは、CentOS 7、Ubuntu 18.04、Debian9にApacheHadoopをインストールするのに役立ちます。このガイドはUbuntu16.04でも機能するはずです。

前提条件

rootユーザーに切り替えます。

 su-

または

 sudo su-

Javaのインストール

Apache Hadoopには、Javaバージョン8のみが必要です。したがって、OpenJDKまたはOracleJDKのいずれかをインストールすることを選択できます。

読む: CentOS 7 /RHEL7にOracleJavaをインストールする方法

読む: Ubuntu18.04にOracleJavaをインストールする方法

読む: Debian9にOracleJavaをインストールする方法

ここで、このデモでは、OpenJDK8をインストールします。

  ### CentOS 7 / RHEL 7 ###  #yum -y install java-1.8.0-openjdk wget  ### Ubuntu 18.04 / 16.04&Debian 9 ###  #apt update#apt install -y openjdk-8-jdk wget 

Javaのバージョンを確認してください。

#java -version 

出力:

openjdkバージョン"1.8.0_212"OpenJDKランタイム環境(ビルド1.8.0_212-b04)OpenJDK 64ビットサーバーVM(ビルド25.212-b04、混合モード)

Hadoopユーザーを作成し、パスワードなしの認証を有効にする

Apache Hadoopを構成して実行するために、通常のユーザーを作成することをお勧めします。したがって、hadoopという名前のユーザーを作成し、パスワードを設定します。

#useradd -m -d / home / hadoop -s / bin / bash hadoop#passwd hadoop 

ユーザーを作成したら、パスワードなしのsshをローカルシステムに設定します。次のコマンドを使用してsshキーを作成します。

#su --hadoop $ ssh-keygen $ cat〜/ .ssh / id_rsa.pub>>〜/ .ssh / authorized_keys $ chmod 600〜/ .ssh / authorized_keys 

ローカルシステムへのパスワードなしの通信を確認します。初めてsshを実行する場合は、yesと入力して、既知のホストにRSAキーを追加します。

 $ ssh 127.0.0.1 

ApacheHadoopをインストールする

Hadoopをダウンロード

Apache Hadoopページにアクセスして最新のHadoopパッケージをダウンロードするか、ターミナルで次のコマンドを発行してHadoopv3.2.0をダウンロードできます。

 $ wget https://www-us.apache.org/dist/hadoop/common/stable/hadoop-3.2.0.tar.gz $ tar -zxvf hadoop-3.2.0.tar.gz $ mv hadoop -3.2.0 hadoop 

Hadoopのインストール

Hadoopは3つのクラスターモードをサポートしています

  1. ローカル(スタンドアロン)モード–単一のJavaプロセスとして実行されます。
  2. 疑似分散モード–各Hadoopデーモンは個別のプロセスで実行されます。
  3. 完全分散モード–これは、少数のノードから非常に大きなクラスターまでの実際のマルチノードクラスターです。

環境変数の設定

ここでは、Hadoopを疑似分散モードで構成します。まず、〜/.bashrcファイルで環境変数を設定します。

 export JAVA_HOME = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre  ##システムに応じて変更してください エクスポートHADOOP_HOME= / home / hadoop / hadoop  ##システムに応じて変更してください export HADOOP_INSTALL =$ HADOOP_HOMEexport HADOOP_MAPRED_HOME =$ HADOOP_HOMEexport HADOOP_COMMON_HOME =$ HADOOP_HOMEexport HADOOP_HDFS_HOME =$ HADOOP_HOMEexport HADOOP_YARN_HOME =$ HADOOP_HOME> PATH / bin _ 

現在のセッションに環境変数を適用します。

 $ source〜/ .bashrc 

構成ファイルの変更

Hadoop環境ファイルを編集します。

 vi $ HADOOP_HOME / etc / hadoop / hadoop-env.sh 

JAVA_HOME環境変数を設定します。

 export JAVA_HOME =/ usr / lib / jvm / java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64 / jre 

Hadoopには多くの構成ファイルがあり、設定したクラスターモード(疑似分散)に応じて編集する必要があります。

 $ cd $ HADOOP_HOME / etc / hadoop 

core-site.xmlを編集します。

    fs.defaultFS   hdfs://  server.itzgeek.local  :9000    

hdfs-site.xmlを編集します。

    dfs.replication   1     dfs.name.dir   file ://  / home / hadoop / hadoopdata / hdfs / namenode      dfs.data.dir   file://  / home / hadoop / hadoopdata / hdfs / datanode     

hadoopユーザーのホームディレクトリにNameNodeディレクトリとDataNodeディレクトリを作成します。

 mkdir -p〜/ hadoopdata / hdfs / {namenode、datanode} 

mapred-site.xmlを編集します。

    mapreduce.framework.name   yarn    

ヤーンサイト.xmlを編集します

    yarn.nodemanager.aux-services   mapreduce_shuffle    

次に、次のコマンドを使用してNameNodeをフォーマットします。ストレージディレクトリを確認することを忘れないでください。

 $ hdfs namenode -format 

出力:

。 。 ..。 .2019-05-12 06:38:42,066 INFO common.Storage:ストレージディレクトリ/ home / hadoop / hadoopdata / hdfs /namenodeが正常にフォーマットされました2019-05-1206:38:42,169 INFO namenode.FSImageFormatProtobuf:画像を保存していますファイル/home/hadoop/hadoopdata/hdfs/namenode/current/fsimage.ckpt_0000000000000000000無圧縮を使用2019-05-1206:38:42,483 INFO namenode.FSImageFormatProtobuf:イメージファイル/ home / hadoop / hadoopdata / hdfs / namenode / current / fsimage .ckpt_0000000000000000000のサイズ401バイトが0秒で保存されました.2019-05-1206:38:42,501 INFO namenode.NNStorageRetentionManager:txid> =02019-05-12 06:38:42,516 INFO namenode.NameNode:で1つの画像を保持しますSHUTDOWN_MSG:/ *********************************************** ************* SHUTDOWN_MSG:server.itzgeek.local /192.168.1.10**********************でNameNodeをシャットダウンします************************************** / 

ファイアウォール

ApacheHadoopがファイアウォールを通過できるようにします。 rootユーザーとして以下のコマンドを実行します。

FirewallD:

 Firewall-cmd --permanent --add-port =9870 / tcpfirewall-cmd --permanent --add-port =8088 / tcpfirewall-cmd --reload 

UFW:

 ufw allow 9870 / tcpufw allow 8088 / tcpufw reload 

Hadoopが提供する/sbinディレクトリ内のスクリプトを使用して、NameNodeデーモンとDataNodeデーモンを起動します。

 $ start-dfs.sh 

出力:

 [server.itzgeek.local] server.itzgeek.localでnamenodesを開始しています:警告:既知のホストのリストに「server.itzgeek.local、192.168.1.10」(ECDSA)を永続的に追加しました。datanodeslocalhostの開始:警告:永続的に既知のホストのリストに「localhost」(ECDSA)を追加しました。セカンダリネームノードの開始[server.itzgeek.local] 2019-05-12 06:39:14,171警告util.NativeCodeLoader:プラットフォームのネイティブhadoopライブラリを読み込めません。 ..該当する場合は組み込みのJavaクラスを使用する

Webブラウザーを開き、以下のURLにアクセスしてNameNodeを参照します。

http://ip.ad.dre.ss:9870/

ResourceManagerデーモンとNodeManagerデーモンを起動します。

 $ start-yarn.sh 

出力:

resourcemanagerの開始nodemanagersの開始

Webブラウザーを開き、以下のURLにアクセスしてResourceManagerにアクセスします。

http://ip.ad.dre.ss:8088/

Hadoopシングルノードクラスターのテスト

アップロードを実行する前に、HDFSにディレクトリを作成しましょう。

 $ hdfs dfs -mkdir / raj 

rajというHDFSディレクトリにファイルをアップロードしましょう。

 $ hdfs dfs -put〜/ .bashrc / raj 

アップロードされたファイルは、 NameNodeに移動して表示できます。>>ユーティリティ>>ファイルシステムを参照 NameNode内。

http://ip.ad.dre.ss/explorer.html#/raj

HDFSからローカルファイルシステムにファイルをコピーします。

 $ hdfs dfs -get / raj / tmp / 

次のコマンドを使用して、ファイルとディレクトリを削除できます。

 hdfs dfs -rm -f /raj/.bashrchdfs dfs -rmdir / raj 

結論

それで全部です。これで、単一ノードのHadoopクラスターが正常に構成され、Hadoopファイルシステムがテストされました。コメントセクションでフィードバックを共有してください。


Cent OS
  1. Debian9StretchにApacheHadoopをインストールする方法

  2. CentOS7にApacheHadoopをインストールする方法

  3. Debian11にHadoopをインストールする方法

  1. CentOS 7 / RHEL 7 / Ubuntu 18.04 / 16.04&Debian9にAnsibleをインストールする方法

  2. Debian11にApacheHadoopをインストールする方法

  3. CentOS8にApacheHadoopをインストールする方法

  1. Ubuntu14.04にApacheHadoopをインストールする方法

  2. Ubuntu18.04LTSにApacheHadoopをインストールする方法

  3. UbuntuにApacheをインストールするにはどうすればいいですか?