2017-01-06 16 views
2

私のプレストクラスターでは、HIVEとCassandraの2つのデータソースがあるとします。つまり、Hiveのソースに接続する1つのHiveカタログと、Cassandraソースに接続する1つのCassandraカタログがあります.2つのチームがそれぞれ別々に作業しています。プレストに複数のワーカープロセスを持たせることはできますか?

両方のチームが別々のクエリを並行して送信する場合、ワーカーはクエリごとにタスクを作成します。各作業ワーカーの前のように、両方のクエリーのタスクが同じJVM(ヒープ)にあることを意味する新しいスレッドを作成します。どちらのチームもデータの安全性を望んでいるため、タスクのメモリ分離が必要です(コードインジェクションのリスクを冒したくない)。

各ソースのすべてのタスクが別々のJVM(ヒープ)で実行されるような方法はありますか。つまり、各データソースごとに複数のワーカープロセスを実行できますか?いくつかのワーカーグループや何かのように。

PS.post.oにはまだ専門家がいません。

答えて

2

これを行う方法はありませんが、回避方法は簡単です。 2つのクラスタを実行してください。

+0

私たちは1つの大きなプレストクラスターを持っており、1つの新しいアプリケーションにプレストを使用したいと考えています。新しいアプリケーションのデータは安全であり、そのアプリケーションのヒープを共有できないため、アプリケーションのメモリ分離が必要です。要するに、我々は2つのクラスタを持つことはできません。 1つのクラスタのみでこのような状況の他の回避策はありますか? –

+1

すべてのクエリに対して別々のプロセスを実行しない限り、どのシステムでどのように可能であるかわかりません。それでも、あなたはあまり「安全」ではありません。 Prestoでは共有プロセス空間がありますが、クエリは "データ"を共有しません(そのための機能はありません)。したがって、クラスタを適切に保護していると仮定すると、問題はありません。これは私たちがFacebookで物事を実行する方法です。 –

関連する問題