実験紹介
この実際のコンテンツでは、AWSビッグデータとデータレイク関連のサービスとコンポーネントを使用して、ビッグデータの収集、保存、処理、分析、視覚化の完全なプロセスを正常に完了する方法を説明します。次の主要なAWSビッグデータが紹介されます。
- Lab1:Kinesis製品ファミリーに基づくリアルタイムストリーミングデータ処理
- Lab2:EMR(Spark)実装に基づくバッチデータ処理
- Lab3:Quicksight + Athenaに基づくデータの視覚化
- Lab4:Elasticsearchに基づくリアルタイムのデータ検索
- Lab5:Redshift + Quicksightの実装に基づく、データウェアハウスの構築とデータの視覚化の表示
実際のビジネスニーズをより適切にシミュレートするために、データベース(履歴データ、または一部の顧客がすでに存在するODSライブラリをシミュレート)を構築し、リアルタイムデータストリーム(eコマースやWebなどのクリックストリームをシミュレート)を構築しました。 、など)、ストリーミングリアルタイム分析とバッチ分析のためのプラットフォーム、および視覚化とリアルタイムデータ検索のための対応するプラットフォームが構築されました。以下は、この実験の全体的なアーキテクチャ図です。
すべての人がデータ構造をより明確に理解できるようにするために、参照用にRDS(リレーショナルデータベース)のデータテーブル構造を抽象化しました。
実験の準備
すべてのハンズオン実験を正常に完了するには、次の準備を行う必要があります。すべてのリソースはAWSus-east-1リージョンで作成されます。
ステップ | 環境を整える | コンテンツの説明を準備する |
---|---|---|
01 | アカウント構成 | AWSが提供するアカウントとログイン方法に精通し、対応するセキュリティオプションを設定します |
02 | EC2をデプロイする | 操作のためにEC2(Linux)クライアントをデプロイし、リモートでログインする方法を学びます |
03 | KDSを構成する | Kinesis DataStreamsのリアルタイムデータストリームを設定してデータを生成する |
04 | RDSを展開する | 構成データベース(実験環境では、履歴データまたはODS環境として理解されます) |
05 | EMRを展開する | ビッグデータプラットフォームEMRを導入する |
06 | ESを導入する | リアルタイム分析プラットフォームであるElasticsearchをデプロイします |
アカウント構成
IAM(Identity and Access Management)は、AWSと、ユーザー、アクセス許可、認証などのセキュリティ関連サービスです。ここでは、EC2がクラウド内の一部のリソースにアクセスするために使用する役割(ec2-role)と2つの役割を構成します。もう1つは、クラウド内のリソースにアクセスするためのGlueの役割(glue-role)です。
EC2のロール権限を設定します
次のようにIAMコンソールを開きます
左側の「役割」メニューをクリックし、「役割の作成」を選択します
AWSサービスでEC2を選択します
ページ設定のアクセス許可で、[既存のポリシーを直接添付する]をクリックし、を追加してAdministratorAccess
、IAMFullAccess
2つのアクセス許可を追加します
次のタブページを構成する必要はありません。次のステップは、ページを確認して、ポリシーが正しく追加されていることを確認することです。
Glueの役割権限を構成する
AWSサービスでGlueを選択します
ページスクリーニング戦略でAdministratorAccess
、IAMFullAccess
[次へ]を選択してクリックし、ラベルの構成は役割の構成を直接監査せず、名前(ここではglue-role)を設定し、ポリシーを確認してから確認します
EC2をデプロイする
EC2は、AWSクラウド上の仮想マシンとして簡単に理解できます。EC2コンソールを開き、AMI(Amazon Machine Image)タイプを「AmazonLinux 2」として選択し、アーキテクチャが64ビットx86であることを確認します
モデルとしてt2.largeまたはt2.xlargeを選択できます(t3対応シリーズも利用可能で、基本的に負荷はありません。質素な原則として、2Gを超えるメモリを選択することで需要を満たすことができます)
インスタンス設定ページで、IAMロールは作成したec2-roleを提供します
次のラベルページで、参照用に「キー」が「名前」(大文字と小文字を区別)、「値」が「LinuxClient」のラベルを追加します(ラベルが設定されていない可能性があります)。
次の手順でセキュリティグループを構成するときは、ネットワークを完全に解放できるセキュリティグループを直接指定します。そうでない場合は、自分で作成します。
次のレビューページで、設定を確認し、[Start]を直接クリックすると、このEC2のデプロイに使用するキーペアのプロンプトが表示されます。ここでは、新しいキーペアを作成してローカルに保存することを選択します(注:今回のみ)保存でき、後でダウンロードすることはできません。キーを変更するのは非常に面倒です)
EC2にログインします
作成後、SSHクライアントを使用してマシンにログインし、確認します
wangzan:~ $ ssh -i ~/.ssh/bmc-aws.pem [email protected]
The authenticity of host '44.192.79.152 (44.192.79.152)' can't be established.
ECDSA key fingerprint is SHA256:/BosjrkiuZkSIsuSlUHRt2CPITqx8hh8IMfSv9mJVzo.
ECDSA key fingerprint is MD5:88:bc:5c:f0:c8:87:76:da:48:2b:24:06:6b:63:54:92.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '44.192.79.152' (ECDSA) to the list of known hosts.
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-172-31-77-126 ~]$ aws sts get-caller-identity
{
"Account": "921283538843",
"UserId": "AROA5NAGHF6NUFMB62LS2:i-03c9b3efdb246a085",
"Arn": "arn:aws:sts::921283538843:assumed-role/ec2-role/i-03c9b3efdb246a085"
}
KDSを構成する
この章の内容は、主に2つのKinesis Data Streamsデータストリーム(Lab1 / 4によって生成される連続データのソースとして略してkdsと呼ばれることもあります)を構成します。
KDSストリームを作成する
Kinesisは、AWSクラウド上のストリームコンピューティング関連サービスであり、ストリームデータの受信および伝送プラットフォームKinesis Data Streams(Kafkaに対応)、ストリーム処理パイプラインKinesis Data Firehose、ストリーム分析プラットフォームKinesis Data Analytics、およびストリームビデオ処理プラットフォームKinesisVideoが含まれます。ストリーム。ここでは、主にLab1 / 4で使用される2つのKinesisデータストリームを設定します。
Kinesisコンソールを開き、左側のメニューで[データストリーム]を選択し、開いたページで[データストリームの作成]を選択します。
lab1に必要なデータストリームを作成します(ストリーム名とシャードの数を設定します。ここでは1に設定します)
同じ方法を使用してlab2を作成し(実験中は一時的に使用しません。ここではデモンストレーションのみを目的としています)、作成後、lab4はデータストリームを使用する必要があります。
kdsを作成したので、lab1-streamデータ処理実験を実行できます。
RDSを展開する
この章の内容は、主にリレーショナルデータベース(RDS、MySQL 5.7)をデプロイし、対応するデータをインポートすることです。
RDSコンソールにログインします
RDSは、AWSクラウド上のデータベースプラットフォームサービスであり、自己開発のAuroraや、MySQL / MariaDB / Oracle / SQL Server / PostgreSQLなどのさまざまなエンジンに基づくリレーショナルデータベースが含まれます。ここでは、主にLab2用にRDS(MySQL 5.7)をデプロイします。中古。
構成パラメーターグループとオプショングループ
左側のメニューで「パラメータグループ」を選択し、右側の「パラメータグループの作成」をクリックし、パラメータグループシリーズを「mysql5.7」として選択し、対応する名前と説明を入力して、「作成」をクリックします。
作成後、パラメータグループの名前をクリックして、作成したパラメータグループを開き、パラメータに入力して、character_
[パラメータの編集]を選択します。これは、コマンドラインで中国語のコンテンツのレコードを操作する必要があるためです。データベースのエンコーディングを変更します。そうしないと、文字化けの問題が発生しやすくなります。ここでは、変更可能なすべての「値」を変更し、「変更をutf8mb4
保存」をクリックします。
左側のメニューで[オプショングループ]を選択し、右側の[グループの作成]をクリックします
RDSデータベースをデプロイする
スクリーンショットに示すように、左側のメニューで[データベース]を選択し、右側の[データベースの作成]をクリックして、データベースのエンジン、バージョン、およびテンプレートを選択します。
次に、データベースインスタンス名、管理者名、およびパスワードを設定し(ここでwzlinux2021
は、主に忘れないようにカスタマイズできます)、データベースタイプを選択します。
ストレージ、可用性、ネットワーク接続のデフォルト値を選択し、[その他の構成]をクリックして、データベース名(ここではbdd)を入力し、作成した[パラメーターグループ]と[オプショングループ]を選択すると、他のすべてがデフォルトになります下の「データベースの作成」をクリックしてください
データベースの準備ができたら、データベース名をクリックすると、接続とセキュリティのページが表示され、対応するターミナルノードの内容をコピーします。
bdd.ccganutjnmfy.us-east-1.rds.amazonaws.com
データのインポート
誰もがデプロイされたEC2クライアントに次のSQLをダウンロードします
https://imgs.wzlinux.com/aws/bdd.sql
次に、EC2クライアントにログインし、mysqlクライアントをインストールします
sudo yum install mysql -y
次に、mysqlクライアントを使用して、次のコマンドでデータベースにログインします(すぐにパスワードを入力する必要があります)
mysql -h bdd.ccganutjnmfy.us-east-1.rds.amazonaws.com -u admin -p bdd
次に、データベースのコンテンツがスクリーンショットと一致するかどうかを確認します
MySQL [bdd]> show tables;
+-----------------+
| Tables_in_bdd |
+-----------------+
| tbl_address |
| tbl_customer |
| tbl_product |
| tbl_transaction |
+-----------------+
4 rows in set (0.00 sec)
MySQL [bdd]>
ここに4つのテーブルがあります。内容は次のとおりです。
テーブル名 | コンテンツ | 行数 |
---|---|---|
tbl_address | 顧客の住所情報テーブル | 1084 |
tbl_customer | 顧客テーブル | 1084 |
tbl_product | 製品情報シート | 100 |
tbl_transaction | 履歴トランザクションレコードテーブル | 49874 |
RDSを展開したので、EMRを展開します。
EMRを展開する
EMR(Elastic MapReduce)は、AWSでホストされているクラスタープラットフォームであり、AWSでビッグデータフレームワーク(ApacheHadoopやApacheSparkなど)を実行して大量のデータを処理および分析する操作を簡素化します。
EMRコンソールを開き、[クラスターの作成]を直接選択します。作成ページが表示されたら、[詳細オプションに移動]を選択し、対応するバージョン(デフォルトでは最新バージョン)を選択し、Spark(Lab2に必要)を選択して、[接着剤を使用]をオンにします。カタログを作成してから、次のステップに進みます
2番目のステップのハードウェア構成ページで、すべてのデフォルトを選択します。3番目のステップでのクラスター情報の構成については、以下のスクリーンショットを参照してください。
次に、対応するキーペアを選択し、[クラスターの作成]をクリックします
すべてのクラスターがデプロイされるまで約5分かかります。作成が完了したら、Lab2バッチデータ処理操作を実行できます。
Elasticsearchをデプロイする
この章では、Elasticsearchクラスターを1つだけデプロイする必要があり、当面は他の構成は必要ありません。
Elasticsearch Service(Amazon ES)は、AWSクラウドでElasticsearchクラスターを簡単にデプロイ、運用、スケーリングできるようにするマネージドサービスです。
次のようにESコンソールを開きます
初めて使用する場合は、「新しいドメインを作成する」を選択するだけで、次のページが表示されます。
私たちは開発とテストと最新バージョンを選択します
設定ページで、クラスター名(ここlab-es
)を設定し、データノードのEBSディスクサイズを100Gに設定します
次の図に示すように、セキュリティ構成ページで、アクセスを容易にするためにパブリックアクセスを展開することを選択します。[ファインアクセスでマスターユーザーを作成する]を選択します。ここで作成したユーザーは、ESの最高の権限を持ち、オープンリソースアクセス戦略を選択します。 :
その他の設定はデフォルトです。確認後、確認してクラスタを作成してください。すべてのクラスタードメインがデプロイされるまで約10分かかります。作成が完了したら、Lab4データのリアルタイム取得実験を開始できます。
環境浄化
クリアする必要のある主な内容は次のとおりです
。1。デプロイされたEC2を削除します(これがデータのソースです)。最初にEC2をクリアすると、後続のデータ生成を回避できます
。2。各ストリーム、パイプライン、Kinesisの分析を削除します。3.RDS
データベースを削除します;
4 .EMRクラスターを削除します;
5。Elasticsearchクラスターを削除します; 6。Redshiftクラスターを削除し
ます;
7。Glueの関連する構成クローラーとタスクを削除します; 8。
実験中に作成されたS3バケットを削除します;
【注意】Quicksightサービスを他の場所で使用していない場合は、このサービスをキャンセルすることもお勧めします。公式ドキュメントを参照してください。
https://docs.aws.amazon.com/zh_cn/quicksight/latest/user/closing-account.html