[51CTO.com からのオリジナル記事] データは企業にとって貴重な資産となっています。データ分析とマイニングをどのように活用して企業のビジネス上の意思決定を支援するかが、企業にとっての懸案事項となっています。
8月24日、Yun+ Community(テンセントクラウドの公式開発者コミュニティ)とKuaishouが共催する「ビッグデータ技術の実践と応用」サロンイベントが盛況のうちに開催されました。サロンではビッグデータの技術的な実践と応用に焦点を当て、出席したユーザーにビッグデータ技術の饗宴を披露しました。 Tencent Cloudの専門家とKuaishouのエンジニアは、Spark、ElasticSearch、yarn、MapReduce、Flinkなどのビッグデータ技術の開発履歴、アーキテクチャの最適化、実用的なアプリケーションの紹介に重点を置きました。 [[275422]] Spark をベースにした PB レベルのクラウド データ ウェアハウスの構築
最初のゲストスピーカーは、テンセントの専門エンジニアであるディン・シャオクン氏でした。彼は、AIとビッグデータの関係、ビッグデータ技術の発展動向、Sparkコンピューティングエンジンに基づくクラウドデータウェアハウスの構築の技術的実践という3つの側面から見解を共有しました。
2006 年に、Apache コミュニティの Hadoop プロジェクトが正式に設立されました。 3 つのオープンソース プラクティスの 1 つとして、ビッグ データの時代を切り開きました。 2009 年、AWS は EMR (Elastic MapReduce) エラスティック コンピューティング クラウド プラットフォームを立ち上げ、ビッグ データのクラウド コンピューティング時代を切り開きました。 2012 年に Yarn がインキュベーションされ、2013 年に Spark プロジェクトが正式に設立されたことで、ビッグデータは加速的な発展の段階に入りました。 2016年のAlphaGo対イ・セドル戦での勝利や2018年のHadoop 3.0の登場により、AIとビッグデータの関係はますます密接になり、ビッグデータもクラウドやコンテナ化に向けた進化を加速させています。
では、AIとビッグデータの具体的な関係とは何でしょうか?丁暁坤氏は、まずAIはデータから切り離せないと説明した。人工知能、特にディープモデルの計算はデータと高い相関関係にあります。データが優れているほど、モデルの精度も高まります。 2. 標準的な推奨シナリオでは、データの抽出と準備から、モデルのトレーニング、データ モデルのリリース、さらにデータの抽出、反復プロセス中のモデルの最適化まで、循環的な反復コンピューティング プロセスが実行されます。
上記 2 つの関係に基づいて、AI とビッグデータ技術の統合に対する新たな要求が提示されています。まず、データ処理と AI トレーニング フレームワーク間のデータ相互作用の効率がますます高くなり、tf.data や tf.transform などのデータ構造が生成されます。 Tencent がリリースした Angel や Intel がリリースした BigDL などのコンピューティング フレームワークは、Spark コンピューティング フレームワークとマシン モデル トレーニング フレームワークをより適切に組み合わせることができ、TensorFlowOnSpark は循環反復の効率を迅速に向上させることもできます。第二に、AI の急速な発展に伴い、GPU に対する要件はますます高まっています。 GPU と CPU 間のタスク キューのスケジュールを最適化することで効率を向上できます。 GPU スケジューリングも、K8s と Hadoop 3.0 の開発を通じて、ますます効率的になります。
ビッグデータの開発はデータ ウェアハウス システムと切り離せません。データ ウェアハウスは 1989 年に提案されて以来、3 つの開発段階を経てきました。最初の段階は、企業がレポート分析や財務分析を実行できる統合データ ウェアハウス マシンの時代でした。その後、オールインワンマシンではデータ処理とパフォーマンスの面で企業のニーズを満たすことができなかったため、分散型 MPP データベースが登場し、企業は簡単なモデル推論と予測計算を実行できるようになりました。その後、企業はITコストをより重視するようになり、クラウドネイティブのデータウェアハウスを選択する企業が増えました。
SPARKLING アーキテクチャ図 最後に、Ding Xiaokun 氏が、Spark コンピューティング エンジンをベースにしたクラウド データ ウェアハウスの構築に関する技術的な実践を共有しました。 Tencent Cloud がコアコンピューティングのサポートとして Spark を選択した理由は何ですか?丁暁坤氏は、その理由を4つの主な理由にまとめました。まず、Spark は豊富なエコシステムを持ち、包括的なシナリオをサポートしており、ビッグデータ分野で人気のあるオープンソース プロジェクトでもあります。第二に、Spark はコンピューティング タスクの送信に Python、SQL、R、Scala、Java などの言語をサポートしており、比較的使いやすいです。 3 番目に、オープンソース コミュニティに依存し、オープンソース プロジェクトを可能な限り使用することで、ユーザーは技術的な詳細に精通できるようになります。 4番目に、SparkはDAGモデル、RDDメモリコンピューティング、より細かいスケジューリング、タングステンワイヤプランニングなどを備えているため、パフォーマンスがより優れています。
Tencent Cloud がデータ ウェアハウスを構築する際には、特定のクラウド特性も示されます。エラスティック スケーリングに関しては、マスター ノード、コア コンピューティング ノード、エラスティック コンピューティング ノードの 3 種類のノードをサポートできます。また、コア コンピューティング ノードの水平拡張と、エラスティック コンピューティング ノードの水平拡張と縮小もサポートします。このようにして、一時的な弾性コンピューティング ノードを通じてストレージとコンピューティングを分離できます。弾性ノードはいつでも拡張または縮小でき、コンピューティング リソースを迅速に回復してコストを削減できます。さらに、スムーズ削除メカニズムにより、実行が完了するか実行がタイムアウトするとすべてのコンテナが削除され、タスクのスムーズで安定した動作が保証されます。 2 番目のクラウド機能は、仮想環境の最適化です。 NO グループ レイヤーが追加され、読み取り戦略ではノード > ノード グループ > ラック > オフラック方式が採用されます。クロスラックメカニズムを通じて、クラウド上の仮想環境のニーズが満たされます。 3つ目はパフォーマンスです。 Bloom フィルター データは Parquet を介して列メタデータに保存できるため、選択クエリを実行するときに行グループのフィルタリングが可能になります。
Spark の場合、アプリケーション シナリオにおけるより多くの問題はシャッフルの問題です。シャッフルの効率は、データ コンピューティング パフォーマンスのレイテンシと効率に影響します。 Spark の開発により、優れたメモリ ストレージ技術によって Shuffle 効率が向上し、Spark の効率も向上しました。
将来的には、Tencent Cloud が構築する Spark ベースのデータ ウェアハウスも更新および削除メカニズムをサポートするほか、Serverless-K8S および ACID のサポートも追加される予定です。
Tencent Cloud ElasticSearch 製品のアーキテクチャと実践
ElasticSearch は 2010 年頃に登場し、現在では検索分野でよく知られた製品となっています。 Tencent Cloud Big Data のテクニカル ディレクターである Zou Jianping 氏は、クラウド ネイティブ アーキテクチャ設計、高可用性、自動化された運用と保守、ElasticSearch を使用してエンタープライズ インテリジェント変革を実現する方法など、Tencent Cloud の ElasticSearch 製品についての考えを共有しました。
まず、Zou Jianping 氏は、全文検索をサポートする検索エンジンである ElasticSearch ストレージおよび分析プラットフォームの特徴を紹介しました。同時に、ElasticSearch はデータの保存と読み取りをサポートし、OLAP データ分析をサポートする NoSQL データベースでもあります。また、ElasticSearch は Java ベースで開発されています。 Lucene 検索ライブラリに基づく転置インデックスを通じてキーワードでドキュメントを直接ヒットし、ユーザーの検索要求を迅速に実現できます。さらに、ElasticSearch の外側の層に RESTful インターフェースを開発することで、ユーザー プラットフォームがクラスターを管理するのに便利になります。 ElasticSearch 製品の成功の鍵は、統一されたエコシステムを持ち、現在 100,000 人を超える開発者を擁する ELK Stack にあります。
モバイルインターネット時代に入り、アプリは爆発的に増加しましたが、アプリ内のデータはWebページのように簡単にクロールすることはできません。これにより、ElasticSearch 検索エンジン フレームワークに新たな開発機会がもたらされました。 ElasticSearch データはストレージ エンジンに保存されます。ユーザーがこのデータから新しい価値を掘り出すと、ElasticSearch に新しい要件が提示されます。これは、ElasticSearch が検索から分析へと徐々に進化していく理由でもあります。
検索から分析への進化には 5 つの変化がありました。 2010 年に ElasticSearch が初めてリリースされたとき、主に検索シナリオをサポートし、転置インデックスを使用し、ElasticSearch に FieldData を追加し、用語から docid、docid から用語へのマッピングを逆転させました。しかし、検索構築プロセスでは、データ量が多い検索には非常に不都合があり、読み込み速度が遅くなります。そこで、2012年にDocldからValueまでの列ベースのストレージであるDocValusが提案されました。 FieldData は取得時にリアルタイムで構築されますが、DocValues はインデックス時に構築されるため、圧縮が容易になります。さらに、DocValues はメモリではなくディスクに書き込まれるため、ファイル システム キャッシュを活用してアクセスを高速化できます。 FieldData と比較すると、DocValues は 2 桁高速で、一貫した取得速度と優れたキャッシュ アフィニティを備えています。 2014 年以降、分析の複雑さが増したため、ElasticSearch はフレームワークを削除する改良を行いました。後で提案される集計はネストされた集計をサポートでき、パイプライン集計は最大値の検索、並べ替え、その他の操作など、集計された結果セットをさらに処理および計算できます。 2016 年には、ElasticSearch アルゴリズムが最適化され、グローバル序数、DocValues、BKD ツリーなどが組み込まれました。2018 年に提案された Rollup により、クエリの効率が向上し、ストレージ インジケーターが削減されます。さらに、ElasticSearch は SQL と、CLI、Restful、Kibana Canvas、JDBC、ODBC などの複数のアクセス方法もサポートしています。
分析機能を強化する以外に、ElasticSearch で何ができるでしょうか? 1 つ目は、さまざまな手段を通じてデータを統合、統計を集計し、出力するビジネス インテリジェンス分析です。 2 つ目は、ログ、インジケーター、APM です。これも ElasticSearch の主な機能の 1 つです。ビジネス ログとインジケーターがストレージ プラットフォームに保存された後、ビジネス ロジックが直列に接続され、APM が実装されます。このようにして、フロントエンドからバックエンドまでのすべてのデータを接続できます。アプリケーションに問題が発生した場合、問題を迅速に分析できます。 3つ目は、ログや指標の異常を検出できる機械学習に基づくセキュリティ分析です。
2010 年から現在にかけて、ElasticSearch は検索分野でのみ使用されるものから、分析分野で人気のテクノロジーへと進化しました。 ElasticSearch の開発プロセスは、「高度」、「正確」、「最先端」と要約できます。 「高」とは、ElasticSearch に、エイリアス、インデックス、シャード、セグメントなど、分散コンピューティングにおける多くの設計があることを意味します。 「エッセンス」とは、ElasticSearch には、転置リスト、Docvalues、BKD ツリー、グローバル序数など、さまざまな効率的なインデックスがあることを意味します。 「シャープ」とは、データが不変でキャッシュに適した LSM ストレージ構造を指します。
第 2 部では、Zou Jianping が Tencent Cloud ElasticSearch アーキテクチャの最適化に焦点を当てました。
Tencent Cloud ElasticSearch 製品アーキテクチャ図
ユーザーが Tencent Cloud ElasticSearch 製品を使用する場合、データが安全かどうか、可用性は高いか、専任の担当者がいない場合、問題が発生した場合にどう対処するかなどについて心配することがよくあります。データ セキュリティの面では、Tencent Cloud ElasticSearch は、高度なビジネス機能 (X-Pack プラグイン)、データ権限管理、ロール管理、クラスター、インデックス、ドキュメント、フィールドのすべてのレベルでの権限制御、外部ネットワーク HTTPS、ブラックリストとホワイトリスト、クラスター内のクライアントとノードの SSL 伝送暗号化をサポートしています。 CAM に関しては、Tencent Cloud アカウント権限管理が設定されています。監査に関しては、クラスター操作監査ログと XPACK セキュリティ監査ログが追加されます。データの信頼性の面では、VPC は完全な論理的分離と多次元のネットワーク セキュリティ管理を実現できます。バックアップに関しては、スケジュールされたデータバックアップと COS 低コストバックアップをサポートしています。ごみ箱では、人為的な要因によるデータ損失を防ぐためにごみ箱が設定されています。高可用性の面では、Tencent Cloud は可用性ゾーン全体で災害復旧を実現するために 3 つの設定を行っています。 ElasticSearch データ分散認識フレームワークに基づいて、マスター レプリカとスレーブ レプリカは異なるコンピューター ルームに配置されます。マスターを選択できない状況を回避するために、3 つの専用マスター ノードが 3 つのアベイラビリティ ゾーンに分散されます。ブレイン分割を回避するには、専用のマスターノードを選択する必要があります。さらに、割り当てアルゴリズムを調整することで、データを異なるノードに分散させ、不均一なホットスポットを回避し、シャーディングのバランスのとれた最適化を実現できます。高い保守性という点では、Tencent Cloud は自動監視およびアラーム システムを通じて ElasticSearch の日常的な運用と保守をサポートするために多くの作業を行ってきました。 最後に、Tencent Cloud ES 製品の今後の開発の方向性について 3 つの方向性が共有されました。まず、水平的には、各種データの取り込み方やHadoop製品やオブジェクトストレージ製品とのデータ連携をより使いやすくするなど、上流と下流の製品をより良く連携させることです。第二に、垂直的には、APM、セキュリティ分析、垂直検索などのESソリューションのクラウドでの実装を強化します。 3 つ目は、マトリックスの観点で、WeChat 通知や当社の NLP プラグインの一部を ES と組み合わせる方法など、Tencent の機能の一部を ES 製品に統合することです。
Elasticsearch の最近の新機能
快手におけるYARNの応用実践と技術の進化
快手のデータアーキテクチャエンジニアであるFang Xiaojing氏は、快手におけるYARNシステムの適用実践、遭遇した問題、および対応する技術進化プロセスを紹介しました。
Hadoop は業界で認知され、成熟したデータ ストレージおよび処理フレームワークになりました。現在、Hadoop の開発はバージョン 1.0 からバージョン 2.0 へと進んでいます。 Yarn は、主に Hadoop v1.0 のスケーラビリティ問題を解決するために Hadoop v2.0 で導入されました。 YARN は主に、クラスター リソースを管理する RM、マシン リソースを管理する NM、APP リソースと内部ロジックを管理する AM の 3 つのモジュールに分かれています。
RM モジュールの内部アーキテクチャは 2 つの部分に分かれています。 1 つは、クラスター内のノードとアプリのステータスを管理することです。これらは、それぞれ ResourceTrackerService と ApplicationMasterService によって管理されます。サービスは RM と通信した後、RM にメッセージを送信し、対応するイベントを生成し、イベント処理メカニズムを通じて APP とノード ステート マシンの更新を実行し、最終的に目的の状態を実現します。 yarn のもう一つの主要な機能はスケジュール設定です。初期の頃は、yarn が NM ハートビート処理ロジックでスケジュールをトリガーしていました。スケジューリングには時間がかかるため、他のイベント処理プロセスとリソースが競合し、両者が互いに影響を及ぼし合うことになります。その後、コミュニティはスケジューリング ロジックを最適化し、別のスレッドに分離しましたが、依然として大きな問題が残っています。具体的な最適化については後ほど紹介します。
Kuaishou の YARN における技術的実践は、主に 4 つの側面に分かれています。1. クラスターの安定性の変化。 2. 糸のプリエンプション機構が最適化されました。 3. 糸のスケジューリングパフォーマンスを向上します。 4. コンピューティング クラスターの小さな IO を最適化します。
クラスターのサイズが大きくなるにつれて、ノードとアプリの数が増え、イベント処理の負荷が大きくなり、スケジュールの負荷が増し、マシンの障害が増えます。 Kuaishou は、RM の最適化と単一点の問題の回避という 2 つの側面から安定性の向上を実現しました。
RM の最適化に関しては、Kuaishou がクラスターをアップグレードしたため、RM がクラッシュしました。冗長イベントを最適化し、NM スロー スタート戦略を開発することで、RM イベント処理の負荷が最終的に軽減され、アップグレードによる RM への影響も軽減されました。 HDFS は YARN の基盤となる機能です。 HDFS のジャムにより、RM イベント処理ロジックがジャムする可能性があります。イベント処理ロジック内のHDFSやDNSなどのIO操作を最適化することで、イベント処理ロジックの安定性が向上します。最適化後、イベント処理が CPU を大量に占有していることが判明しました。イベント処理ロジックがクラスターのパフォーマンスボトルネックになるのを防ぐために、NM イベント処理をメインのイベント処理プロセスから別のスレッドに分離し、イベント処理全体の速度を向上させました。
特定のシナリオでは、奇妙なディスクの問題が発生する可能性があります。たとえば、ディスクは正常だが、特定のディレクトリが不良であるなどです。この問題は既存のメカニズムでは検出が難しく、特定のジョブが失敗する原因となります。 Kuaishou は、NM ディスク ブラックリストを使用して、タスク障害情報を通じてルール マッチングを実行し、ディスクの問題を検出し、問題のあるディスクをブラックリストに追加し、このディスクへのジョブのスケジュール設定を停止します。 yarn の主な問題は、問題によりマシンのスケジュールが失敗すると、雪崩効果が発生し、多数のジョブが失敗することです。 Kuaishou は、クラスター レベルのブラックリスト メカニズムを通じてこの問題を解決します。ディスクの空き容量不足、fd リーク、スレッド リークも障害の原因となる可能性があります。 Kuaishou は、CPU、メモリ、ディスク ファイル サイズ、fds の数、およびスレッドの数を制御することで、基盤となる分離を強化し、相互の影響を回避します。クラスター内に問題のあるマシンが多数存在します。クラスターが大きくなると、問題のあるマシンを見つけるのが難しくなります。 Kuaishou は、コンテナの障害率が高いマシンをチェックし、上位 N の物理インジケーターの異常をチェックし、ジョブの障害情報を要約するという 3 つの方法を使用して、問題のあるマシンを迅速に見つけます。
yarn の主な機能の 1 つは、クラスター全体のリソースをスケジュールすることです。 YARN のスケジューリング モデルは比較的複雑です。スケジュールの公平性を確保するには、キューとアプリを並べ替える必要があります。 Kuaishou の当初のアイデアは、ソート時間を短縮し、ソートの規模を縮小し、ソートアルゴリズムを最適化することでした。最適化後は 5,000 台のマシン規模をサポートできます。
ただし、最適化後も問題が残ります。スケーラビリティが不十分で、CPU を 1 つしか使用できません。グローバル ノード情報が不足しており、グローバル スケジューリングの決定が困難です。最終的に、Kuaishou はスケジューリング アーキテクチャとロジックを再構築し、Kwai スケジューラを開発し、リソース割り当ての俯瞰図を確立し、キューにリソースを事前に割り当て、同時バッチ スケジューリングを実行しました。最初にアプリを選択し、次にノードを選択します。スケジューリング戦略は簡単に拡張でき、最終的なオンライン スケジューリング速度は 1 秒あたり 40,000 以上に達します。
今後、Kuaishouは、リソース階層化セキュリティ構築、マルチクラスター構築、オフラインハイブリッド展開における過剰割り当ての3つの側面で構築を実施します。現在、Kuaishou の YARN クラスターは規模が大きく、多くのリソースを使用しています。職務プロファイリングと段階的保証システムを通じて、より重要な職務にリソースが割り当てられます。また、単一クラスターの容量には限りがあるため、Kuaishou は複数のクラスターの構築も検討します。 3 番目に、Kuaishou の YARN は主にオフライン コンピューティング用のリソースをホストします。 YARN によって管理されていない会社のアイドル リソースの多くは使用されていません。アイドル状態のマシンに適切なタスクをスケジュールすることも、Kuaishou が将来検討する方向性です。
クラウド ビッグデータ製品のアーキテクチャと実践
Elastic MapReduce は、Tencent Cloud が自社の大規模なクラウド ストレージとコンピューティング インフラストラクチャ上に構築したクラウドベースの Hadoop フレームワークです。ユーザーは、安全で低コスト、信頼性が高く、弾力的に拡張可能で、持続的に進化するアーキテクチャを備えた専用のビッグデータ クラスターを 10 分以内に入手できます。 Tencent CloudのシニアエンジニアであるQiao Chao氏は、Tencent CloudのビッグデータEMR製品とその価値を共有し、実際の経験に基づいたビッグデータプラットフォームの実践を紹介しました。
現在、大手企業はみなデータの重要性を認識しており、データの価値を掘り起こして企業にとっての意思決定をどのように行うかが特に重要になっています。しかし、エンタープライズ レベルのビッグ データ アーキテクチャでは、主にエンタープライズ レベルのデータ ウェアハウスとデータ マートの構築、ストリーミング データ分析、大量データの取得と分析という 3 つの主要領域に課題が存在します。主要なコミュニティもオープンソース コンポーネントを通じてさまざまなソリューションを形成しています。しかし、ビッグデータプラットフォームを構築する技術は非常に複雑で、構築サイクルが長く、運用・保守インフラが不足しており、技術的なリスク耐性が弱いという問題があります。そのため、ビッグデータのオープンソース技術は、R&Dエンジニアの明確な技術ニーズをある程度満たすことができますが、企業の潜在的な根深い目に見えないニーズを満たすことはできません。
企業が上記の課題を解決するために、Tencent Cloud は技術コンポーネントから製品サービスに至るまでビッグデータ インフラストラクチャを改善し、企業顧客が立ち上げから成熟までの開発プロセスにおけるビッグデータの技術的課題に効率的に対処できるように支援します。 Tencent Cloud は企業を新興企業と成熟企業に分類します。 Tencent Cloud は、スタートアップ企業向けに、コンピューティング サービス、BI 分析コンポーネント、クラウド データ ウェアハウス、クラウド検索などの機能を含む、すぐに使用できるパッケージ化された製品を提供しています。成熟した企業にとって、Tencent Cloud は運用と保守のレベルでの問題解決に役立ちます。 Tencent Cloud は、ユーザー自身の特性を組み合わせ、ユーザーのビジネス アプリケーション シナリオに近づくことで、ユーザーが独自のビッグ データ ソリューションを構築できるように支援します。この点に関して、Tencent Cloud は弾力性のある MapReduce と ES を提供します。
喬超氏は、Tencent Cloud のクラウドベースのビッグデータ インフラストラクチャの利点を紹介しました。1. 大規模なコンピューティング リソースの利点。 Tencent Cloud は世界中に 25 の地理的リージョンと 51 の可用性ゾーンを持ち、数分でコンピューティングとストレージ リソースをリアルタイムでスケジュールできるため、ユーザーが近くのコンピューティングを必要とするシナリオを解決できます。 2. オープン性と継続性。オープンソース財団や企業とのコラボレーションを通じて、オープンソースコラボレーションに継続的に研究開発リソースを投資しています。 3. シナリオ型ビッグデータビジネスTencent Cloud は、Tencent の金融、ソーシャル ネットワーキング、ゲーム、ビデオ、ニュース、電子商取引などの分野でビッグ データ シナリオ アプリケーションを提供します。また、ユーザー プロファイリング、正確な推奨事項、ユーザー行動分析、財務リスク管理などのシナリオ アプリケーションも含まれます。 4. 継続的なサービス。 Tencent Cloud は、オンラインでの技術交流とトレーニング、オフラインの技術サロン交換プラットフォーム、継続的な製品/サービス サポートを提供します。
Elastic MapReduce は、Tencent Cloud が自社の大規模なクラウド ストレージとコンピューティング インフラストラクチャ上に構築したクラウドベースの Hadoop フレームワークです。ユーザーは、安全で低コスト、信頼性が高く、弾力的に拡張可能で、持続的に進化するアーキテクチャを備えた専用のビッグデータ クラスターを 10 分以内に入手できます。この製品は、企業が TB および PB レベルの膨大なデータの価値を掘り起こすという課題に容易に対処し、R&D 効率、運用および保守効率を向上させ、ハードウェア コストを削減するのに役立ちます。
Elastic MapReduce は、オンライン ビジネス、データ ウェアハウス、リアルタイム ストリーミング コンピューティング、機械学習など、複数のビジネス シナリオに柔軟に対応し、エンタープライズ ビッグ データ アーキテクチャの持続的な進化を効果的にサポートします。クラウドベースの Hadoop フレームワーク製品は、ビッグデータ インフラストラクチャの迅速な構築、効率的な運用と保守、および適用の面で、企業の総合的なビッグデータ機能を効果的に強化します。 Tencent Cloud の Elastic MapReduce 製品には、10 分以内に数百のノードを持つビッグデータ クラスターを構築し、コンソール/プログラム API の柔軟な構築をサポートするなど、4 つの大きな利点があります。 10 分でノードレベルの水平拡張 (数ノードから数百ノードまで)、および 10 分でクラスターレベルの水平拡張 (単一クラスターから複数の異種クラスターまで)。 100 を超える監視指標 (サーバー レベル、サービス レベル) がカバーされ、異常なイベントが数秒で検出され、Ddos/VPC セキュリティが強化され、Kerberos ノード レベルのサービス トラストが実現します。クラウドベースのマルチソースデータサポート(クラウドデータベース、ES、Ckafka、ストリームコンピューティング、Snova クラウドウェアハウス)、およびクラウドベースのビジュアル BI ツールとのシームレスな統合。
サロンでは、喬超氏がTencent Cloudを通じてクラウドベースのビッグデータ分析プラットフォームを迅速に構築する方法を実演しました。必要な手順は 4 つだけです。最初に EMR コンポーネントを確認し、次にクラスターの仕様を構成し、クラスターを作成し、最後にすばやくスケールアップおよびスケールダウンします。
最後に、喬超氏は、初期計画、クラスター構築、パラメータ最適化、オンライン運用という4つの段階を含む、Tencent CloudのElastic MapReduce運用実践の総合的な計画を紹介しました。初期計画に関しては、企業はリソースの見積もりを行う必要があり、Tencent Cloud も提案を提供します。次に、企業はマシン モデル、コア数、メモリ、ディスクなどのマシン構成を検証します。クラスター構築フェーズでは、ビッグ データ テクノロジ スタックが、基盤となるインフラストラクチャから上位レベルのアプリケーションまで、包括的な技術機能を提供します。クラスターの展開モードは、ハイブリッド展開と独立展開に分かれています。ハイブリッド展開は初期段階で使用でき、ビジネス規模とエンタープライズ開発が進むにつれて、徐々に独立した展開モードに移行します。 EMR チームは、長年の経験の蓄積を経て、ハートビート設定とメタデータ管理による HDFS の最適化、ResourceManager ヒープ サイズ、TimeLineServer、AMShare による yarn の最適化、FetchTask とコンピューティング エンジンによる Hive の最適化など、パラメータの最適化に関する提案も行いました。
テンセントのFlinkベースのリアルタイムストリームコンピューティングプラットフォーム構築の技術的実践
Flink は、Apache Software Foundation によって開発されたオープンソースのストリーム処理フレームワークです。本質的には、Java と Scala で記述された分散ストリーミング データ フロー エンジンです。 Flink はビッグデータ処理の分野でも注目されています。 Tencent のシニアエンジニアである Yang Hua 氏は、Tencent のリアルタイム ストリーム コンピューティング テクノロジーの進化と、Apache Flink の最適化と拡張について紹介しました。
テンセントにおけるFlinkの開発は2017年に遡ります。2017年上半期、テンセントはFlinkフレームワークに関する研究を実施し、パフォーマンス比較テストや、キーの可用性など、既存ネットワークの主要指標の評価などを行いました。 2017年後半、テンセントは社内でカスタマイズ機能の開発とパフォーマンスの最適化を開始し、グレースケールテストを実施して関連ビジネスを立ち上げました。テンセントは2018年上半期に、パブリッククラウド、プライベートクラウドのシナリオ、社内業務の移行、試験運用をカバーするOceanusリアルタイムストリームコンピューティングプラットフォームを構築しました。 2018年後半には、Oceanusパブリッククラウドストリームコンピューティング製品が正式に公開ベータテストを開始し、テンセントの他のBGストリームコンピューティング事業がビッグデータスイートに統合されました。テンセントは今年上半期、オンライン機械学習サービスや第2レベルモニタリングなどのサービスを開始し、シナリオベースのビジネスサポート機能を構築し、広告や推奨サービスをサポートした。テンセントがFlinkを開発し始めてまだ2年半ですが、テンセントのFlinkは現在、クラスターで合計34万コア、ピークコンピューティングパワー2億1000万/秒、1日平均メッセージ処理量20兆、1日平均メッセージ規模PBレベルをサポートしています。
Tencent は 4 つの側面から Flink を最適化しました。 Flink の Web UI は新しいネットワークの問題の特定に役立たないため、Tencent は Flink 1.6 で Web UI をリファクタリングしました。 2 番目に、Tencent は JobManager フェイルオーバーを最適化しました。 Tencent Cloud は、スタンドアロン モードとホスト モードを通じてクエリ可能な状態を最適化します。最後に、Tencent はインクリメント ウィンドウを改良し、Flink ネイティブ ウィンドウを強化しました。
Apache Hudi は、今年前半に Apache Incubator にインキュベーションのために参加したばかりのプロジェクトです。これは、2016 年に Uber が大規模なデータセット向けに社内環境で使用したフレームワークです。 Upsert と増分プルを通じて、Hudi は Hadoop 再分散ファイル システム データ セットに集中できます。 Hudi は、レイテンシとコストの観点から、単一の物理データセットに対して 3 つの異なる論理ビューを提供できます。1 つは、クエリ用に通常の Hive テーブルを指すことができる読み取り最適化ビューです。 2 つ目は、データセットの変更ストリームをキャプチャし、それを下流のジョブ/ETL に提供して増分プルを可能にする増分ビューです。 3 番目は、Apache Parquet (列) と Avro (行) のデータを組み合わせながら、ほぼリアルタイムのデータに対してクエリを実行するほぼリアルタイムのビューです。 Flink と Hudi を統合すると、分析プロセスの効率が向上します。
Tencent のリアルタイム コンピューティング チームは、Flink のコミュニティ バージョンを徹底的に最適化し、開発、テスト、展開、運用と保守を統合したワンストップ ビジュアル リアルタイム コンピューティング プラットフォーム Oceanus を構築しました。 Tencent Cloud Stream Computing Oceanus は、クラウドにあるストリーミング データの集約およびコンピューティング サービスです。ユーザーは、インフラストラクチャの運用や保守を気にすることなく、わずか数分でストリーム コンピューティング アプリケーションを簡単に構築でき、さまざまなクラウド データ ソースに簡単に接続できます。これにより、企業は多様なストリーミング データ処理機能を構築し、大量データのリアルタイム処理や分析的意思決定の課題に容易に対処できるようになります。
Oceanusプラットフォームの全体的なアーキテクチャ
Oceanus プラットフォームの特徴: 1. リアルタイム コンピューティング。 2. 完全に管理されています。 3. 超高弾性、弾性伸縮をサポートします。 4. シンプルSQLモード。 5. UDX/カスタムプログラムのサポートにより、誰でもロジックの開発コストを簡単に削減できます。 6. 豊富なクラウド エコシステム。データ収集やその他のサービスを含むエコロジカルな製品を提供します。
Oceanus には幅広いストリーム コンピューティング アプリケーション シナリオがあり、企業のリアルタイム コンピューティングのニーズを効果的にサポートし、意思決定分析機能を向上させます。一般的なアプリケーション シナリオには、次のものがあります。1. クリックストリーム分析。Oceanus でのユーザーの操作行動を分析し、背景分析を通じてビジネス上の意思決定や広告をサポートできます。 2.リアルタイムの財務リスク管理と詐欺行動の監視。 3。IoTモニタリング。 4。精度eコマースの推奨事項。
Oceanusは、開発、テスト、展開、運用とメンテナンスなど、ジョブのライフサイクル全体をカバーしています。ユーザーは、アプリケーションロジックの実践に集中するだけで済みます。現在、Oceanusアプリケーションを構築するための3つのモードがあります。1。キャンバスの形でアプリケーションを構築します。 TencentはFlinkを対応するコンポーネントにし、Oceanusプラットフォームに置きます。それを使用する場合、ユーザーは特定のコンピューティング能力で対応するオーケストレーションを実行するだけです。 2.標準のSQLメソッドは、SQL構文をサポートして、アプリケーションを迅速かつ効率的に作成します。 3. DataStream APIおよびDataSet APIをサポートしています。これは、特別なビジネスロジックを高くカスタマイズできます。
最後に、Yang HuaはOceanus Applicationの提出手順を導入しました。まず、ユーザーは、消費情報やデータ形式を含む対応するメタデータを構成し、DAGを作成し、最後にコンパイルして送信するように求められます。
サロンの半日後、ユーザーは、彼らがたくさん得たと言いました。彼らはビッグデータ関連のテクノロジーを深く理解しただけでなく、ビッグデータにおけるTencent Cloudのサポートと最適化も確認し、将来のより技術的なコンテンツ共有を楽しみにしています。 Cloud+ Community Technology Salonは、公式のTencent Cloud Developerコミュニティが主催するサロンイベントです。より多くの開発者がテクノロジーの共有を通じて学習し、コミュニケーションできるようにし、Tencent Cloudが開発者を接続するためのプラットフォームになり、共同で技術的な影響力を生み出すことを望んでいます。 [51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください] |