1、本地运行成功,但是上传到服务器上产生了如下错误:
Exception in thread "main" java.lang.NoSuchMethodError: scala.runtime. ObjectRef.create (Ljava/lang/Object;) Lcala/runtime/ObjectRef;
此类问题往往是由于本地编译scala程序的scala版本和服务器上的版本不统一导致,可以通过更改本地的scala版本号来进行编译。
一般可以通过在服务上执行:more /etc/profile 查看scala版本,Hadoop版本,spark版本。尽量保持jdk版本也能够统一(没有对jdk版本不一致引发的错误进行具体分析)
2、另外由于证书问题报错:
submit 一个jar文件的时候,会遇到以下报错
报错类型:
Invalid signature file digest for Manifest main attributes
错误产生原因:
jar文件中的META-INF目录中包含一个错误证书,在Linux服务器中执行以下命令:
zip -d <jar file name>.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF
3. 曾经犯过一个白痴的问题,在Windows下编辑的shell脚本,直接rz 到服务器上,出现了各种bug,"\"等参数都不支持。Unix系统中,每行结尾只有“<换行>”,即“\n”,Windows中,每行结尾是<\r\n>。Mac系统中,每行结尾是“<\r>”。Unix/Max系统下的文件在windows中打开的话,所有文字变成一行。
Windows中的文件在Unix/Mac下打开的话,每行的结尾会多出一个^M符号。
如果非要将windows下的文件转化为Unix下的文件的话,在Linux系统中,执行yum install dos2unix。dos2unix命令会将该文件转化为Unix环境识别的文件。
4、如何给java/scala程序的main传入参数
- 命令行中运行:a、首先需要编译程序:javac *.java; b、java * args1,args2 .....
- 在ide中,run->Edit Configuration->Program arguments