无法启动 Drill:线程异常 "main" org.apache.drill.exec.exception.DrillbitStartupException:无法获取规范主机名
Cannot start Drill: Exception in thread "main" org.apache.drill.exec.exception.DrillbitStartupException: Could not get canonical hostname
在kubernetes集群中运行Apache钻取时,启动后片刻抛出此异常:
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.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 之外的所有其他应用程序在此堆栈上都 运行 正常。
如何解决这个问题...?
看起来 InetAddress.getLocalHost().getCanonicalHostName()
无法获得规范的主机名,您可以调查为什么会发生这种情况,也许您需要在您的环境中配置一些东西。另一种选择是使用自定义主机名,可以使用环境变量进行设置:DRILL_HOST_NAME
-> System.getenv("DRILL_HOST_NAME")
.
在kubernetes集群中运行Apache钻取时,启动后片刻抛出此异常:
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.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 之外的所有其他应用程序在此堆栈上都 运行 正常。 如何解决这个问题...?
看起来 InetAddress.getLocalHost().getCanonicalHostName()
无法获得规范的主机名,您可以调查为什么会发生这种情况,也许您需要在您的环境中配置一些东西。另一种选择是使用自定义主机名,可以使用环境变量进行设置:DRILL_HOST_NAME
-> System.getenv("DRILL_HOST_NAME")
.