apache / linkis

Apache Linkis builds a computation middleware layer to facilitate connection, governance and orchestration between the upper applications and the underlying data engines.
https://linkis.apache.org/
Apache License 2.0
3.3k stars 1.17k forks source link

Compilation of linkis oom failed #838

Closed CCweixiao closed 3 years ago

CCweixiao commented 3 years ago

After modifying the Hadoop version, compiling linkis-1.0 failed, memory overflow or GC problems, and adjusting Maven parameters are not good. Maven version is 3.6.3, which fails to compile on 16g Mac and 32g centos7 修改Hadoop版本后,编译linkis-1.0失败,内存溢出或GC问题,调整maven参数也不行,maven 版本是3.6.3,16G mac和32G centos7上编译都无法通过

export MAVEN_OPTS='-Xmx10240m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m'

wecom-temp-9e67754588ac0f72156ca99403a5e096
leeebai commented 3 years ago

It seems that all the sub modules have been packaged successfully, but the memory overflow of the combined packaged assembly. You can try to package the module separately in the webdatasphere links combined package directory 看起来所有的子模块都打包成功了,只是合并打包的assembly内存溢出,可以尝试单独在wedatasphere-linkis-combined-package目录下打包该模块

CCweixiao commented 3 years ago

It seems that all the sub modules have been packaged successfully, but the memory of the combined packaged assembly is overflowing. You can try to package the module separately in the webdatasphere links combined package directory. If it is not successful, you can try the non combined packaged assembly 看起来所有的子模块都打包成功了,只是合并打包的assembly内存溢出,可以尝试单独在wedatasphere-linkis-combined-package目录下打包该模块,如果还不成功,可以尝试非合并打包方式的assembly

Thank you very much for your reply. We are trying 非常感谢回复,正在尝试中

企业微信截图_1f653765-7d16-4e15-9146-a66515595f14

It's the first time I've heard about the module packaged in the webdatasphere links combined package directory. Please give me some guidance. Thank you 单独在wedatasphere-linkis-combined-package目录下打包该模块,还是不行,已经报错(OOM),非合并打包方式的assembly,倒是第一次听说,这个具体该怎么操作,麻烦指导下,感谢感谢

CCweixiao commented 3 years ago

In linkis / assembly 在linkis/assembly

image

Is this directory? How to do this, can you help to update the compilation of documents. Thank you very much 这个目录下嘛?具体咋操作,可不可以帮忙更新下编译文档,非常感谢 非常感谢

leeebai commented 3 years ago

Is it possible that the non merged packaging method removed in the official version of linkis 1.0 is due to the insufficient available memory of the machine itself, which will also lead to the problem of memory overflow linkis1.0正式版移除的非合并的打包方式,有没有可能是机器本身的可用内存不足,这个也会导致内存溢出问题

CCweixiao commented 3 years ago

Is it possible that the non merged packaging method removed in the official version of linkis 1.0 is due to the insufficient available memory of the machine itself, which will also lead to the problem of memory overflow linkis1.0正式版移除的非合并的打包方式,有没有可能是机器本身的可用内存不足,这个也会导致内存溢出问题 企业微信截图_ed6a03e9-2196-4fd2-bd5f-b813dc0d346a

I think the available memory is OK. Is your compilation done on the server? If there is such a problem, how to set your Maven parameters can give you a reference. 可用内存我看还行,你们的编译是在服务器上进行的嘛?是否有这个问题,你们的maven参数设置的怎样,可以给一个参考嘛。

CCweixiao commented 3 years ago

Now, according to the description file in the assembly, I will write the script in the target directory of each module, copy it to a directory, and then replace the contents in the Lib directory of the installation package. Do you need to pay attention to this scheme? 我现在根据assembly 中的描述文件,把各个模块下target目录打好的脚本,写脚本copy 到一个目录下,然后替换安装包的lib目录中的内容,这种方案是否需要注意些什么?

leeebai commented 3 years ago

We package it on windows without special parameter setting. The Maven version I use is 3.6.1. At present, 8g of available memory is enough. 我们是在windows上面打包的,没有特殊的参数设置,我自己使用的maven版本是3.6.1,目前来看8G的可用内存是完全够的。

leeebai commented 3 years ago

Now, according to the description file in the assembly, I will write the script in the target directory of each module, copy it to a directory, and then replace the contents in the Lib directory of the installation package. Do you need to pay attention to this scheme? 我现在根据assembly 中的描述文件,把各个模块下target目录打好的脚本,写脚本copy 到一个目录下,然后替换安装包的lib目录中的内容,这种方案是否需要注意些什么?

If it's your own copy, you need to pay special attention to the folder name and path of the assembly combined packaged content. If there is any discrepancy, there may be a problem 如果是自己copy,需要特别注意assembly-combined打包内容的文件夹名和路径,如果有出入大概率会有问题

CCweixiao commented 3 years ago

We package it on windows without special parameter setting. The Maven version I use is 3.6.1. At present, 8g of available memory is enough. 我们是在windows上面打包的,没有特殊的参数设置,我自己使用的maven版本是3.6.1,目前来看8G的可用内存是完全够的。

The packaging command MVN clean install should be like this, right 打包命令mvn clean install 应该是这样 没错吧

leeebai commented 3 years ago

We package it on windows without special parameter setting. The Maven version I use is 3.6.1. At present, 8g of available memory is enough. 我们是在windows上面打包的,没有特殊的参数设置,我自己使用的maven版本是3.6.1,目前来看8G的可用内存是完全够的。

The packaging command MVN clean install should be like this, right 打包命令mvn clean install 应该是这样 没错吧

yes 是的

CCweixiao commented 3 years ago

We package it on windows without special parameter setting. The Maven version I use is 3.6.1. At present, 8g of available memory is enough. 我们是在windows上面打包的,没有特殊的参数设置,我自己使用的maven版本是3.6.1,目前来看8G的可用内存是完全够的。

The packaging command MVN clean install should be like this, right 打包命令mvn clean install 应该是这样 没错吧

yes 是的

应该是笔记本和服务器上编译时可用内存不足,与增加MAVEN参数关系不大,我在IMac就可以编译成功啦