2017-01-06 88 views
2

假設在我的presto集羣中有兩個數據源HIVE和Cassandra。即我有一個連接到Hive源的Hive目錄和一個連接到Cassandra源的Cassandra目錄。兩個團隊分別對它們進行工作。我們可以有多個工人流程進行搶劫嗎?

如果兩個團隊並行提交單獨的查詢,則工作人員將爲每個查詢創建任務。正如在每個任務worker的presto中創建一個新線程,這意味着這兩個查詢的任務都駐留在相同的JVM(堆)中。由於兩個團隊都希望他們的數據非常安全,他們希望爲他們的任務分配內存(他們不希望冒任何代碼注入風險)。

有什麼辦法可以讓每個源代碼的所有任務都在單獨的JVM(Heap)中運行。我的意思是我們可以運行多個工作進程:每個數據源都有?像一些工人組織或某事。

PS.Not專家presto.just現在探索。

回答

2

有沒有辦法做到這一點,但解決方法很簡單;只運行兩個羣集。

+0

我們有一個大的presto集羣,我們想要爲一個新的應用程序使用presto。由於新應用程序中的數據是安全的,而且我們不能共享該應用程序的堆,所以我們希望爲應用程序提供內存隔離。總之,我們不能有2個集羣。有沒有其他的解決方法只適用於一個羣集? –

+1

我不確定在任何系統中如何實現這一點,除非您爲每個查詢運行單獨的進程。即使那樣,你還沒有「保證」太多。在Presto中,共享進程空間,但查詢不共享「數據」(因爲沒有這個功能),所以假設你已經正確地保護了你的集羣,那就沒有問題了。這就是我們在Facebook上運行的方式。 –

相關問題