提交joinsql核心異常如下
return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask
The value of property yarn.resourcemanager.zk-address must not be null
org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask
at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:379)
at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:257)
at org.apache.hive.service.cli.operation.SQLOperation.access$800(SQLOperation.java:91)
at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:348)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1729)
at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:362)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2020-05-08T17:33:37,426 INFO [HiveServer2-Background-Pool: Thread-6487] Configuration.deprecation: yarn.resourcemanager.zk-address i
s deprecated. Instead, use hadoop.zk.address
2020-05-08T17:33:37,426 ERROR [HiveServer2-Background-Pool: Thread-6487] mr.MapredLocalTask: Exception:
java.lang.IllegalArgumentException: The value of property yarn.resourcemanager.zk-address must not be null
經測試,有join的sql需要本地mr的時候會報以上異常
解決方案:
1 關閉本地mr
set hive.mapjoin.localtask.max.memory.usage=0.99;
set hive.auto.convert.join=false;
2 在hive-site.xml修改參數
<property>
<name>hadoop.zk.address</name>
<value>node1.test.com:2181,node2.test.com:2181,node3.test.com:2181</value>
如果有其他解決方案歡迎一起交流