cdh記憶體分配參考文件
阿新 • • 發佈:2019-01-08
基於以下環境提供參考值: 5臺記憶體32G、cpu8核的伺服器,作業系統為centos6.8
總記憶體: 160G
總核數: 40核
不同的環境可以根據自己環境的總記憶體以及總核心和這個參考值得出係數,那麼:值= 推薦值 X 係數
- hdfs
引數 | 解釋 | 值 |
---|---|---|
NameNode 的 Java 堆疊大小 | Java 程序堆疊記憶體的最大大小,改Java程序主要是:維護整個系統的的檔案目錄樹,維護檔案/目錄的資訊和每個檔案對應的資料塊列表,接受並處理使用者的操作請求 | 至少1GB |
dfs.datanode.max.locked.memory | 一個DataNode將要用來被做HDFS快取的記憶體的最大值 | 至少256MB |
DataNode 的 Java 堆疊大小 | Java 程序堆疊記憶體的最大大小,改Java程序主要是:週期性檢測並向NameNode上報其管理的塊資訊,同時處理namenode給該Datanode的命令 | 512MB |
Failover Controller 的 Java 堆疊大小 | Java 程序堆疊記憶體的最大大小,改Java程序主要是:監控NameNode的健康狀態,監控NameNode在zookeeper中的健康狀態,監控之後管理NameNode的狀態 | 至少256MB |
JournalNode 的 Java 堆疊大小 | Java 程序堆疊記憶體的最大大小,改Java程序主要是:實現兩個NameNode的資料同步,active的NameNode做變更的時候,會通知JournalNode 程序,standby的NameNode心跳獲取 | 至少256MB |
- hive
引數 | 解釋 | 值 |
---|---|---|
Hive Metastore Server 的 Java 堆疊大小(位元組) | Java 程序堆疊記憶體的最大大小,改Java程序主要是:為hive、impala、kudu提供元資料管理 | 1.5GB |
HiveServer2 的 Java 堆疊大小 | 由於我們的系統沒有使用到hiveserver2,所以設定小的值,同時可以將它停止 | 1GB |
- impala
引數 | 解釋 | 值 |
---|---|---|
Catalog Server 的 Java 堆疊大小 | Java 程序堆疊記憶體的最大大小,改Java程序主要是:作為meta訪問閘道器,從Hive Metastore等外部catalog中獲取元資料資訊,放到impala自己的catalog結構中,impalad執行ddl命令時通過catalogd由其代為執行,該更新則由statestored廣播 | 最少256MB |
Impala Daemon 記憶體限制 | Java 程序堆疊記憶體的最大大小,改Java程序主要是:作為客戶端,接受客戶的查詢請求,生成查詢計劃樹,把查詢計劃分發給其他的Impala Daemon(包括自己),被分配的Impala Daemon讀寫資料進行查詢,並返回改客戶端 | 1GB |
- kafka
引數 | 解釋 | 值 |
---|---|---|
Java Heap Size of Broker | kafka broker java 程序堆疊記憶體的最大大小 | 至少1GB |
- kudu
引數 | 解釋 | 值 |
---|---|---|
Kudu Tablet Server Hard Memory Limit | kudu tablet server最大能使用的記憶體,kudu寫入資料的時候,是將資料先快取到記憶體,然後儲存到磁碟,如何設定過低,會影響寫入的效能 | 3GB |
Kudu Tablet Server Block Cache Capacity | kudu tablet 塊快取的最大記憶體量 | 2GB |
maintenance_manager_num_threads | kudu對資料管理的時候最大顯成熟 | 4 |
- spark
引數 | 解釋 | 值 |
---|---|---|
Java Heap Size of History Server in Bytes | spark history server java 程序堆疊記憶體的最大大小 | 至少512MB |
- yarn
引數 | 解釋 | 值 |
---|---|---|
JobHistory Server 的 Java 堆疊大小 | java 程序堆疊記憶體的最大大小 | 512MB |
NodeManager 的 Java 堆疊 | java 程序堆疊記憶體的最大大小 | 512MB |
容器記憶體 | 每個nodemanager為最大可分配的記憶體 | 9GB |
ResourceManager 的 Java 堆疊大小 | java 程序堆疊記憶體的最大大小 | 512MB |
最小容器記憶體 | 單個任務可申請的最少記憶體量 | 1GB |
容器記憶體增量 | 單個任務可申請的記憶體的增量 | 512MB |
最大容器記憶體 | 單個任務可申請的最大記憶體量 | 6GB |
容器虛擬 CPU 核心 | 每個nodemanager為最大可分配的核心數量 | 6 |
最小容器虛擬 CPU 核心數量 | 單個任務可申請的最小核心數量 | 1 |
容器虛擬 CPU 核心增量 | 單個任務申請的核心增量 | 1 |
最大容器虛擬 CPU 核心數量 | 單個任務可申請的最大核心數量 | 1 |
- zookeeper
引數 | 解釋 | 值 |
---|---|---|
ZooKeeper Server 的 Java 堆疊大小 | java 程序堆疊記憶體的最大大小 | 至少512MB |
- Cloudera Management Service
引數 | 解釋 | 值 |
---|---|---|
Activity Monitor 的 Java 堆疊大小 | 至少1GB | |
Alert Publisher 的 Java 堆疊 | 至少256MB | |
EventServer 的 Java 堆疊大小 | 至少1GB | |
Host Monitor 的 Java 堆疊大小 | 至少1GB | |
Host Monitor 的最大非 Java 記憶體 | 至少1.5GB | |
Service Monitor 的 Java 堆疊大小 | 至少1GB | |
Service Monitor 的最大非 Java 記憶體 | 至少1.5GB |