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

推薦する

最近、一部のウェブサイトのキーワードライブラリが急激に減少した理由

月収10万元の起業の夢を実現するミニプログラム起業支援プラン最近、一部のウェブサイトの記事のランキン...

2020年上半期のクラウド運用サービス市場規模は100.8億元

12月23日、国際データコーポレーション(IDC)がこのほど発表した「中国クラウド運用サービス市場(...

国家工商行政管理局は、オンライン取引を規制し、オンラインストアが評判を騙し取ることを禁止する予定である。

新華網北京9月11日(記者:張暁松、王思北)国家工商行政管理総局は11日、「オンライン商品取引及び関...

百度の新しい規制の下では、小規模なウェブマスターは小規模で細かいことに重点を置く必要がある。

数日前、百度は「百度のアルゴリズムのアップグレードは、不正サイトの掲載や低品質サイトのランキングに影...

この記事を読めば、クラスタノードはオフラインになりません

問題は起こり続ける1. まだ準備ができていないAlibaba Cloud には独自の Kuberne...

地域のコミュニティポータルを地域の状況に応じてどのように運営できるかについて話し合う

ローカル ポータル コミュニティは、今日のウェブマスターの間で人気のあるタイプの Web サイトです...

Kubernetes 上で Kafka を実行するのは適切でしょうか?

導入Kubernetes は、ステートレス ワークロードを実行するためにゼロから設計されました。これ...

分析から逃れる方法を学ぶことについての記事、yyds!

[[428823]]みなさんこんにちは、Bingheです〜〜 JVM の実装では、JVM のパフォー...

2021年4月のシャイニングスタープログラムの最新進捗:あらゆるシナリオにおけるデジタルサービスのイノベーションを継続的に推進

最近、ファーウェイは「スタープロジェクト」の最新の進捗状況を発表しました。 2021年4月現在、「ス...

産業製造環境におけるエッジコンピューティングによるデジタルトランスフォーメーションの強化

産業界はデジタル化へと向かっており、業務の最適化に役立つツールやテクノロジーを求める企業が増えていま...

ウェブサイトのトラフィック統計を使用してウェブサイトのコンバージョン率を判断する方法

現在、インターネットは急速に発展しており、インターネットユーザー数は急増しており、オンラインマーケテ...

anynode: 年間 12 ドル、現在 cn2 gia ネットワークを使用する最も安価な VPS

anynode、最新のホットニュース(中国で初公開):ロサンゼルスのコンピュータルームのKVM仮想V...

王邁メディア: 注目のイベントを綿密に追跡し、マーケティングのチャンスをつかむ

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています4年ごとに...

hybula: オランダのクラウド サーバー、著作権侵害苦情、月額 15 ユーロ、2G メモリ/2 コア/25g NVMe/5T トラフィック/480G 防御

hybula は、2009 年に設立されたオランダのクラウド サーバー プロバイダー (VAT NL...

外国貿易ウェブサイトを宣伝するにはどの方法が最適ですか?

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています「一帯一路...