日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Linkis生产部署服务器配置参考指南

發布時間:2025/1/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linkis生产部署服务器配置参考指南 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.介紹

? Linkis已經在微眾銀行大數據生產平臺穩定運行兩年有余,開發運維人員總結出了一套Linkis生產部署的指南,以讓Linkis在穩定運行的基礎上發揮出它最大的性能,同時也能夠節約服務器資源,降低使用成本。指南包括部署方式的選擇和參數配置兩大類,最后Linkis在測試環境中也久經壓測考驗,我們會將我們壓測的實踐和經驗在第四章中給出。

2.部署方案選擇

? Linkis的單機部署方式簡單,但是不能用于生產環境,因為過多的進程在同一個服務器上會讓服務器壓力過大。

? 部署方案的選擇,和公司的用戶規模、用戶使用習慣、集群同時使用人數都有關,一般來說,我們會以使用Linkis的同時使用人數和用戶對執行引擎的偏好來做依據進行部署方式的選擇。

? 下面以同時使用人數進行分段來進行詳細闡述,假設用戶偏好spark最多,hive其次,推薦服務器主機內存64G或以上。

? 在安裝EngineManager的機器上,由于會啟動用戶的引擎進程,機器的內存負載會比較高,其他類型的微服務對機器的負載則相對不會很高。

? 我們一般建議在安裝EM的服務器上預留20G左右給Linux系統、EM自身進程以及其他進程進行使用,例如128G內存的服務器,除去20G內存之后,還有100G內存可以用于啟動引擎進程。舉個例子,如果一個Spark的Driver是4G內存,那么該服務器就可以最多啟動25個spark引擎。

總使用資源計算公式: Linkis使用總資源 = 總內存 + 總核數 =

同時在線人數 * (Driver 或 Hive client內存) + 同時在線人數 * (Driver或Hive client 核數)

例如,同時使用人數50人,Spark的Driver內存2G,Hive Client內存2G,每個引擎都使用兩個核,那么就是 50 * 2G + 50 * 2核 = 100G 內存 + 100 CPU核數

參數配置前的約定(必看):

1.參數一般是在微服務安裝目錄中的conf目錄的linkis.properties進行配置,采用key=value 的形式進行配置,如 wds.linkis.enginemanager.cores.max=20。唯一例外的是engine微服務的配置需要在linkis-engine.properties進行配置。

2.參數配置之后,需要重啟微服務才能生效。engine的參數配置之后,在頁面的引擎管理器進行kill之后,再次啟動引擎就可以生效

下面提供一份參考部署方案。

2.1 同時使用人數10-50

1).服務器配置最優推薦:4臺服務器,分別命名為S1,S2,S3,S4

服務名部署選擇說明
SparkEngineMangerS1SparkEM需要獨占一臺服務器,因為假定用戶最偏好spark(如果是偏好hive,可以進行修改)
SparkEntranceS2
HiveEngineManagerS3
HiveEntranceS2
PythonEngineManagerS3
PythonEntranceS2
其他(Eureka,gateway等)S4如果這臺機器壓力過大,可以再加一臺服務器,將服務進行分開部署

2). 服務器配置最低配置:2臺服務器

3). 參數配置

如果需要進行,需要在微服務安裝目錄下的conf目錄中的linkis.properties和linkis-engine.properties中進行配置。參數配置一般分為Entrance和EngineManager兩種參數類型。

a)Entrance微服務

參數名稱參數作用建議參數值
wds.linkis.rpc.receiver.asyn.queue.size.max指定entrance微服務接收到的RPC消息的隊列大小2000
wds.linkis.rpc.receiver.asyn.consumer.thread.max指定Entrance微服務RPC消費線程池大小100

b)EngineManager微服務

注:其中Linkis定義了保護資源的概念,保護資源的目的在于預留出一定的資源,EM不會將最大資源用盡,啟動保護機器的作用。

參數名稱參數作用建議參數值
wds.linkis.enginemanager.memory.max用于指定該EM進程啟動的所有引擎的總內存40G(64)或100G(128)
wds.linkis.enginemanager.cores.max用于指定該EM進程啟動的所有引擎的總核數20
wds.linkis.enginemanager.engine.instances.max用于指定該EM進程啟動的所有引擎的總個數20
wds.linkis.enginemanager.protected.memory用于指定該EM進程用于保護的內存2G(意味著最多可以使用38(40-2)G內存)
wds.linkis.enginemanager.protected.cores.max用于指定該EM進程用于保護的核數2(意味著最多可以使用18(20-2)核數)
wds.linkis.enginemanager.protected.engine.instances用于指定該EM進程用于保護的引擎個數1(意味著最多可以啟動19(20-1)個引擎)

2.2 同時使用人數 50-100

1).服務器配置推薦:7臺服務器,分別命名為S1,S2…S7

服務名部署選擇說明
SparkEngineMangerS1,S2
SparkEntranceS5
HiveEngineManagerS3,S4
HiveEntranceS5
PythonEngineManagerS4
PythonEntranceS4
Eureka,Gateway,RMS6Eureka和RM需要高可用部署
PublicService,RM,Datasource,EurekaS7Eureka和RM需要高可用部署

2). 服務器配置最低配置:4臺服務器

3). 參數配置

a)Entrance微服務

參數名稱參數作用建議參數值
wds.linkis.rpc.receiver.asyn.queue.size.max指定entrance微服務接收到的RPC消息的隊列大小3000
wds.linkis.rpc.receiver.asyn.consumer.thread.max指定Entrance微服務RPC消費線程池大小120

b)EngineManager微服務

參數名稱參數作用建議參數值
wds.linkis.enginemanager.memory.max用于指定該EM進程啟動的所有引擎的總內存40G(64)或100G(128)
wds.linkis.enginemanager.cores.max用于指定該EM進程啟動的所有引擎的總核數20
wds.linkis.enginemanager.engine.instances.max用于指定該EM進程啟動的所有引擎的總個數20
wds.linkis.enginemanager.protected.memory用于指定該EM進程用于保護的內存2G(意味著最多可以使用38(40-2)G內存)
wds.linkis.enginemanager.protected.cores.max用于指定該EM進程用于保護的核數2(意味著最多可以使用18(20-2)核數)
wds.linkis.enginemanager.protected.engine.instances用于指定該EM進程用于保護的引擎個數1(意味著最多可以啟動19(20-1)個引擎)

2.3 同時使用人數 100-300

1).服務器配置推薦:11臺服務器,分別命名為S1,S2…S11

服務名部署選擇說明
SparkEngineMangerS1,S2,S3,S4
SparkEntranceS8
HiveEngineManagerS5,S6,S7
HiveEntranceS8
PythonEngineManagerS9
PythonEntranceS9
Eureka,Gateway,RMS10Eureka和RM需要高可用部署
PublicService,RM,Datasource,Eurekas11Eureka和RM需要高可用部署

2). 服務器配置最低配置:6臺服務器

3). 參數配置

a)Entrance微服務

參數名稱參數作用建議參數值
wds.linkis.rpc.receiver.asyn.queue.size.max指定entrance微服務接收到的RPC消息的隊列大小4000
wds.linkis.rpc.receiver.asyn.consumer.thread.max指定Entrance微服務RPC消費線程池大小150

b)EngineManager微服務

參數名稱參數作用建議參數值
wds.linkis.enginemanager.memory.max用于指定該EM進程啟動的所有引擎的總內存40G(64)或100G(128)
wds.linkis.enginemanager.cores.max用于指定該EM進程啟動的所有引擎的總核數20
wds.linkis.enginemanager.engine.instances.max用于指定該EM進程啟動的所有引擎的總個數20
wds.linkis.enginemanager.protected.memory用于指定該EM進程用于保護的內存2G(意味著最多可以使用38(40-2)G內存)
wds.linkis.enginemanager.protected.cores.max用于指定該EM進程用于保護的核數2(意味著最多可以使用18(20-2)核數)
wds.linkis.enginemanager.protected.engine.instances用于指定該EM進程用于保護的引擎個數1(意味著最多可以啟動19(20-1)個引擎)

2.4 同時使用人數 300-500

1).服務器配置推薦15臺服務器,分別命名為S1,S2,S3,S4

服務名部署選擇說明
SparkEngineMangerS1,S2,S3,S4,S5,S6,S7
SparkEntranceS12
HiveEngineManagerS8,S9,S10,S11
HiveEntranceS12
PythonEngineManagerS13
PythonEntranceS13
Eureka,Gateway,RMS14Eureka和RM需要高可用部署
PublicService,RM,Datasource,Eurekas15Eureka和RM需要高可用部署

2). 服務器配置最低配置:10臺服務器

3). 參數配置

a)Entrance微服務

參數名稱參數作用建議參數值
wds.linkis.rpc.receiver.asyn.queue.size.max指定entrance微服務接收到的RPC消息的隊列大小5000
wds.linkis.rpc.receiver.asyn.consumer.thread.max指定Entrance微服務RPC消費線程池大小150

