【发布时间】:2018-07-07 14:26:02
【问题描述】:
我正在尝试在 AWS EMR 5.11.0 上的 Spark 上设置 Apache Hive。 Apache Spark 版本 - 2.2.1 Apache Hive 版本 - 2.3.2 纱线日志显示以下错误:
18/01/28 21:55:28 错误 ApplicationMaster:用户类抛出异常:java.lang.NoSuchFieldError:SPARK_RPC_SERVER_ADDRESS java.lang.NoSuchFieldError: SPARK_RPC_SERVER_ADDRESS 在 org.apache.hive.spark.client.rpc.RpcConfiguration.(RpcConfiguration.java:47) 在 org.apache.hive.spark.client.RemoteDriver.(RemoteDriver.java:134) 在 org.apache.hive.spark.client.RemoteDriver.main(RemoteDriver.java:516) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:635)
hive-server2.log: 2018-01-28T21:56:50,109 错误 [HiveServer2-Background-Pool: Thread-68([])]: client.SparkClientImpl (SparkClientImpl.java:(112)) - 等待客户端连接超时。 可能的原因包括网络问题、远程驱动程序错误或集群没有可用资源等。 请查看 YARN 或 Spark 驱动程序的日志以获取更多信息。 java.util.concurrent.ExecutionException: java.util.concurrent.TimeoutException: 等待客户端连接超时。 在 io.netty.util.concurrent.AbstractFuture.get(AbstractFuture.java:41) ~[netty-all-4.0.52.Final.jar:4.0.52.Final] 在 org.apache.hive.spark.client.SparkClientImpl.(SparkClientImpl.java:109) ~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0] 在 org.apache.hive.spark.client.SparkClientFactory.createClient(SparkClientFactory.java:80) ~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0] 在 org.apache.hadoop.hive.ql.exec.spark.RemoteHiveSparkClient.createRemoteClient(RemoteHiveSparkClient.java:101) ~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0] 在 org.apache.hadoop.hive.ql.exec.spark.RemoteHiveSparkClient.(RemoteHiveSparkClient.java:97) ~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0] 在 org.apache.hadoop.hive.ql.exec.spark.HiveSparkClientFactory.createHiveSparkClient(HiveSparkClientFactory.java:73) ~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0] 在 org.apache.hadoop.hive.ql.exec.spark.session.SparkSessionImpl.open(SparkSessionImpl.java:62) ~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0 ] 在 org.apache.hadoop.hive.ql.exec.spark.session.SparkSessionManagerImpl.getSession(SparkSessionManagerImpl.java:115) ~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0 ] 在 org.apache.hadoop.hive.ql.exec.spark.SparkUtilities.getSparkSession(SparkUtilities.java:126) ~[hive-exec-2.3.2-amzn-0.jar:2.3.2-amzn-0]
另外, 2018-01-28T21:56:50,110 错误 [HiveServer2-Background-Pool: Thread-68([])]: spark.SparkTask (SessionState.java:printError(1126)) - 无法执行 spark 任务,出现异常 'org .apache.hadoop.hive.ql.metadata.HiveException(未能创建火花客户端。)' org.apache.hadoop.hive.ql.metadata.HiveException:未能创建火花客户端。 在 org.apache.hadoop.hive.ql.exec.spark.session.SparkSessionImpl.open(SparkSessionImpl.java:64) 在 org.apache.hadoop.hive.ql.exec.spark.session.SparkSessionManagerImpl.getSession(SparkSessionManagerImpl.java:115) 在 org.apache.hadoop.hive.ql.exec.spark.SparkUtilities.getSparkSession(SparkUtilities.java:126) 在 org.apache.hadoop.hive.ql.exec.spark.SparkTask.execute(SparkTask.java:103) 在 org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:199) 在 org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:100) 在 org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:2183) 在 org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1839) 在 org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1526) 在 org.apache.hadoop.hive.ql.Driver.run(Driver.java:1237) 在 org.apache.hadoop.hive.ql.Driver.run(Driver.java:1232) 在 org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:255) 在 org.apache.hive.service.cli.operation.SQLOperation.access$800(SQLOperation.java:91) 在 org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:348) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:422) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698) 在 org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:362) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) 原因:java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.util.concurrent.TimeoutException: 等待客户端连接超时。
谁能指出我在配置中可能遗漏了什么?
【问题讨论】:
标签: apache-spark hive amazon-emr