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つのヒント

推薦する

ローコードがエンタープライズアプリケーション開発の波を引き起こし、DingTalkプラットフォーム上のアプリケーションの総数は100万を超えました。

5月28日、アリババクラウドサミット2021で、アリババクラウドは一連のデータを公開しました。202...

クラウド コンピューティングと仮想化が柔軟性と拡張性を強化する 6 つの方法

これらの要因は、公益事業およびエネルギー分野の情報技術 (IT) にどのような影響を与えるのでしょう...

洞察 | 2019年のハイブリッドクラウド開発:大きな展望、巨人たちの戦い、SD-WANが重要な原動力に

新年の初めに、いくつかのテクノロジー大手がハイブリッドクラウドの分野で新たな動きを見せました。最近、...

raksmart: 香港の高防御サーバー、20Mbps 帯域幅 (cn2+bgp)、40G-100Gbps 防御

Raksmart の香港データセンターは、有料の DDoS 高度防御保護サービスを追加しました。香港...

Oracle OpenWorldが3つのデータ管理技術革新をハイライトとして開幕

本日、米国サンフランシスコでOracle OpenWorldが開催されました。業界における重要なビジ...

Namecheap-ドメイン名の移転は 3.98 ドル、SSD ホスティングは 1 年間 10 ドル

2月2日、Namecheap.comは、.com、.net、.org、.biz、.infoドメイン名...

シングルホップサーバー無料アップグレード Gポート 30T 月間トラフィック

老舗で強力なIDCであるsinglehopが、サーバープロモーションを開始しました。新規購入したサー...

ページを正確に識別することは検索エンジンの義務であり、贈り物ではない

2010 年 4 月 13 日、Baidu Tieba Webmaster Club で、中国の有名...

一般的な Kubernetes 終了コードの解釈

この記事はWeChatの公開アカウント「DCOS」から転載したもので、著者はzouyeeです。この記...

ガートナー:世界のパブリッククラウドのエンドユーザー支出は2023年に6,000億ドル近くに達すると予想

ガートナーの最新予測によると、パブリッククラウドサービスに対する世界のエンドユーザー支出は、2022...

7月12日は「百度」でしたか?

統計分析によると、本日の百度のアップデートの規模は75.4%に達し、そのうち62.7%のウェブサイト...

オンサイトの微調整を通じてキーワードランキングを安定させ、向上させる

1. 微調整の概念。微調整とは、長期間にわたって運営してきたWebサイトに対して、一定の範囲内で調整...

外部リンクの価値の要点はどのような点に反映されるのでしょうか?

外部リンクの価値は何でしょうか? 制限なく毎日一生懸命働かなければなりません。しかし、ここまでやって...

ウェブサイト上のデッドページの管理を強化し、検索エンジンの親和性を向上させる

ウェブサイトの運営期間が長くなるほど、デッドページの規模は大きくなります。このようなデッドページの存...