Zookeeper 无法在分布式模式下启动Drill

0h4hbjxa  于 2022-12-09  发布在  Apache
关注(0)|答案(2)|浏览(222)

我正在尝试设置drillv1.18运行。面对下面的错误。
drill-override.conf指向在端口12181上运行的zookeeper。在分布式模式下启动时,它会失败,并显示以下日志输出。但嵌入式模式没有问题。看起来像是权限问题,但zookeeper、drill、zookeeper data-dir都在同一个用户下运行。

2020-05-10 16:23:01,160 [main] DEBUG o.apache.drill.exec.server.Drillbit - Construction started.
2020-05-10 16:23:01,448 [main] DEBUG o.a.d.e.c.zk.ZKClusterCoordinator - Connect localhost:12181, zkRoot drill, clusterId: drillbits1
2020-05-10 16:23:01,531 [main] INFO  o.a.d.e.s.s.PersistentStoreRegistry - Using the configured PStoreProvider class: 'org.apache.drill.exec.store.sys.store.provider.ZookeeperPersistentStoreProvider'.
2020-05-10 16:23:01,718 [main] DEBUG o.a.drill.exec.ssl.SSLConfigServer - Using Hadoop configuration for SSL
2020-05-10 16:23:01,718 [main] DEBUG o.a.drill.exec.ssl.SSLConfigServer - Hadoop SSL configuration file: ssl-server.xml
2020-05-10 16:23:01,731 [main] DEBUG org.apache.drill.exec.ssl.SSLConfig - Initialized SSL context.
2020-05-10 16:23:01,731 [main] INFO  o.a.drill.exec.rpc.user.UserServer - Rpc server configured to use TLS protocol 'TLSv1.2'
2020-05-10 16:23:01,738 [main] INFO  o.apache.drill.exec.server.Drillbit - Construction completed (577 ms).
2020-05-10 16:23:01,738 [main] DEBUG o.apache.drill.exec.server.Drillbit - Startup begun.
2020-05-10 16:23:01,738 [main] DEBUG o.a.d.e.c.zk.ZKClusterCoordinator - Starting ZKClusterCoordination.
2020-05-10 16:23:03,775 [main] ERROR o.apache.drill.exec.server.Drillbit - Failure during initial startup of Drillbit.
org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented for /drill
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:106)
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:54)
    at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:1538)
    at org.apache.curator.utils.ZKPaths.mkdirs(ZKPaths.java:351)
    at org.apache.curator.framework.imps.ExistsBuilderImpl$2.call(ExistsBuilderImpl.java:230)
    at org.apache.curator.framework.imps.ExistsBuilderImpl$2.call(ExistsBuilderImpl.java:224)
    at org.apache.curator.connection.StandardConnectionHandlingPolicy.callWithRetry(StandardConnectionHandlingPolicy.java:67)
    at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:81)
    at org.apache.curator.framework.imps.ExistsBuilderImpl.pathInForeground(ExistsBuilderImpl.java:221)
    at org.apache.curator.framework.imps.ExistsBuilderImpl.forPath(ExistsBuilderImpl.java:206)
    at org.apache.curator.framework.imps.ExistsBuilderImpl.forPath(ExistsBuilderImpl.java:35)
    at org.apache.curator.framework.imps.CuratorFrameworkImpl.createContainers(CuratorFrameworkImpl.java:265)
    at org.apache.curator.framework.EnsureContainers.internalEnsure(EnsureContainers.java:69)
    at org.apache.curator.framework.EnsureContainers.ensure(EnsureContainers.java:53)
    at org.apache.curator.framework.recipes.cache.PathChildrenCache.ensurePath(PathChildrenCache.java:596)
    at org.apache.curator.framework.recipes.cache.PathChildrenCache.rebuild(PathChildrenCache.java:327)
    at org.apache.curator.framework.recipes.cache.PathChildrenCache.start(PathChildrenCache.java:304)
    at org.apache.curator.framework.recipes.cache.PathChildrenCache.start(PathChildrenCache.java:252)
    at org.apache.curator.x.discovery.details.ServiceCacheImpl.start(ServiceCacheImpl.java:99)
    at org.apache.drill.exec.coord.zk.ZKClusterCoordinator.start(ZKClusterCoordinator.java:145)
    at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:220)
    at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:584)
    at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:554)
    at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:550)

1.17版在分布式模式下启动时没有问题。

6kkfgxo0

6kkfgxo01#

这里的问题与zookeeper版本有关。也许您使用的是3.4.X版本,但当前的Drill版本需要3.5.X。作为一种解决方法,您可以将jars/ext/zookeeper-3.5.7.jarjars/ext/zookeeper-jute-3.5.7.jar中的zookeeper jar替换为与您的zookeeper版本相对应的jar。

pb3skfrl

pb3skfrl2#

除了Vova Vysotskyi的答案外,您还可以在Drill文档中找到有关此问题的更多信息:
https://drill.apache.org/docs/distributed-mode-prerequisites/
从Drill 1.18开始,捆绑的ZooKeeper库升级到3.5.7版本,阻止连接到较旧(〈3.5)的ZooKeeper集群。要连接到ZooKeeper〈3.5的集群,请将${DRILL_HOME}/jars/ext中的ZooKeeper库JAR替换为zookeeper-3.4.x.jar,然后重新启动集群。

相关问题