当前位置: 首页 > 知识库问答 >
问题:

如何在一个节点中运行两个动物园管理员服务器

车诚
2023-03-14

我有三个物理节点,每个节点上都安装了Docker。我在每个docker上配置了马拉松、Flink、Mesos、ZooKeer和Hadoop。它们工作得很好。我必须将数据分发到Flink集群,所以我需要Kafka。ZooKeer已经运行;所以,Kafka运行时没有错误。问题是在这种情况下,当我想创建Kafka Topic时,我看到了这个错误,我认为这是因为我没有运行Kafka文件夹中的ZooKeer:

线程“main”kafka中出现异常。动物园管理员。ZooKeeperClientTimeoutException:在状态中等待连接时超时:在kafka连接。动物园管理员。ZooKeeperClient$$anonfun$kafka$zookeeper$ZooKeeperClient$$waitUntilConnected$1。在kafka应用$mcV$sp(ZooKeeperClient.scala:230)。动物园管理员。ZooKeeperClient$$anonfun$kafka$zookeeper$ZooKeeperClient$$waitUntilConnected$1。在Kafka应用(ZooKeeperClient.scala:226)。动物园管理员。ZooKeeperClient$$anonfun$kafka$zookeeper$ZooKeeperClient$$waitUntilConnected$1。在Kafka应用(ZooKeeperClient.scala:226)。UTIL。CoreUtils美元。Kafka的inLock(CoreUtils.scala:251)。动物园管理员。ZooKeeperClient。Kafka$zookeeper$ZooKeeperClient$$waitUntilConnected(ZooKeeperClient.scala:226)。动物园管理员。ZooKeeperClient。(ZooKeeperClient.scala:95)Kafka。zk。KafkaZkClient美元。在Kafka应用(KafkaZkClient.scala:1580)。管理TopicCommand$。Kafka的main(TopicCommand,scala:57)。管理TopicCommand。main(TopicCommand.scala)

此外,我更改了在Kafka文件夹中使用ZooKeer的计划。为此,我在Kafka文件夹中配置了ZooKeer,其中包含2186,2889,3889等新端口。但是当我使用此命令运行ZooKeer时:

  /home/kafka_2.11-2.0.0/bin/zookeeper-server-start.sh /home/kafka_2.11-2.0.0/config/zookeeper.properties

我收到此错误:

WARN无法在选举地址/10.32.0.3:3889(org.apache.zookeeper.server.quorum.QuorumCnxManager)java打开到2的频道。网ConnectException:在java上拒绝连接(拒绝连接)。网PlainSocketImpl。socketConnect(本机方法)

在java。网AbstractPlainSocketImpl。doConnect(AbstractPlainSocketImpl.java:350)

java.net.AbstractPlainSocketImpl.connect地址(AbstractPlainSocketImpl.java:206)

在java。网AbstractPlainSocketImpl。在java上连接(AbstractPlainSocketImpl.java:188)。网SocksSocketImpl。在java上连接(socksocketimpl.java:392)。网插座连接(Socket.java:589)

位于组织。阿帕奇。动物园管理员。服务器法定人数。QUORUMCNX管理器。connectOne(qourumcnxmanager.java:558)

位于组织。阿帕奇。动物园管理员。服务器法定人数。QUORUMCNX管理器。toSend(qourumcnxmanager.java:534)

在org.apache.zookeeper.server.quorum.FastLeaderelected$Messenger$WorkerSender.process(FastLeaderElection.java:454)

位于组织。阿帕奇。动物园管理员。服务器法定人数。FastLeaderElection$Messenger$WorkerSender。在java上运行(FastLeaderElection.java:435)。lang.Thread。运行(Thread.java:748)

zookeeper的配置位于第一个节点的“/主页/zookeeper-3.4.14/conf/zoo.cfg”中:

    tickTime=2000
    initLimit=10
    syncLimit=5        
    dataDir=/var/lib/zookeeper/data
    clientPort=2181
    server.1=0.0.0.0:2888:3888
    server.2=10.32.0.3:2888:3888
    server.3=10.32.0.4:2888:3888

Kafka文件夹中的Zookeeper配置与第一个节点类似:

     dataDir=/tmp/zookeeper/data
     tickTime=2000
     initLimit=10
     syncLimit=5
     clientPort=2186
     server.1=0.0.0.0:2889:3889
     server.2=10.32.0.3:2889:3889
     server.3=10.32.0.4:2889:3889

请您指导我如何在一个docker容器中运行两个Zoowatch?顺便说一句,我不能为Kafka集群使用另一个容器,因为我需要两个具有一个公共IP地址的容器。

任何帮助都将不胜感激。

共有1个答案

仉明知
2023-03-14

问题解决了。我使用了上述配置,但对两个ZooKeer都使用了dataDir=/var/lib/zooKeer/data。此外,首先,我运行Hadoop,然后使用ZooKeer运行Kafka。

 类似资料:
  • 分布式 Apache HBase 安装依赖于正在运行的 ZooKeeper 集群。所有参与节点和客户端都需要能够访问正在运行的 ZooKeeper 集合。 Apache HBase 默认为您管理 ZooKeeper“集群”。它将启动和停止 ZooKeeper 集合作为 HBase 启动/停止过程的一部分。您还可以独立于 HBase 管理 ZooKeeper 集合,只需将 HBase 指向它应该使用

  • 我正在尝试使用Java API运行zookeeper,以便能够使用多个分区启动一个主题。我相信这个答案会奏效。但是,当我尝试运行此代码时,会出现以下错误: 无法连接到动物园管理员服务器localhost:2181超时8000毫秒 在这台机器上,我没有运行zookeeper服务器。但我想在Java中启动一个实例(目前我可以使用ZooKeeperServerMain()类来完成)。因此,也许我也需要这

  • 我们有HDP集群版本2.6.4和3 zookeeper服务器版本3.4.x 第一个 Zookeeper 服务器无法正常工作,并在一段时间后弯腰 从ambari GUI中,我们可以看到动物园断开了连接 从动物园管理员日志中我们可以看到以下内容: 当我们为动物园管理员进行测试时,我们得到了: 请注意,发送比我们从Received得到的要少得多 我们可以看到许多CLOSE-WAIT连接 为了尝试解决此问

  • 为什么在kafka-consumer中不推荐使用zookeeper,为什么推荐使用bootstrap服务器?引导服务器的优势是什么?

  • 我是Kafka的新手,动物园管理员和Storm。我我们的环境,我们有一个Kafka代理连接到多个动物园管理员。让生产者将消息发送到特定主题并在一个代理上将分区到多个动物园管理员与多个代理分配给多个动物园管理员相比是否有优势?

  • 我正在为Storm开发代码,这是开发人员的一个示例。我的问题是,当您从IDE Eclipse运行此代码时,不会建立Storm和ZooKeer之间的连接。ZooKeer在2181中运行,也设置在storm.yaml. 我的例外是: 有什么想法或程序要执行吗?是否从配置代码中传递?和我一样?