在kubernetes集群中运行Apache drill时,启动后会抛出此异常:
Starting drillbit, logging to /opt/drill/log/drillbit.out
Exception in thread "main" org.apache.drill.exec.exception.DrillbitStartupException: Could not get canonical hostname.
at org.apache.drill.exec.server.BootStrapContext.getCanonicalHostName(BootStrapContext.java:169)
at org.apache.drill.exec.server.BootStrapContext.<init>(BootStrapContext.java:81)
at org.apache.drill.exec.server.Drillbit.<init>(Drillbit.java:161)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:518)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:498)
at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:494)
Caused by: java.net.UnknownHostException: aks-nodepool1-20640609-1: aks-nodepool1-20640609-1: Try again
at java.net.InetAddress.getLocalHost(InetAddress.java:1505)
at org.apache.drill.exec.server.BootStrapContext.getCanonicalHostName(BootStrapContext.java:167)
... 5 more
Caused by: java.net.UnknownHostException: aks-nodepool1-20640609-1: Try again
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
at java.net.InetAddress.getLocalHost(InetAddress.java:1500)aks-nodepool1-20640609-1是运行容器的节点的名称。
除Drill之外的所有其他应用程序都可以在此堆栈上正常运行。如何解决这个问题...?
发布于 2019-08-15 23:23:00
看起来InetAddress.getLocalHost().getCanonicalHostName()无法获得规范的主机名,你可以调查为什么会发生这种情况,也许你需要在你的环境中配置一些东西。另一种选择是使用自定义主机名,它可以使用环境变量进行设置:DRILL_HOST_NAME -> System.getenv("DRILL_HOST_NAME")。
https://stackoverflow.com/questions/57498186
复制相似问题