現在では、ビジネスやコンピュータを使用するあらゆる業務が成長し、複数のコンピュータを処理する必要がある程度に達すると、作業負荷をより効率的に処理するために、すぐに複数のコンピュータを単一のネットワークの一部として使用し始めます。これは、今日ではデータ サイエンスなどの分野のほぼすべての操作がネットワークに接続されたコンピューターによって実行されるまでに一般的になってきています。この方法で要求の厳しいコンピュータ タスクを実行する方が効率的であることは間違いありませんが、各コンピュータを個別に構成し、タスクの実行中にネットワーク全体を管理する必要があるため、非常に複雑でもあります。ここで、Hadoop のようなプログラムが窮地を救ってくれます。
Hadoop は、Apache によってリリースされた一連のツールとプログラムであり、これを使用すると、多数のコンピューターをネットワークで接続するプロセス全体を、より効率的かつ簡単に実行できるようになります。したがって、この記事では、Hadoop をレビューし、そのユースケースを検討し、その長所と短所を検討し、その高度なアーキテクチャの概要を説明してから、Ubuntu 20.04 に Hadoop をインストールする方法に関するステップバイステップのガイドに進み、この 2024 Hadoop チュートリアルを終了します。
Apache Hadoopとは何ですか?
Apache を利用した一連のツールである Hadoop は、15 年以上にわたってネットワークのセットアップと利用を変革してきました。ユーザーは Hadoop のリソース効率を活用できるため、高価なアップグレードを必要とせずに、現在のコンピューティング能力を要求の高いタスクに活用できます。このスイートは、HDFS、YARN、MapReduce、Hadoop Common の 4 つのモジュールで構成されており、それぞれが特定のユースケース向けに設計されています。
Hadoop の素晴らしさは、その固有の機知にあり、個人と組織の両方が既存の計算能力を統合して、実質的な計算上の課題を克服できる結束力を巧みに発揮できるようにします。 Hadoop の指導がなければ、これらの企業は、ますます強力なコンピューティング マシンを取得するという、費用のかかる取り組みに乗り出さざるを得なくなるでしょう。
Hadoopの使用例
これで、Hadoop が何であるかがわかりました。しかし、そのユースケースは現実世界にどのように正確に適用されるのでしょうか?プログラムを紙の上で理解することは十分に良いことですが、本格的な運用の一環としてその可能性を実現することに代わることはできません。そこで、Hadoop チュートリアルに進む前に、いくつかの例を示します。
リスク分析
すでに述べたように、Hadoop を使用すると、単一のネットワーク ユニットの一部として複数のコンピュータ システムの能力を利用して、大量のデータのバッチを効率的に処理し、通常よりも高速に分析できます。どのようなビジネスにも、分析と計算が必要なリスクが存在します。ここでは Hadoop が非常に便利です。実際、多くの信頼できる病院がさまざまな治療法のリスクを分析し、患者の手術の潜在的な結果と統計を推測するためにこれを使用しています。ヘルスケアにおける Hadoop の革命的な役割について詳しくは、こちらをご覧ください。
セキュリティ侵害の検出
ネットワークやビジネス内でネットワーキングと使用されるデバイスの総量が増加するにつれて、注意すべき潜在的なセキュリティ侵害がますます増えています。 Hadoop の重要なユーティリティの 1 つは、大量のデータ バッチを分析し、システムの潜在的な問題点を明らかにすることで、操作全体を評価することです。
レビューマッピング
多くの企業は、製品を改善したり、新しい市場戦略を開発したりするために、製品に関して得られるレビューのフィードバックに依存しています。人間が十分な大きさのレビュー ファイルをカバーするには長い時間がかかりますが、Hadoop はネットワーク化されたコンピューターの魔法を利用して、はるかに高速な結果をもたらします。
市場分析
市場戦略と言えば、前述のレビュー マッピングは、市場に参入する新製品の可能性を評価するために市場を分析するのに必要なリソースの数に比べれば、取るに足らないものです。これは、Hadoop が優れているもう 1 つの使用例です。これにより、小規模な新興企業でも、効率的な時間枠と方法で複数のコンピューターを使用して市場を効率的に評価できるようになります。
ログファイルの評価
ビジネスのもう 1 つの側面は、時間が経つにつれて複雑になり、重要性が増していきます。それは、全体的に使用し始めるソフトウェアの量です。使用するソフトウェアが増えると、潜在的なバグや問題点が増えるため、ログ ファイルを管理して問題に対処する専任の従業員が必要になります。これには多くの時間がかかりますが、いくつかの簡単なプロトコルを使用することで、企業は Hadoop を使用してログ ファイルを迅速にレビューおよび評価し、これらのバグを見つけて取り除くことができます。
他にも Hadoop の使用例やアプリケーションはたくさんありますが、記事の目的に焦点を当て続けるために、これ以上は説明しません。
Hadoop アーキテクチャの概要
Hadoop とその全体的な使用例、およびその機能について聞いたことがあるとします。まだやっていないとしても、この記事はおそらくこれまでのところそれを行っているでしょう。しかしここで、Hadoop が実際に何でできているのか、そしてその各部分が他の機能とどのように連携するのかを深く理解する必要があります。前に述べたように、Hadoop には 4 つの一般的な層があります。 Hadoop チュートリアルのこの部分では、HDFS (Hadoop Distributed File System)、YARN (Yet Another Resource Negotiator)、MapReduce、および Hadoop Common について詳しく学習します。ただし、Hadoop Common には説明する必要があるほど多くの機能が備わっていないため、その本質的な部分は次のように呼ばれています。 動物園の飼育員。したがって、このセクションでは、高度な Hadoop アーキテクチャとエコシステム、およびその 4 つのセクションを基本的な用語で要約してから、最後に Ubuntu 20.04 に Hadoop をインストールする方法に移ります。
HDFS
Hadoop エコシステムの HDFS は、すべての Hadoop サブセクションとアプリケーションがデータの評価、転送、保存に使用するストレージ システム全体を構成します。 HDFS アーキテクチャの主なポイントは、オープンソース プログラムである Hadoop 自体とは異なり、Hadoop の HDFS は実際には単一の Hadoop クラスターの基盤となるすべての操作の実行を担当するファイル システムであるということです。 HDFS は、データ バッチを 128 MB のチャンクに分割し、シーケンス ベースの操作向けに最適化する、非常に復元力の高いファイル システムです。
Hadoop ソフトウェアにおける HDFS の主な役割は、すべてのデータをデータ ラック全体の一部として提供することです。データ ラックは、データ分析操作を整理するために、さまざまなネームノードやセカンダリ ラックを介してサブセクションに操作できます。その後、ジャーナル ラック、QJM、HA、fsimage などの他のオプションを使用し、ログ ファイルと全体的な凡例ログを編集して、他のタスクを追跡したり実行したりできます。
糸
YARN は、Hadoop のもう 1 つの執行部門であり、Hadoop エコシステム内の特定のアプリケーションに必要な量のコンピューティング資産を割り当てるために使用されます。本質的には、クライアントがリソース マネージャーを使用して、一連の異なるノードを通じてこれらのリソースを異なるタスクやアプリケーションに割り当てることができるようになります。 YARN にも、HDFS の凡例と同様の凡例があり、割り当てられたすべての資産と操作を追跡できます。 YARN 自体は、リソース マネージャー、アプリケーション マスター、ノード マネージャーの 3 つのサブセクションに分かれています。
これら 3 つのサブセクションはそれぞれ、クラスター、アプリケーション、ノードごとに新しいインスタンスを作成します。 YARN を使用してさまざまなタスクにリソースを割り当てるだけでなく、これらのリソースを時間の経過とともに変更するようにスケジュールして、高度なアルゴリズム ワークフローを作成することもできます。 YARN はそのサブセクションに限定されません。YARN を HDFS や Zookeeper などの他のアーキテクチャ レイヤと組み合わせて使用して、リソースを割り当て、全体的な操作を評価するインスタンスが数多くあります。
Hadoop マップリデュース
Hadoop MapReduce は、Hadoop エコシステムのもう 1 つの主要なコンポーネントです。 Ubuntu に Hadoop をインストールすると、この機能を使用して、複数の異なるコンピューターによって分散された方法で分析された大量のデータのバッチを効果的に取得できます。基本的に、Hadoop MapReduce は次のように動作します。つまり、大規模なデータ マップをプログラムに入力します。このデータ マップはシャッフルされ、分解され、ネットワークに接続されたコンピューター全体に分散されます。その後、リデューサーとして知られる特定のプロトコルを使用して、データは最も重要なコンポーネントに絞り込まれ、削減されます。これらの操作のそれぞれはジョブとして知られています。
MapReduce で分析したいデータ マップとして機能する 3 単語の文があるとします。その文章が「Bear Hunt Rabbit」だとしましょう。 Hadoop MapReduce は、この文を 1 つの単語を含む 3 つの異なるバッチに分解して削減します。次に、これらの単語を使用して、他のジョブの同様のデータ入力と新しい組み合わせを作成して、不要なデータが削除された均質化された最終的なデータ バッチを作成します。これは簡単に分析できます。
動物園の飼育員
Zookeeper は、Hadoop バージョン 2.0 のリリースで最初に有名になり、一般的に使用されるようになった Hadoop エコシステムのもう 1 つのサブセクションです。 Zookeeper の主なサービスポイントは、単一の Hadoop インスタンスの一部として実行しているさまざまな操作間を調整することです。そのため、Zookeeper はほとんどの場合、YARN のリソース マネージャーおよび Hadoop の HDFS のさまざまな機能と組み合わせて使用されます。これらの操作における Zookeeper の主な用途は、潜在的な障害点を検出して修復することです。これを行うために、ZKFiloverControer と Zookeeper Quorum という 2 つの異なるツールを使用します。
これらの手順では、Hadoop アーキテクチャの他のコンポーネントによって管理されるデータ ノードは、ユーザーによって監視されるアクティブなネームノードとして分類されます。その後、これらのネームノードのそれぞれが、Zookeeper の前述の 2 つのサブセクション内で精査されます。これは、問題のある領域を特定し、潜在的な障害を特定するために行われます。
Ubuntu 20.04 に Hadoop をインストールする – ステップバイステップガイド
そして最後に、Hadoop アーキテクチャについて学んだ後、この Hadoop チュートリアルの最終部分として、Ubuntu 20.04 に Hadoop をインストールする方法という本題に取り掛かります。 Ubuntu 20.04 に Hadoop をインストールするためのステップバイステップ ガイドに進む前に、前提条件を説明しましょう。このガイドは Ubuntu 18.04 にも使用できることに注意してください。
前提条件
Ubuntu に Hadoop をインストールするために必要な前提条件は非常に簡単です。必要なのは、ルート アクセス権を持つ Ubuntu 搭載コンピューターだけです。ローカルで利用できるか、VPS サーバー経由でリモートでアクセスできます。前提条件プログラムに関しては、Java 11 と SSH がすでにインストールされていることを確認してください。これらをお持ちでない場合は、次のコマンドを一度に 1 つずつ実行してインストールします。
sudo apt update && sudo apt upgrade -y
sudo apt install openssh-server openssh-client -y
sudo apt install openjdk-11-jdk -y
Hadoop は無料でオープンソースであるため、ライセンスについては必要ありません。必要なのはそれだけです。ステップ 1 に進みましょう。
ステップ 1: Hadoop の非 root ユーザーを作成する
次のコマンドを使用して、Hadoop の非 root ユーザーを作成します。これは、Hadoop を実際にダウンロードしてインストールする前に行う必要がある事前構成の一部です。
sudo adduser hdoop
su - hdoop
ステップ 2: SSH キーをセットアップする
Ubuntu に Hadoop をインストールするために、作成した Hadoop ユーザーを使用して SSH 接続を確立します。次のコマンドを使用して SSH キー ペアを生成し、保存します。
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
キーが生成されたら、次の行によりキーを次のようにマークできるようになります。 許可されたキー そしてそれらを SSH ディレクトリに保存します。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
次に、次のコマンドを使用して、SSH 接続に必要な権限がすべてあることを確認します。
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
変更を確認すると、作成したユーザーでいつでもローカルホストに簡単に接続できるようになります。
ssh localhost
ステップ 3: Ubuntu に Hadoop をダウンロードしてインストールする
訪問できます。 Apache Hadoop Web サイト 最近の変更ログを含むバージョンのリストを表示します。好みのバージョンを選択すると、次のコマンドで Hadoop を Ubuntu にダウンロードしてインストールするために使用できるリンクが表示されます。ここではバージョン 3.3.6 を選択します。必要に応じて、「3.3.6」を最新の安定バージョンに置き換えます。
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
ダウンロードが完了したら、次の行を使用して抽出とインストールのプロセスを完了します。
tar xzf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
sudo chown -R hdoop:hdoop /usr/local/hadoop
ステップ 4: Hadoop 環境の構成
セット JAVA_HOME in /usr/local/hadoop/etc/hadoop/hadoop-env.sh:
echo 'export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")' | sudo tee -a /usr/local/hadoop/etc/hadoop/hadoop-env.sh
ステップ 5: 構成ファイルを編集する
Hadoop の XML 構成ファイルをクラスター設定で更新します。
nano /usr/local/hadoop/etc/hadoop/core-site.xml
ステップ 6: HDFS をフォーマットする
Hadoop ファイルシステムの名前空間を初期化します。
/usr/local/hadoop/bin/hdfs namenode -format
ステップ 7: Hadoop サービスを開始する
HDFS サービスと YARN サービスを起動します。
/usr/local/hadoop/sbin/start-dfs.sh
/usr/local/hadoop/sbin/start-yarn.sh
ステップ 8: インストールの確認
実行中の Java プロセスをチェックして、Hadoop が実行されていることを確認します。
jps
ステップ 9: Web インターフェイスにアクセスする
Web ブラウザを開いて Hadoop の NameNode インターフェイスと ResourceManager インターフェイスにアクセスします。
名前ノード: http://localhost:9870
リソースマネージャー: http://localhost:8088
ステップ 10: MapReduce サンプルを実行する
サンプルの MapReduce ジョブを実行してセットアップを検証します。
/usr/local/hadoop/bin/hdfs dfs -mkdir /input
/usr/local/hadoop/bin/hdfs dfs -put localfile.txt /input
/usr/local/hadoop/bin/hadoop jar
/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep /input /output 'dfs[a-z.]+'
/usr/local/hadoop/bin/hdfs dfs -cat /output/*
ステップ 11: 環境変数を設定する
Hadoop を追加する ビン そして スビン ディレクトリをシステム PATH に追加します。
echo 'export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin' >> ~/.bashrc
source ~/.bashrc
それで終わりです!これで、Ubuntu 20.04 に Apache Hadoop を正常に構成してインストールすることができました。
結論
要約すると、Ubuntu 20.04 への Hadoop のインストールは、細心の注意を払い、セットアップの微妙な違いを調査する準備が必要な徹底的なプロセスです。このガイドに記載されている手順に従うことで、Ubuntu ユーザーは変革の旅に乗り出し、Hadoop の実質的な機能を活用してデータ分析の追求の可能性を最大限に実現することができます。
私がお勧めするのは、Hadoop を学習して試してみるだけの場合は、限定された配布を使用して単一ノード展開として Hadoop を展開することです。この目的には、VPS が最適です。 Cloudzy はさまざまなサービスを提供します Linux VPS サービス アイアンクラッドを含む、信頼性の高い Ubuntu VPS すぐに構成して、あなたにとって完璧な Hadoop 学習のプレイグラウンドにすることができます。月額 4.95 ドルから、12 以上の拠点と 24 時間年中無休の思いやりのあるサポートを備えた独自の Ubuntu VPS を入手できます。
明らかな選択
Linux で実行されるサーバーの大部分は Ubuntu を使用しています。なぜあなたはそうではないのですか?誰もが Ubuntu を愛する理由を発見してください — 最適化された Ubuntu VPS を入手してください
Ubuntu VPS を入手するよくある質問
HDFS と MapReduce の違いは何ですか?
どちらのモジュールも Hadoop エコシステム内に存在しますが、それぞれ異なる目的を果たします。 HDFS は分散ファイル システムとして機能し、データへのアクセスを容易にします。一方、MapReduce は、大きなデータ チャンクを分割して効率的に分析することに優れています。
Hadoop はデータベースとみなされますか?
この誤解はよくありますが、Hadoop はデータベースではありません。むしろ、相互接続されたコンピュータのネットワークを使用して大量のデータの保存と処理を可能にする分散ファイル システムとして動作します。従来のデータベース システムの直接の代替として使用しないでください。
Hadoop の 4 つの主要コンポーネントは何ですか?
Hadoop は、HDFS (Hadoop Distributed File System)、YARN (Yet Another Resource Negotiator)、MapReduce、および Hadoop Common の 4 つのコア コンポーネントで構成されます。さらに、一部のリソースは ZooKeeper をコンポーネントとしてみなしていますが、正式にはそのように認識されていません。
Hadoop は通常どこで利用されますか?
Hadoop は、大規模なデータの管理、保存、処理、分析が不可欠なさまざまなドメインでアプリケーションに使用されています。中規模の企業や病院から急成長中の新興企業に至るまでの業務に対応し、データ駆動型のソリューションを提供します。