当前位置: 首页 > 知识库问答 >
问题:

AWS EMR 5.11。0-Spark上的Apache配置单元

禹昊穹
2023-03-14

我正在尝试在AWS EMR 5.11的Spark上安装Apache Hive。ApacheSpark版本-2.2。1 Apache配置单元版本-2.3。2条纱线记录显示以下错误:

18/01/28 21:55:28错误ApplicationMaster:用户类引发异常:java。lang.NoSuchFieldError:SPARK\u RPC\u服务器\u地址java。lang.NoSuchFieldError:SPARK\u RPC\u服务器地址位于组织。阿帕奇。蜂箱火花客户rpc。RPC配置。(RpcConfiguration.java:47)位于org。阿帕奇。蜂箱火花客户远程驱动程序。(RemoteDriver.java:134)位于org。阿帕奇。蜂箱火花客户远程驱动程序。sun上的main(RemoteDriver.java:516)。反映NativeMethodAccessorImpl。在sun上调用0(本机方法)。反映NativeMethodAccessorImpl。在sun上调用(NativeMethodAccessorImpl.java:62)。反映DelegatingMethodAccessorImpl。在java上调用(DelegatingMethodAccessorImpl.java:43)。朗。反思。方法在org调用(Method.java:498)。阿帕奇。火花部署纱线ApplicationMaster$$anon$2。运行(ApplicationMaster.scala:635)

蜂巢服务器2。日志:2018-01-28221:56:50109错误[HiveServer2后台池:线程-68([])]:客户端。SparkClientImpl(SparkClientImpl.java:(112))-等待客户端连接时超时。可能的原因包括网络问题、远程驱动程序错误或群集没有可用资源等。请查看Thread或Spark驱动程序日志以了解更多信息。JAVAutil。同时发生的ExecutionException:java。util。同时发生的TimeoutException:等待客户端连接时超时。在木卫一。内蒂。util。同时发生的抽象未来。在org上获取(AbstractFuture.java:41)~[netty-all-4.0.52.Final.jar:4.0.52.Final]。阿帕奇。蜂箱火花客户SparkClientImpl。(SparkClientImpl.java:109)~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0]。阿帕奇。蜂箱火花客户SparkClientFactory。在org上创建客户端(SparkClientFactory.java:80)~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0]。阿帕奇。hadoop。蜂箱ql.exec。火花RemoteHiveParkClient。在org上创建RemoteClient(RemoteHiveSparkClient.java:101)~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0]。阿帕奇。hadoop。蜂箱ql.exec。火花RemoteHiveParkClient。(RemoteHiveSparkClient.java:97)~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0]。阿帕奇。hadoop。蜂箱ql.exec。火花HiveSparkClientFactory。在org上创建hivesparkclient(HiveSparkClientFactory.java:73)~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0]。阿帕奇。hadoop。蜂箱ql.exec。火花一场SparkSessionImpl。在org上打开(SparkSessionImpl.java:62)~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0]。阿帕奇。hadoop。蜂箱ql.exec。火花一场SparkSessionManagerImpl。getSession(SparkSessionManagerImpl.java:115)~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0]位于org。阿帕奇。hadoop。蜂箱ql.exec。火花稀疏性。getSparkSession(SparkUtilities.java:126)~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0]

另外,2018-01-28221:56:50110错误[HiveServer2后台池:Thread-68([])]:spark。SparkTask(SessionState.java:printError(1126))-未能执行spark任务,异常为“org”。阿帕奇。hadoop。蜂箱ql.metadata。HiveException(未能创建spark客户端)'组织。阿帕奇。hadoop。蜂箱ql.metadata。HiveException:未能创建spark客户端。在org。阿帕奇。hadoop。蜂箱ql.exec。火花一场SparkSessionImpl。在org上打开(SparkSessionImpl.java:64)。阿帕奇。hadoop。蜂箱ql.exec。火花一场SparkSessionManagerImpl。org上的getSession(sparksSessionManagerImpl.java:115)。阿帕奇。hadoop。蜂箱ql.exec。火花稀疏性。getSparkSession(SparkUtilities.java:126)位于org。阿帕奇。hadoop。蜂箱ql.exec。火花斯巴克任务。在org上执行(SparkTask.java:103)。阿帕奇。hadoop。蜂箱ql.exec。任务org上的executeTask(Task.java:199)。阿帕奇。hadoop。蜂箱ql.exec。任务执行者。org上的runSequential(TaskRunner.java:100)。阿帕奇。hadoop。蜂箱ql.Driver。在org上启动任务(Driver.java:2183)。阿帕奇。hadoop。蜂箱ql.Driver。在org上执行(Driver.java:1839)。阿帕奇。hadoop。蜂箱ql.Driver。org上的runInternal(Driver.java:1526)。阿帕奇。hadoop。蜂箱ql.Driver。在org上运行(Driver.java:1237)。阿帕奇。hadoop。蜂箱ql.Driver。在org上运行(Driver.java:1232)。阿帕奇。蜂箱服务cli。活动SQLOperation。在org上运行查询(SQLOperation.java:255)。阿帕奇。蜂箱服务cli。活动SQLOperation。在org上访问$800(SQLOperation.java:91)。阿帕奇。蜂箱服务cli。活动SQLOperation$BackgroundWork$1。在java上运行(SQLOperation.java:348)。安全访问控制器。javax上的doPrivileged(本机方法)。安全auth。主题doAs(Subject.java:422)位于org。阿帕奇。hadoop。安全用户组信息。doAs(UserGroupInformation.java:1698)位于org。阿帕奇。蜂箱服务cli。活动SQLOperation$BackgroundWork。在java上运行(SQLOperation.java:362)。util。同时发生的遗嘱执行人$runnableapter。在java上调用(Executors.java:511)。util。同时发生的未来任务。在java上运行(FutureTask.java:266)。util。同时发生的线程池执行器。java上的runWorker(ThreadPoolExecutor.java:1149)。util。同时发生的线程池执行器$Worker。在java上运行(ThreadPoolExecutor.java:624)。朗。丝线。运行(Thread.java:748)的原因是:java。RuntimeException:java。util。同时发生的ExecutionException:java。util。同时发生的TimeoutException:等待客户端连接时超时。

