FAQ - Can't get Kerberos realm,cluster:N/A

问题描述/异常栈

场景:hive2doris 有执行presql,doris选择 broker load方式
报错:

2023-12-25 10:41:15 CST 执行步骤:开始执行去向端PreSql,PreSql:truncate table demo_db.hive2doris 2023-12-25 10:41:15 CST 执行步骤:去向端PreSql执行完成,PreSql:truncate table demo_db.hive2doris 2023-12-25 10:41:23 CST Application state: FINISHED 2023-12-25 10:41:23 CST Yarn application state: FINISHED, process: 1.0 2023-12-25 10:41:23 CST Yarn application final status: FAILED, process: 1.0 2023-12-25 10:41:23 CST Diagnostics: User class threw exception: java.lang.IllegalStateException: The broker load failed, The status is LoadStatus(CANCELLED,ETL:N/A; LOAD:N/A,{"Unfinished backends":{},"ScannedRows":0,"TaskNumber":0,"LoadBytes":0,"All backends":{},"FileNumber":0,"FileSize":0},type:ETL_RUN_FAIL; msg:errCode = 2, detailMessage = Broker list path failed. path=hdfs://easyops-cluster/user/dsc_support/hive_db/dsc_support.db/hive2doris/000000_0,broker=TNetworkAddress(hostname:59.111.205.137, port:18000),msg=java.lang.IllegalArgumentException: Can't get Kerberos realm, cause by: Can't get Kerberos realm,cluster:N/A; timeout(s):14400; max_filter_ratio:0.0). at com.netease.da.music.transfer.doris.writer.BrokerLoadWriter.write(BrokerLoadWriter.scala:132) at com.netease.da.music.transfer.doris.writer.DorisWriter.doWrite(DorisWriter.scala:58) at com.netease.music.da.transfer.common.writer.AbstractDataWriter.write(AbstractDataWriter.scala:25) at com.netease.music.da.transfer.common.Worker$.main(Worker.scala:92) at com.netease.music.da.transfer.common.Worker.main(Worker.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.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:739) 2023-12-25 10:41:23 CST The throwable exception was caught in ForkJoinPool-1-worker-29, the exception will be throw by RuntimeException java.lang.RuntimeException: Application finished with state failed. at com.netease.bdms.ndi.client.spark.SparkExecutor.doStart(SparkExecutor.scala:156) at com.netease.bdms.ndi.client.AbstractExecutor$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(AbstractExecutor.scala:22) at com.netease.bdms.ndi.client.AbstractExecutor$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(AbstractExecutor.scala:22) at com.netease.bdms.ndi.client.AbstractExecutor$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(AbstractExecutor.scala:22) at com.netease.bdms.ndi.client.common.util.Utils$.tryOrRuntimeException(Utils.scala:17) at com.netease.bdms.ndi.client.AbstractExecutor$$anonfun$start$1.apply$mcV$sp(AbstractExecutor.scala:22) at com.netease.bdms.ndi.client.AbstractExecutor$$anonfun$start$1.apply(AbstractExecutor.scala:22) at com.netease.bdms.ndi.client.AbstractExecutor$$anonfun$start$1.apply(AbstractExecutor.scala:22) at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) at scala.concurrent.impl.ExecutionContextImpl$AdaptedForkJoinTask.exec(ExecutionContextImpl.scala:121) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 2023-12-25 10:41:23 CST The client failed to execute.
发现版本
LTS 7.0
解决方案
将hive集群的/etc/krb5.conf复制到doris的broker节点/etc/下重启doris的broker(kerberos通过主机名识别地址,因此需要在doris测配置对应hosts)
问题原因
根据情况进行补充

作者:林帅