2つのCentos7システムを使用してHadoop-3.1.4の完全分散クラスタを構築する

2つのCentos7システムを使用してHadoop-3.1.4の完全分散クラスタを構築する

[[392380]]

ビッグデータに関する一般的な技術用語

今後の競争はデータ獲得競争となるでしょう。ビッグデータは本質的に Hadoop のエコシステムです。以下に一般的な技術用語をいくつか示します。

  • ETL: 抽出、変換、ロードの略です。
  • Hadoop: 分散システムインフラストラクチャ
  • HDFS: 分散ファイルシステム
  • HBase: ビッグデータ用の NoSQL データベース
  • Hive: データ ウェアハウス ツール
  • DAG: 第2世代のコンピューティングエンジン
  • Spark: 第3世代のデータ処理エンジン
  • Flink: 第4世代データ処理エンジン
  • MapReduce: オリジナルの並列コンピューティング フレームワーク
  • Sqoop: NoSQL データベースと従来のデータベース間でデータを転送するためのツール
  • Hive: データ ウェアハウス ツール
  • Storm: 分散型リアルタイムコンピューティングシステム
  • Flume: 分散型の大規模ログ収集システム。
  • Kafka: 分散パブリッシュ・サブスクライブ型メッセージングシステム
  • ElasticSearch: 分散検索エンジン
  • Kibana: ElasticSearch ビッグデータのグラフィカル表示ツール
  • Logstash: Elasticsearch のコンベアベルト
  • Neo4j: NoSQL グラフ データベース
  • Oozie: ワークフロー スケジューリング システム - YARN: ジョブ スケジューリングとクラスター リソース管理のフレームワーク

Hadoop クラスター

ビッグデータはクラスターベースの分散システムです。クラスターは、ネットワークを介して相互に通信する独立したコンピュータ システムのグループで構成されるマルチプロセッサ システムであり、複数のコンピュータが並行して、またはバックアップとして連携して動作 (サービス) できるようにします。

  • 分散: 分散システムの主な仕事は、タスクと機能を分解して、複数の人が協力してさまざまな作業を実行できるようにすることです。
  • クラスター: クラスターは主に、複数のサーバーに同じ業務を展開し、複数の人が一緒に同じことを行えるようにします。

Hadoop 入門

Hadoop は、Apache によって Java で実装されたオープン ソース ソフトウェア フレームワークです。大規模なデータを保存および計算するためのソフトウェア プラットフォームです。

Hadoop は、Apache Lucene の創設者である Doug Cutting によって作成され、Nutch プロジェクトから生まれました。

  • 2003 年に Google は、大規模データ ストレージの実現可能なソリューションを提供する GFS 論文を発表しました。
  • 2004 年に Google は MapReduce システムに関する論文を発表し、大規模データ コンピューティングの実現可能なソリューションを提供しました。 Google の論文に基づいて、Nutch の開発者は HDFS と MAPREDUCE の対応するオープンソース実装を完成させ、それらを Nutch から分離して独立したプロジェクト Hadoop にしました。
  • 2008 年 1 月までに、Hadoop は Apache のトップレベル プロジェクトとなり、急速な開発期に入りました。
  • 現在、国内外のインターネット大手は基本的にHadoopフレームワークをビッグデータソリューションとして使用しており、ますます多くの企業がHadoopテクノロジーをビッグデータ分野への参入に必要なテクノロジーとして検討しています。

現在、Hadoop ディストリビューションは、オープンソース コミュニティ エディションと商用エディションに分かれています。

  • オープンソース コミュニティ バージョン: Apache Software Foundation によって管理されているバージョンを指します。豊富なバージョンと若干互換性の低い、公式にメンテナンスされたバージョン システムです。
  • 商用バージョン: Hadoop のコミュニティ バージョンに基づいて、さまざまなサービス コンポーネントにいくつかの変更、統合、互換性テストを行った後、サード パーティの商用企業によってリリースされたバージョンを指します。より有名なものとしては、Cloudera の CDH があります。

オープンソース コミュニティ バージョン: 通常は 2.x バージョン シリーズを使用します。3.x バージョン シリーズ: このバージョンは最新バージョンですが、あまり安定していません。

