我正在尝试在 AWS EMR 5.11.0 上设置 Apache Hive on Spark。
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(本机方法)
在 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(无法创建spark客户端。)'
org.apache.hadoop.hive.ql.metadata.HiveException:无法创建 Spark 客户端。
在 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:等待客户端连接超时。
谁能指出我在配置中可能缺少什么?
抱歉,EMR 尚不支持 Hive on Spark。我自己还没有尝试过,但我认为导致错误的可能原因可能是 EMR 支持的 Spark 版本与 Hive 所依赖的 Spark 版本不匹配。上次我检查时,在 Spark 上运行 Hive 时,Hive 不支持 Spark 2.x。鉴于您的第一个错误是 NoSuchFieldError,版本不匹配似乎是最可能的原因。超时错误可能是一个转移注意力的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)