2016-11-09 39 views
2

我下载的Apache钻V1.8,编辑conf/drill-override.conf有以下变化:如何在分布式模式下本地启动drillbit?

drill.exec: { 
    cluster-id: "drillbits1", 
    zk.connect: "10.178.23.140:2181,10.178.23.140:2182,10.178.23.140:2183,10.178.23.140:2184" 
} 

..zookeeper集群有效组成4个动物园管理员实例的开始一样,一台机器上,我想开始钻取。 (即我只使用一台机器为Apache钻和动物园管理员的集群,机器的IP是10.178.23.140

所以,我不断收到此错误:

Exception in thread "main" org.apache.drill.exec.exception.DrillbitStartupException: Failure during initial startup of Drillbit. 
    at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:295) 
    at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:271) 
    at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:267) 
Caused by: org.apache.drill.exec.exception.DrillbitStartupException: Drillbit is disallowed to bind to loopback address in distributed mode. 
    at org.apache.drill.exec.service.ServiceEngine.checkLoopbackAddress(ServiceEngine.java:186) 
    at org.apache.drill.exec.service.ServiceEngine.start(ServiceEngine.java:146) 
    at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:119) 
    at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:291) 
    ... 2 more 

为什么钻头抱怨是绑定到回送地址?!

  1. 我没有配置钻头的IP绑定到!
  2. 而且由于我在我的机器上启动钻头钻取过程,我的机器会尝试绑定哪些其他IP?

回答

3

的问题是,我/etc/hosts中文件中有这样的条目

127.0.1.1 mgelbana-machine 

这使我的主机名解析为环回地址。要解决此问题,您可以执行以下任一操作

  • 删除此行解决了我的问题。
  • 将我的主机名解析为非回送IP地址。

Source

private void checkLoopbackAddress(String address) throws DrillbitStartupException, UnknownHostException { 
    if (isDistributedMode && InetAddress.getByName(address).isLoopbackAddress()) { 
    throw new DrillbitStartupException("Drillbit is disallowed to bind to loopback address in distributed mode."); 
    } 
} 

为什么钻拒绝,同时绑定到环回地址来启动的原因,是differentiate between Drill nodes registered in Zookeeper.

相关问题