無駄話はやめて、今日の話題を始めましょう。3つのCentos7システムを使用してHadoop2.Xの完全分散型クラスターを構築する

昨年、CentOS 7 を使用して Hadoop 3.X 分散クラスターを構築しました。パソコンを変更し、そのパソコンには他にもいろいろなものがインストールされていることを考慮して、今回は Centos 7 システム 2 台を使用して Hadoop 完全分散クラスターを構築しました。 Centos はバージョン 8 にアップデートされていますが、多くのビッグ データ スタディは Centos 7 システムに基づいて構築されています。ここでは疑似分散サーバーを構築しません。私たちが構築するバージョンは Hadoop-3.1.4 で、これは現在 Haddop3.X で安定しています。

昨年の関連記事チュートリアル:

  • https://blog.csdn.net/weixin_44510615/article/details/104625802
  • https://blog.csdn.net/weixin_44510615/article/details/106540​​129

クラスター構築前の準備

Centos7 のダウンロード アドレス: http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso。合計4.8g。

クラスターをセットアップする前に、VMwear Workstation 上に Centos7 システムを構築する必要があります。構築プロセスは簡単なのでここでは省略します。

物理マシンを介して仮想マシンに接続する場合は、VMnet1 と VMnet8 の 2 つの仮想ネットワーク カードが必要です。

私の以前の経験によれば、VMware が VMnet1 および VMnet8 なしでインストールされている場合、インターネットではレジストリを削除するために cclear ソフトウェア パッケージをインストールするように指示されています。しかし、それは VMware を継続的に削除してダウンロードすることを意味し、問題は解決されませんでした。最終的には、システムをフラッシュすることで解決しました。

したがって、仮想マシンを構築するための前提条件は、ローカル ホストに仮想ローカル環境があることです。そうでない場合、行うすべての作業が無駄になります。

ここに画像の説明を挿入

ここで、仮想マシンの IP アドレスをローカルで ping し、ローカル マシンと仮想マシン間の情報接続を確立できます。

この方法では、xshell を介して Centos7 にリモート接続できます。

Centos7 を初めて使用する場合、作成したユーザーに管理者権限を付与する必要があるため、root アカウントを使用して関連する変更を行い、node01 が sudoers ファイルから失われないようにする必要があります。この件は報告されます。エラーが報告されます。

使用: wq!保存して終了するには、

リモート接続が失敗した場合、開発ポートと IP アドレスは存在しません。 sudo vim /etc/ssh/sshd_configを設定する必要があります

静的IPを設定する

ifconfig 経由で静的 IP を設定する

ネットワークカードを再起動する

Alibaba Cloud yumソースを設定する

ダウンロード速度は最初は非常に遅いので、Alibaba Cloud yum ソースを設定する必要があります。以下は、ルート アカウントを使用した公式ドキュメントからの抜粋です。

  1. #Alibaba Cloud yumソースを構成する
  2. yum インストール -y wget
  3. /etc/yum.repos.d/ をコピーします。
  4. mv CentOS-Base.repo CentOS-Base.repo.bak
  5. http://mirrors.aliyun.com/repo/Centos-7.repo を取得します。
  6. mv Centos-7.repo CentOS-Base.repo
  7. #epelソースを設定する
  8. https://mirrors.aliyun.com/repo/epel-7.repo を取得します。
  9. # キャッシュをクリアして更新する
  10. おいしい、すべてきれい 
  11. yum メイクキャッシュ
  12. yumアップデート 

JDKをインストールする

hadoopフレームワークの起動はjava環境に依存するため、jdk環境を準備する必要があります。現在、OpenJDK と Oracle Java が 2 つの主要な Java 実装です。 Linux システムから元の jdkOpenJDK をアンインストールし、Oracle Java をインストールします。

具体的なブログ: https://blog.csdn.net/weixin_44510615/article/details/104425843

仮想マシンのクローンを作成する

また、静的アドレスを 192.168.147.129 に設定し、3 つの Centos7 ホスト名をそれぞれ node01 と node02 に設定して、Centos7 マシンを区別します。

以前、ユーザー名 node01 を作成しましたが、間違いに気づいたので、両方のホストのユーザー名を hadoop に設定しました。