b)EngineManager微服務

參數名稱參數作用建議參數值
wds.linkis.enginemanager.memory.max用于指定該EM進程啟動的所有引擎的總內存40G(64)或100G(128)
wds.linkis.enginemanager.cores.max用于指定該EM進程啟動的所有引擎的總核數20
wds.linkis.enginemanager.engine.instances.max用于指定該EM進程啟動的所有引擎的總個數20
wds.linkis.enginemanager.protected.memory用于指定該EM進程用于保護的內存2G(意味著最多可以使用38(40-2)G內存)
wds.linkis.enginemanager.protected.cores.max用于指定該EM進程用于保護的核數2(意味著最多可以使用18(20-2)核數)
wds.linkis.enginemanager.protected.engine.instances用于指定該EM進程用于保護的引擎個數1(意味著最多可以啟動19(20-1)個引擎)

2.5 同時使用人數 500以上

1).服務器配置推薦:25臺服務器,命名為S1,S2…S19,S25

服務名部署選擇說明
SparkEngineMangerS1,S2,S3,S4,S5,S6,S7
S8,S9,S10
SparkEntranceS17
HiveEngineManagerS11,S12,S13,S14,S15,
S16
HiveEntranceS17
PythonEngineManagerS18,S19
PythonEntranceS20
Eureka, RMS21Eureka和RM需要高可用部署
RM, ,EurekaS22Eureka和RM需要高可用部署
Eureka,PublicServiceS23Eureka和RM需要高可用部署
Gateway, DatasourceS24

2). 服務器最低配置:15臺服務器

3). 參數配置

a)Entrance微服務

參數名稱參數作用建議參數值
wds.linkis.rpc.receiver.asyn.queue.size.max指定entrance微服務接收到的RPC消息的隊列大小5000
wds.linkis.rpc.receiver.asyn.consumer.thread.max指定Entrance微服務RPC消費線程池大小200

b)EngineManager微服務

參數名稱參數作用建議參數值
wds.linkis.enginemanager.memory.max用于指定該EM進程啟動的所有引擎的總內存40G(64)或100G(128)
wds.linkis.enginemanager.cores.max用于指定該EM進程啟動的所有引擎的總核數20
wds.linkis.enginemanager.engine.instances.max用于指定該EM進程啟動的所有引擎的總個數20
wds.linkis.enginemanager.protected.memory用于指定該EM進程用于保護的內存2G(意味著最多可以使用38(40-2)G內存)
wds.linkis.enginemanager.protected.cores.max用于指定該EM進程用于保護的核數2(意味著最多可以使用18(20-2)核數)
wds.linkis.enginemanager.protected.engine.instances用于指定該EM進程用于保護的引擎個數1(意味著最多可以啟動19(20-1)個引擎)

3.其他通用參數配置

Linkis除了Entrance和EngineManager兩類微服務外,還有其他的微服務也有自身的參數進行配置。

3.1 PublicService自定義配置

publicService微服務承載了Linkis運行的各類輔助性功能,包括文件編輯保存,結果集讀取等內容。

參數名稱參數作用建議參數值
wds.linkis.workspace.filesystem.get.timeout用于指定獲取文件系統的超時時間10000(單位是ms)
wds.linkis.workspace.resultset.download.maxsize用于指定下載結果集的最多行數5000(最多下載5000)或-1(全量下載)

3.2 Engine類微服務

引擎類的微服務是隨時啟隨時用的,包括spark、hive以及python引擎,引擎類的微服務的配置參數需要在EngineManager的安裝目錄中的conf下面的linkis-engine.properties中進行修改。

參數名稱參數作用建議參數值
wds.linkis.engine.max.free.time用于指定一個引擎如果空閑多久會被kill3h(意味著一個引擎沒有執行任務三小時后,就會被自動kill)

4.總結

Linkis的部署方案和使用方式息息相關,同時使用人數是最大的影響因素,為了能夠讓使用者能夠舒適地使用,同時降低集群服務器成本,需要運維開發人員進行嘗試,聽取用戶反饋,如果已經部署的方案不合適,需要適時恰當地進行部署方案的更改。

原文鏈接:

https://github.com/WeBankFinTech/Linkis/wiki/Linkis%E7%94%9F%E4%BA%A7%E9%83%A8%E7%BD%B2%E5%8F%82%E8%80%83%E6%8C%87%E5%8D%97

總結

以上是生活随笔為你收集整理的Linkis生产部署服务器配置参考指南的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。