[51CTO.com クイック翻訳] Empathyのプラットフォームエンジニアリング技術責任者であるRamiro Alvarez Fernandez氏は、クラウドコンピューティングプロバイダーへの依存をなくし、Kubernetes上でApache Sparkを実行するためにSpark on Kubernetesを使用する方法を紹介し、このプロセスの課題、アーキテクチャ、ソリューションなどの詳細を共有しました。 課題Empathy の場合、本番環境で実行されるすべてのコードはクラウドに依存しないものでなければなりません。 Empathy は、EMR (AWS 上)、Dataproc (GCP 上)、HDInsight (Azure 上) などの Spark ソリューションを使用することで、クラウド コンピューティング プロバイダーが提供するソリューションへの以前の依存を克服しました。 これらのクラウド コンピューティング プロバイダーのさまざまなソリューションにより、クラウド上に Spark を簡単に導入できます。ただし、企業が規模を拡大すると、いくつかの制限に直面し、次の問題に対処する必要があります。
これらは、Spark ジョブを実装する際に直面する一般的な問題です。 Kubernetes を使用してこれらの問題を解決すると、作業者の時間と労力を節約し、より良いエクスペリエンスを提供できます。 Kubernetes 上で Apache Spark を実行すると、次のような利点があります。
メリットは、Kubernetes 上で実行される Apache Flink 向けの Empathy ソリューションと同じです。 Kubernetes 上で動作する Apache SparkApache Spark は、ビッグデータ処理用の統合分析エンジンであり、特に分散処理に適しています。 Spark は、現在最も大きなテクノロジートレンドの 1 つである機械学習に使用されます。 Apache Spark アーキテクチャSpark Submit を使用すると、Spark アプリケーションを Kubernetes クラスターに直接送信できます。プロセスは次のとおりです。 (1)Spark SubmitはクライアントからマスターノードのKubernetes APIサーバーに送信されます。 (2)Kubernetesは新しいSpark Driverポッドをスケジュールします。 (3)Spark DriverポッドはKubernetesと通信してSpark executorポッドを要求します。 (4)新しいエグゼキュータポッドはKubernetesによってスケジュールされます。 (5)新しいエグゼキュータポッドの実行が開始されると、KubernetesはSparkドライバーポッドに新しいSparkエグゼキュータポッドの準備ができたことを通知します。 (6)Sparkドライバーポッドは、新しいSparkエグゼキューターポッドでタスクをスケジュールします。 Spark 送信フローチャート Spark アプリケーションは、SparkSubmit (通常の方法) または Spark Operator を使用してスケジュールできます。 スパーク送信Spark Submit は、Spark アプリケーションを送信し、Spark クラスター上でアプリケーションを起動するためのスクリプトです。その優れた機能には次のようなものがあります:
スパーク演算子Spark Operator プロジェクトは Google によって開発され、現在はオープンソース プロジェクトとなっています。 Kubernetes カスタム リソースを使用して、Spark アプリケーションのステータスを指定、実行、表示します。その優れた機能には次のようなものがあります:
Spark Submit と Spark Operator の主なコマンド 上図は、Spark Submit と Spark Operator の主なコマンドを示しています。 Empathy のソリューションでは、ユースケースごとにカスタム Kubernetes マニフェストを作成する必要がある Spark Submit よりも高速な反復処理が可能な Spark Operator が好まれます。 ソリューションの詳細課題セクションで提起された問題に対処するには、CNCF プロジェクトのサポートとともに、ArgoCD と Argo Workflows が役立ちます。たとえば、お気に入りの Spark アプリケーション ワークロードを Kubernetes からスケジュールして、Argo ワークフローを作成し、順次ジョブを定義できます。 フローチャートは次のとおりです。
ソリューションフローチャート アルゴCDArgoCD は、Kubernetes 用の GitOps 継続的デリバリー ツールです。主な利点は次のとおりです。
より詳細な情報は公式ドキュメントに記載されています。 アルゴワークフローArgo Workflows は、Kubernetes 向けのワークフロー ソリューションです。主な利点は次のとおりです。
より詳細な情報は公式ドキュメントに記載されています。 モニターPrometheus にこれらのメトリックが取得されたら、それらを監視するための Grafana ダッシュボードが必要になります。 Apache Spark 用のカスタム Grafana ダッシュボードは、次のコミュニティ ダッシュボードに基づいています。
結論Empathy は、Kubernetes 上で Spark アプリケーション ワークフロー ソリューションを作成し、GitOps を使用して変更を伝播するために、Spark Operator、ArgoCD、および Argo Workflows を選択しました。この記事で紹介したセットアップは、約 1 か月間本番環境で使用されており、フィードバックは非常に良好です。すべてのユーザーがワークフローに満足しており、どのクラウド プロバイダーでも機能する単一のワークフローを使用することで、単一のクラウド コンピューティング プロバイダーへのロックインが排除されます。 自分でテストしたい場合は、これらの実践的な例に従って、このガイドで説明されているすべての設定を使用して、ローカルホストからいくつかの Spark アプリケーションをデプロイしてみてください: 実践的な Empathy リポジトリ。 まだ道のりは長いですが、さらなる利益が得られるでしょう。このイノベーションにより、企業がクラウドに依存しなくなることが期待されます。 原題: Kubernetes 上で Apache Spark を実行する、著者: Ramiro Alvarez Fernandez [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。 |
<<: Red HatとNutanixが協力してオープンハイブリッドマルチクラウドソリューションを提供
ウェブサイトのプロモーターにとって、QQ を使用するよりも簡単な方法はありません。QQ 署名を使用し...
中国の SEO 市場が活況を呈し、さまざまな SEO 個人やチームの出現により、中国の SEO 担当...
a2ghosting は、Minecraft ホスティング プロバイダーとして 2011 年 3 月...
本日より、Namecheap はドメイン名移管の 1 週間限定プロモーションを開始しました。直接 3...
今日、あらゆるビジネスはデータ主導型であるべきです。データからクラウド サービス、ユーザー エクスペ...
[[384907]] 3月3日のBit.netによると、マイクロソフトは中国市場におけるクラウドサー...
著者 |アマン・カンドラ翻訳者 |ブガッティ企画 |ウー・ムー独自のサーバーを構築するには、多額の先...
この部分について説明する前に、まず仮想化に関する一般的な概念を理解しておきましょう。 1. 共通の概...
今日、関連業界のキーワードを検索したところ、百度の2ページ目の上部に関連検索が表示されることがわかり...
病院に直接行かなくても遠隔ビデオで診療を受けることができます。医師はカルテを見なくても患者の病歴や診...
大規模なサイトは内部リンクに依存し、小規模なサイトは外部リンクに依存すると言われています。この発言に...
2、3年前、分散データベースなどの技術について話すとき、この新しい技術の応用の見通しを説明するために...
月収10万元の起業の夢を実現するミニプログラム起業支援プラン要約:新しい消費時代と新しいモバイル イ...
[元記事は51CTO.comより] 2020年以降、ローコードは業界で話題となり、資本市場と企業ユー...
Dawang Data は現在、米国西海岸のサンノゼ データ センターにある独立サーバーを 50% ...