Centos7 でユーザー名を変更する方法について: [root@node01 ~]# usermod -l hadoop -d /home/hadoop -m node01.

それ以来、私たちは 2 台の Centos コンピューターを所有しており、Hadoop クラスターで root アカウントを使用していません。

xshell は正常に接続できます。

SSHパスワードフリーログインを設定する

  1. [root@node01 ~]# vim /etc/sysconfig/network
  2. #########
  3. ホスト名=node01
  4. [root@node01 ~]# vim /etc/hosts
  5. #########
  6. 192.168.147.128 ノード01
  7. 192.168.147.129 ノード02
  8.  
  9. [root@node01 ~]# systemctl 停止firewalld
  10. [root@node01 ~]# systemctl は、firewalld.service を無効にします。
  11.  
  12. [root@node02 ~]# vim /etc/sysconfig/network
  13. #########
  14. ホスト名=node02
  15. [root@node02 ~]# vim /etc/hosts
  16. #########
  17. 192.168.147.128 ノード01
  18. 192.168.147.129 ノード02
  19.  
  20. [root@node02 ~]# systemctl 停止firewalld
  21. [root@node02 ~]# systemctl は、firewalld.service を無効にします。

node01 と node02 間で Hadoop アカウントを自由に切り替える方法については、私のブログを参照してください: https://blog.csdn.net/weixin_44510615/article/details/104528001?

hadoop をダウンロード ダウンロードリンク: https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.1.4/hadoop-3.1.4.tar.gz

  1. [hadoop@node01 ~]$ ls
  2. hadoop-3.1.4.tar.gz モジュール wget-log パブリック テンプレート ビデオ 画像 ドキュメント ダウンロード 音楽 デスクトップ
  3. [hadoop@node01 ~]$ mkdir -p module/hadoop
  4. [hadoop@node01 ~]$ tar -zxvf hadoop-3.1.4.tar.gz -C module/hadoop/
  5. [hadoop@node01 ~]$ cd module/hadoop/hadoop-3.1.4/
  6. [hadoop@node01 hadoop-3.1.4]$ sudo mkdir -p data/tmp
  7. [hadoop@node01 hadoop-3.1.4]$ ls
  8. bin データなど include lib libexec LICENSE.txt NOTICE.txt README.txt sbin 共有

設定ファイルを変更する

クラスター/分散モードを構成する場合は、hadoop/etc/hadoop ディレクトリ内の構成ファイルを変更する必要があります。ここでは、workers、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml など、通常の起動に必要な設定のみが設定されます。詳細な設定については、公式の説明を参照してください。

hadoop-env.shファイルを変更する

  1. [hadoop@node01 hadoop]# vim hadoop-env.sh
  2. ############
  3. JAVA_HOME=/usr/java/jdk1.8.0_281/ をエクスポートします。
  4.  
  5. [hadoop@node01 hadoop]# vim yarn-env.sh
  6. ############
  7. JAVA_HOME=/usr/java/jdk1.8.0_231 をエクスポートします。

ファイルワーカーを変更する

マスターノードのワーカーファイルにスレーブノードを指定します。つまり、node02です。

  1. [hadoop@node01 hadoop]$ vim ワーカー
  2. [hadoop@node01 hadoop]$ catワーカー
  3. ノード02

core-site.xmlファイルを変更する

core-site.xml ファイルを次の内容に変更してください。

hdfs-site.xmlファイルを変更する

hdfs-site.xml ファイルを次の内容に変更してください。

Hadoop の分散ファイルシステム HDFS では、冗長ストレージが一般的に使用され、冗長係数は通常 3、つまり 1 つのデータのコピーが 3 つ保存されます。ただし、このチュートリアルではデータ ノードとしてスレーブ ノードが 1 つだけあります。つまり、クラスター内にデータ ノードが 1 つだけあり、保存できるデータのコピーは 1 つだけなので、dfs.replication の値は 1 に設定されたままです。

mapred-site.xmlファイルを変更する

mapred-site.xml ファイルを次の内容に変更してください。

  1. [hadoop@node01 hadoop]$ cat mapred-site.xml
  2. <構成>
  3. <プロパティ>
  4. <名前>mapreduce.framework。名前</名前>
  5. <value>糸</value>
  6. </プロパティ>
  7. </構成>

