flink部署yarn錯誤:Couldn't deploy Yarn session cluster


Couldn't deploy Yarn session cluster

錯誤信息

flink on yarn啟動yarn-session時, 出現yarn-session無法部署錯誤

並且提示2.1G的虛擬內存使用了2.2GB內存.

...
org.apache.flink.client.deployment.ClusterDeploymentException: `Couldn't deploy Yarn session cluster`
        at org.apache.flink.yarn.YarnClusterDescriptor.deploySessionCluster(YarnClusterDescriptor.java:381)
        at org.apache.flink.yarn.cli.FlinkYarnSessionCli.run(FlinkYarnSessionCli.java:548)
        at org.apache.flink.yarn.cli.FlinkYarnSessionCli.lambda$main$5(FlinkYarnSessionCli.java:785)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
        at org.apache.flink.runtime.security.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41)
        at org.apache.flink.yarn.cli.FlinkYarnSessionCli.main(FlinkYarnSessionCli.java:785)
Caused by: `org.apache.flink.yarn.YarnClusterDescriptor$YarnDeploymentException: The YARN application unexpectedly switched to state FAILED during deployment. `
Diagnostics from YARN: Application application_1617573631507_0006 failed 1 times due to AM Container for appattempt_1617573631507_0006_000001 exited with  exitCode: -103
For more detailed output, check application tracking page:http://node02:8088/cluster/app/application_1617573631507_0006Then, click on links to logs of each attempt.
Diagnostics: Container [pid=72909,containerID=container_1617573631507_0006_01_000001] is running beyond virtual memory limits. `Current usage: 167.3 MB of 1 GB physical memory used; 2.2 GB of 2.1 GB virtual memory used. Killing container.`
...

問題原因

Yarn容器虛擬內存率不足, 因為是用的虛擬機, 資源相對不足, yarn的虛擬內存比較小.導致啟動后yarn創建applicationMaster時內存不足

解決方法

  1. 可以先嘗試配置yarn, 不檢測內存
[ryxiong@node01 hadoop-2.7.2]$ vim etc/hadoop/yarn-site.xml 

添加如下配置

<!-- 關閉yarn內存檢查 -->
<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
  1. 如果方式1, 還無法解決問題

添加如下配置, 提高yarn容器虛擬內存率

<!-- 提高內存虛擬化率 -->
<property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>3.0</value>
</property>

問題解決


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM