パラグラフをもとに、Apache Sparkの主なコンポーネントを教えてください。
Apache Sparkには、クラスタ・マネージャと分散ストレージ・システムが必要なのだ。クラスタ管理については、Sparkはスタンドアロン（ネイティブSparkクラスタ、クラスタを手動で起動するか、インストールパッケージで提供される起動スクリプトを使用することができます）をサポートしているのだ。また、これらのデーモンをテスト用に1台のマシンで実行することも可能です）、Hadoop YARN、Apache Mesos、Kubernetesをサポートしているのだ。[11］分散ストレージについては、SparkはAlluxio、Hadoop Distributed File System（HDFS）、［12］MapR File System（MapR-FS）、［13］Cassandra、［14］OpenStack Swift、Amazon S3、Kudu、Lustreファイルシステム、［15］またはカスタムソリューションが実装可能な、幅広い種類とのインターフェースを提供できる。Sparkは擬似分散ローカルモードもサポートしており、通常は開発またはテスト目的でのみ使用され、分散ストレージは必要なく、代わりにローカルファイルシステムを使用できるのだ。このようなシナリオでは、SparkはCPUコアごとに1つの実行ファイルを持つ単一のマシン上で実行されます。
この段落から、Apache Sparkの主要なコンポーネントとして、クラスタマネージャと分散ストレージがあることがわかる。クラスタ・マネージャについては、Sparkはスタンドアロン・クラスタ、またはHadoop YARN、Apache Mesos、Kubernetesをサポートしているのだ。ストレージについては、開発・テスト用のローカルファイルシステム、Hadoop File System、Cassandra、クラウドストレージをサポートしているのだ。