yarn-site.xmlファイルを変更する

yarn-site.xml ファイルを次の内容に変更してください。

Hadoop環境変数の設定

etc/profile に hadoop パスを追加します。

HDFSを初期化する

HDFS を初期化し、namenode 初期化コマンドを実行します。

  1. hdfs ネームノード -フォーマット

フォルダの作成に失敗する問題がある可能性があります。これは権限の問題です。ルート アカウントを使用して、コマンド sudo chmod -R a+w /absolute path を使用します。 HDFS の初期化に失敗した場合は、以前に作成したフォルダーを削除する必要があります。

クラスターを起動する

start-all.sh を直接実行して Hadoop を起動します。この時点で、node02 上の関連サービスも開始されます。

各サーバーで jps コマンドを使用して、サービス プロセスを表示します。

または、Web-UI インターフェイスに直接アクセスして表示します。ポートは 9870 です。この時点で利用可能なデータノードがあることがわかります。

次に、Yarn のステータスを確認します。ポート番号は 8088 です。

この時点で、Hadoop 分散クラスターが正常に構築されました。

<<:  業界初! Cloud Function 120G 超大容量メモリインスタンス

>>:  クラウドストレージを再びシンプルにする2つのヒント

推薦する

インターネットはどのようにしてトラフィックを生成するのでしょうか?

トラフィックとユーザーの生成は一度きりのことではなく、モバイルで持続的かつ長期的な運用が必要です。な...

ローカライズされたフォーラム ポータルの統一モデルの検討は、全国的に再現できるでしょうか?

[コアヒント] ローカリゼーションの試みには成功するものもあれば、失敗するものもあります。ますます多...

外部リンクスペシャリストはどこに行くのでしょうか?

最近、外部リンクの専門家として働いている友人が、仕事があまりにも疲れて退屈だと私に不満を漏らしました...

eBay、Catwalkと提携して中国のB2C市場に復帰

首都の冬、電子商取引界の内部統合が加速している。南都日報地図:宋小偉eBayオンラインマーチャントの...

vpsdime: 月額 7 ドル、新製品シリーズ - Windows VPS、4G メモリ/2 コア/50g SSD/2T トラフィック/ダラス データ センター

vpsdime は、新しい製品シリーズである Windows VPS を発売しました。構成は依然とし...

コンテナ構築の7つのベストプラクティス

コンテナと Kubernetes は急速に人気を集めていますが、まず 1 つのことを明確にする必要が...

nogics-ドイツ VPS/20 USD/年/2CPU/1g メモリ/50g SSD/4T トラフィック

最近、nogics.com は、ドイツのデータ センターにある、4 つの 1TB 純粋 SSD ハー...

モバイルインターネットについてどう思いますか?あなたにとって天国と地獄はどれくらい遠いのでしょうか?

場面1:関係機関の報告によると、モバイルインターネットの一人当たり平均オンライン時間が初めてPCイン...

Haixue.com は、かつて個人のウェブマスターが所有していた haixue.com ドメイン名を取得しました。

2012年2月21日、遠隔教育ウェブサイト「HiXue.com」がダブルピンインドメイン名haixu...

2017-2018年のクラウドコンピューティングスタートアップへの大規模資金調達リストをマークダウン

スタートアップが成功するには、その背後にあるアイデアがユニークで、意味があり、ニーズを満たすものでな...

SEO ブログ記事はすべて価値があるのでしょうか?

昨日、私は SEO ブログのオリジナル記事の問題について同僚と話していました。彼は、一部の SEO ...

「感情的」な要素でユーザーの注目を集める方法

人間は喜び、怒り、悲しみ、幸福の7つの感情と6つの欲求を持つ感情的な動物であることは誰もが知っていま...

A5フォーラムの重要性がいかに高いかを証明する例

A5フォーラムは、ウェブマスターネットワークのウェブマスター交流フォーラムです。A5フォーラムは20...

IDC:中国のパブリッククラウドサービス市場は前年比49.7%成長し、世界最速

[[395230]] IDCが4月22日に発表した最新の「世界と中国のパブリッククラウドサービス市場...