有人能指出我在配置中可能缺少什么吗?

共有3个答案

吴均
2023-03-14

sbt或pom。xml将如下所示。

“org.apache.spark”%%“提供了sparkVersion%”,

"org.apache.spark " %% "Spark-sql"%SparkVersion%"提供",

"org.apache.spark " %% "火花-蜂巢"%火花版本%"提供",

我在EMR上运行数据仓库(Hive),spark应用程序将数据存储到DWH中。

钱澄邈
2023-03-14

EMR Spark支持Hive 1.2版。1而不是蜂巢2。x版本。请检查/usr/lib/spark/jars/目录中提供的配置单元jar版本。SPARK_RPC_服务器_地址添加到配置单元版本2中。十、

仰雅昶
2023-03-14

抱歉,EMR尚不支持Hive on Spark。我自己还没有尝试过,但我认为您错误的可能原因可能是EMR支持的Spark版本与Hive所依赖的Spark版本不匹配。上次检查时,Hive在Spark上运行Hive时不支持Spark 2. x。鉴于您的第一个错误是NoSuchFieldError,似乎版本不匹配是最有可能的原因。超时错误可能是转移视线。

 类似资料:
  • 我在运行spark配置时面临内存问题,我已经将设置更改为最大内存,但它仍然不能工作。请查看以下问题:命令- 错误-错误集群。YarnScheduler:Ampanacdddbp01.au.amp.local上丢失的遗嘱执行人9:123643 ms后Executor heartbeat超时警告调度器。TaskSetManager:在阶段0.0中丢失任务19.0(TID 19,ampanacdddbp

  • 我一直试图用Spark2.0配置Apache Zeppeling。我设法将它们都安装在linux操作系统上,并将spark设置在8080端口上,而zeppelin服务器设置在8082端口号上。 在zeppelin的zeppelin-env.sh文件中,我将SPARK_HOME变量设置为Spark文件夹的位置。 然而,当我试图创建一个新节点时,没有正确的编译。我似乎没有配置解释器,因为开始选项卡中缺

  • 我希望使用Spark结构化流从Kafka读取数据并处理它并写入Hive表。 这确实会创建拼花文件,但是我如何更改它以模拟类似的内容,以便它写入到可以使用(select*from)从配置单元或spark sql读取的表格式中

  • Spark提供三个位置用来配置系统: Spark properties控制大部分的应用程序参数,可以用SparkConf对象或者java系统属性设置 Environment variables可以通过每个节点的conf/spark-env.sh脚本设置每台机器的设置。例如IP地址 Logging可以通过log4j.properties配置 Spark属性 Spark属性控制大部分的应用程序设置,并

  • 我有一个简单的配置单元-外部表,它是在S3的顶部创建的(文件是CSV格式的)。当我运行配置单元查询时,它会显示所有记录和分区。 但是,当我在Spark中使用相同的表时(Spark SQL在分区列上有where条件),它并没有显示应用了分区筛选器。然而,对于配置单元托管表,Spark能够使用分区信息并应用分区筛选器。 是否有任何标志或设置可以帮助我利用Spark中Hive外部表的分区?谢了。

  • 我正在使用Spark2.0,我想知道,是否可以列出特定配置单元表的所有文件?如果是这样,我可以直接使用spark增量地更新这些文件。如何向配置单元表添加新分区?有没有关于蜂巢转移瘤的api我可以从Spark使用? 有什么方法可以获得映射dataframe的内部配置单元函数吗 我的主要理由是对表进行增量更新。现在,我知道的唯一方法是SQL+,这不是很有效,因为他将覆盖所有表,而我主要感兴趣的是对某些