Apache zookeeper 分布式演练赢得';t Start:“启动”;不允许钻头在分布式模式下绑定到环回地址。”;

Apache zookeeper 分布式演练赢得';t Start:“启动”;不允许钻头在分布式模式下绑定到环回地址。”;,apache-zookeeper,apache-drill,Apache Zookeeper,Apache Drill,我有(3)个CentOS8 VirtualBox虚拟机,启用了网络,每个虚拟机都分配了16 GB RAM。每个主机都有如下配置的/etc/hosts: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 我正在使用以下配置跨VM运行Zooke

我有(3)个CentOS8 VirtualBox虚拟机,启用了网络,每个虚拟机都分配了16 GB RAM。每个主机都有如下配置的
/etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1       localhost localhost.localdomain localhost6 localhost6.localdomain6
我正在使用以下配置跨VM运行Zookeeper仲裁:

#/home/strickolas/Downloads/project/zookeeper/conf/zoo.cfg
initLimit=10
syncLimit=5
clientPort=2181
tickTime=2000
dataDir=/home/strickolas/Downloads/project/zookeeper/data
reconfigEnabled=true
standaloneEnabled=false
server.1=192.168.0.4:2888:3888
server.2=192.168.0.5:2888:3888
server.3=192.168.0.6:2888:3888
我使用sudo systemctl stop firewalld杀死了防火墙。这给我带来了运行ZK的问题。我最终需要正确配置防火墙,但现在,这是一个未来我的问题

执行
/bin/zkServer.sh status
表示ZK正在按应有的方式运行:

Zookeeper JMX enabled by default
Using config /home/strickolas/Downloads/project/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address:localhost.
Mode: leader  # or follower depending on which node you ask.
现在进入我的训练设置:

#/home/strickolas/Downloads/project/drill/conf/drill-override.conf
drill.exec: {
  cluster-id: "drillbits1",
  zk.connect: "192.168.0.4:2181,192.168.0.5:2181,192.168.0.6:2181"
}
运行
/bin/drillbit.sh run
会导致:

Tue Mar 31: 23:59:16 EDT 2020 Starting drillbit on localhost.localdomain
core file size            (blocks, -c) unlimited
data seg size             (kbytes, -d) unlimited
scheduling priority               (-e) 0
file size                 (blocks, -f) unlimited
pending signals                   (-i) 63366
max locked memory         (kbytes, -l) 16384
max memory size           (kbytes, -m) unlimited
open files                        (-n) 1024
pipe size              (512 bytes, -p) 8
POSIX message queues       (bytes, -q) 819200
real-time priority                (-r) 0
stack size                (kbytes, -s) 8192
cpu time                 (seconds, -t) unlimited
max user processes                (-u) 63366
virtual memory            (kbytes, -v) unlimited
file locks                        (-x) unlimited
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:584)
  at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:550)
  at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:546)
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.start(ServiceEngine.java:97)
  at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:220)
  at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:580)
  ... 2 more

有什么想法吗?

您需要在每个主机的/etc/hosts中创建一个条目,其中包含它们的IP地址和主机名(例如,节点1的“192.168.0.4钻位1”,节点2的“192.168.0.5钻位2”,节点3的“192.168.0.6钻位3”)