“new hivecontext”想要x11显示?com.trend.iwss.jscan?

js5cn81o  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(323)

spark 1.6.2(Yarn母版)
包名称:com.example.spark.main
基本sparksql代码

val conf = new SparkConf()
conf.setAppName("SparkSQL w/ Hive")
val sc = new SparkContext(conf)

val hiveContext = new HiveContext(sc)
import hiveContext.implicits._

// val rdd = <some RDD making>
val df = rdd.toDF()
df.write.saveAsTable("example")

还有stacktrace。。。

No X11 DISPLAY variable was set, but this program performed an operation which requires it.
         at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
         at java.awt.Window.<init>(Window.java:536)
         at java.awt.Frame.<init>(Frame.java:420)
         at java.awt.Frame.<init>(Frame.java:385)
         at com.trend.iwss.jscan.runtime.BaseDialog.getActiveFrame(BaseDialog.java:75)
         at com.trend.iwss.jscan.runtime.AllowDialog.make(AllowDialog.java:32)
         at com.trend.iwss.jscan.runtime.PolicyRuntime.showAllowDialog(PolicyRuntime.java:325)
         at com.trend.iwss.jscan.runtime.PolicyRuntime.stopActionInner(PolicyRuntime.java:240)
         at com.trend.iwss.jscan.runtime.PolicyRuntime.stopAction(PolicyRuntime.java:172)
         at com.trend.iwss.jscan.runtime.PolicyRuntime.stopAction(PolicyRuntime.java:165)
         at com.trend.iwss.jscan.runtime.NetworkPolicyRuntime.checkURL(NetworkPolicyRuntime.java:284)
         at com.trend.iwss.jscan.runtime.NetworkPolicyRuntime._preFilter(NetworkPolicyRuntime.java:164)
         at com.trend.iwss.jscan.runtime.PolicyRuntime.preFilter(PolicyRuntime.java:132)
         at com.trend.iwss.jscan.runtime.NetworkPolicyRuntime.preFilter(NetworkPolicyRuntime.java:108)
         at org.apache.commons.logging.LogFactory$5.run(LogFactory.java:1346)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.commons.logging.LogFactory.getProperties(LogFactory.java:1376)
         at org.apache.commons.logging.LogFactory.getConfigurationFile(LogFactory.java:1412)
         at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:455)
         at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:657)
         at org.apache.hadoop.hive.shims.HadoopShimsSecure.<clinit>(HadoopShimsSecure.java:60)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:264)
         at org.apache.hadoop.hive.shims.ShimLoader.createShim(ShimLoader.java:146)
         at org.apache.hadoop.hive.shims.ShimLoader.loadShims(ShimLoader.java:141)
         at org.apache.hadoop.hive.shims.ShimLoader.getHadoopShims(ShimLoader.java:100)
         at org.apache.spark.sql.hive.client.ClientWrapper.overrideHadoopShims(ClientWrapper.scala:116)
         at org.apache.spark.sql.hive.client.ClientWrapper.<init>(ClientWrapper.scala:69)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
         at org.apache.spark.sql.hive.client.IsolatedClientLoader.createClient(IsolatedClientLoader.scala:249)
         at org.apache.spark.sql.hive.HiveContext.metadataHive$lzycompute(HiveContext.scala:345)
         at org.apache.spark.sql.hive.HiveContext.metadataHive(HiveContext.scala:255)
         at org.apache.spark.sql.hive.HiveContext.setConf(HiveContext.scala:459)
         at org.apache.spark.sql.hive.HiveContext.defaultOverrides(HiveContext.scala:233)
         at org.apache.spark.sql.hive.HiveContext.<init>(HiveContext.scala:236)
         at org.apache.spark.sql.hive.HiveContext.<init>(HiveContext.scala:101)
         at com.example.spark.Main1$.main(Main.scala:52)
         at com.example.spark.Main.main(Main.scala)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:498)
         at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:738)
         at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
         at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
         at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
         at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
 ivysettings.xml file not found in HIVE_HOME or HIVE_CONF_DIR,/etc/hive/2.5.3.0-37/0/ivysettings.xml will be used

这段代码一周前还在一个新的hdp集群上运行,在沙盒中运行良好。。。我记得我做过的唯一一件事就是试图围绕java\u home变量进行更改,但我相当肯定我取消了这些更改。
我不知所措-不知道如何开始追踪这个问题。
集群是无头的,所以它当然没有x11显示,但是什么呢 new HiveContext 甚至需要弹出任何 JFrame ?
根据日志,我认为这是一个java配置问题,我搞砸了 org.apache.hadoop.hive.shims.HadoopShimsSecure.<clinit>(HadoopShimsSecure.java:60) 触发了,因此出现了一个java安全对话框,但我不知道。
无法执行x11转发,并尝试执行 export SPARK_OPTS="-Djava.awt.headless=true"spark-submit ,但那没用。
尝试了这些,但是再次,无法前进并且没有显示
获取headlessexception:未设置x11显示变量
“没有x11显示变量”-这是什么意思?
这个错误在两个spark客户机上似乎是可以重现的。
我只在一台机器上试过换衣服 JAVA_HOME .
做了AmbariHive服务检查。没有修好。
可以通过hive/beeline cli连接到hive数据库

qco9c6ql

qco9c6ql1#

至于Spark代码,这似乎减轻了错误。

val conf = SparkConf()
conf.set("spark.executor.extraJavaOptions" , "-Djava.awt.headless=true")

原始答案
找到了这个帖子。Spring3.0.5-java.awt.headlessexception-com.trend.iwss.jscan
基本上,趋势科技在 com.trend.iwss.jscan 打包到jar文件中,这些文件是通过maven通过公司防火墙下载的,我对此没有控制权。
(链接不工作)http://esupport.trendmicro.com/pages/iwsx-3x-some-files-and-folders-are-added-to-the-jar-files-after-passin.aspx
返回救援机器。。。
如果其他人有意见,我也想听听。
问题:
当通过iwsa下载一些.jar文件时,会向jar文件中添加一个填充了.class文件的目录,该目录与正在下载的内容无关( com\trend\iwss\jscan\runtime\ ).
解决方案:
这是因为如果jar文件最初没有签名,iwsa将向applet中插入一些代码来监视和限制潜在的有害操作。
对于iwss/iwsa,每个“get”请求都是相同的,因此它不知道您是要下载存档文件还是小程序,这些文件将由浏览器执行。
出于安全原因,添加此代码是为了监视“可能”小程序的行为,以确保它不会对计算机及其环境造成任何危害。
要防止此问题,请执行以下步骤:
登录到iwss web控制台。
转到http>applets and activex>policies>java applet security rules。
在JavaApplet安全性下,将“no signature”的值更改为“pass”或“block”,具体取决于您要对未签名的.jar文件执行的操作。
单击“保存”。

相关问题