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

ec2上的动物园管理员无法运行

孙德宇
2023-03-14

各位,我最近在ec2上设置了zookeeper。我遵循了ec2的手册,但它仍然显示了错误:

root@ip-172-31-15-65:/home/yjiang/zookeeper-3.4.5/bin# ./zkServer.sh status
JMX enabled by default
Using config: /home/yjiang/zookeeper-3.4.5/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

但该实例正在后台运行。然后当我使用/zkCli。sh–server-server-server-ip:2181命令,如下所示

root@ip-172-31-15-68:/home/yjiang/zookeeper-3.4.5/bin# ./zkCli.sh -server ec2-54-213-208-202.us-west-2.compute.amazonaws.com:2181
Connecting to ec2-54-213-208-202.us-west-2.compute.amazonaws.com:2181
2013-08-31 06:53:05,568 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT
2013-08-31 06:53:05,579 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=ip-172-31-15-68.us-west-2.compute.internal
2013-08-31 06:53:05,580 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.7.0_25
2013-08-31 06:53:05,580 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2013-08-31 06:53:05,581 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/usr/lib/jvm/java-7-oracle/jre
2013-08-31 06:53:05,582 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/home/yjiang/zookeeper-3.4.5/bin/../build/classes:/home/yjiang/zookeeper-3.4.5/bin/../build/lib/*.jar:/home/yjiang/zookeeper-3.4.5/bin/../lib/slf4j-log4j12-1.6.1.jar:/home/yjiang/zookeeper-3.4.5/bin/../lib/slf4j-api-1.6.1.jar:/home/yjiang/zookeeper-3.4.5/bin/../lib/netty-3.2.2.Final.jar:/home/yjiang/zookeeper-3.4.5/bin/../lib/log4j-1.2.15.jar:/home/yjiang/zookeeper-3.4.5/bin/../lib/jline-0.9.94.jar:/home/yjiang/zookeeper-3.4.5/bin/../zookeeper-3.4.5.jar:/home/yjiang/zookeeper-3.4.5/bin/../src/java/lib/*.jar:/home/yjiang/zookeeper-3.4.5/bin/../conf:/usr/lib/jvm/java-7-oracle/lib
2013-08-31 06:53:05,583 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2013-08-31 06:53:05,584 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2013-08-31 06:53:05,584 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>
2013-08-31 06:53:05,585 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux
2013-08-31 06:53:05,586 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64
2013-08-31 06:53:05,586 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=3.2.0-40-virtual
2013-08-31 06:53:05,587 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root
2013-08-31 06:53:05,588 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root
2013-08-31 06:53:05,588 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/home/yjiang/zookeeper-3.4.5/bin
2013-08-31 06:53:05,592 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=ec2-54-213-208-202.us-west-2.compute.amazonaws.com:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@3b8a9e64
Welcome to ZooKeeper!
2013-08-31 06:53:05,695 [myid:] - INFO  [main-SendThread(ec2-54-213-208-202.us-west-2.compute.amazonaws.com:2181):ClientCnxn$SendThread@966] - Opening socket connection to server ec2-54-213-208-202.us-west-2.compute.amazonaws.com/54.213.208.202:2181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
[zk: ec2-54-213-208-202.us-west-2.compute.amazonaws.com:2181(CONNECTING) 0] 2013-08-31 06:53:35,756 [myid:] - INFO  [main-SendThread(ec2-54-213-208-202.us-west-2.compute.amazonaws.com:2181):ClientCnxn$SendThread@1083] - Client session timed out, have not heard from server in 30097ms for sessionid 0x0, closing socket connection and attempting reconnect
2013-08-31 06:53:36,860 [myid:] - INFO  [main-SendThread(ec2-54-213-208-202.us-west-2.compute.amazonaws.com:2181):ClientCnxn$SendThread@966] - Opening socket connection to server ec2-54-213-208-202.us-west-2.compute.amazonaws.com/54.213.208.202:2181. Will not attempt to authenticate using SASL (unknown error)

连接似乎要花很长时间。

我根据文档做了所有的设置,我不知道我做错了什么。下面是我的conf文件,myid位于dataDir文件夹中

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/yjiang/zookeeper/data/zk1
# the port at which the clients will connect
clientPort=2181
server.1=localhost:2888:3888
server.2=ec2-54-213-208-202.us-west-2.compute.amazonaws.com:2888:3888
#server.3=ec2-54-213-208-225.us-west-2.compute.amazonaws.com:2888:3888
#server.4=ip-172-31-15-66.us-west-2.compute.internal:3888
#server.5=ip-172-31-26-18.us-west-2.compute.internal:3888
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

仅供参考,我已将端口2181、2888和3888添加到所有计算机的防火墙中。我甚至在所有机器上都禁用了防火墙,它仍然不工作。但使用相同的配置方法,在我的本地环境中从来没有任何问题。请帮帮我,非常感谢。

共有1个答案

丁晋
2023-03-14

问题可能与AWS间隔与外部地址有关。每个EC2实例都有一个在AWS内部使用的地址(私有地址)和一个在AWS外部使用的地址。您的配置文件显示server2使用ec2-54-213-208-202.us-west-2.compute.amazonaws.com这绝对是一个外部地址。如果您的所有服务器和AWS中的所有服务器都确保它们都使用私有地址。

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

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

  • 我试图在本地机器上以分布式模式配置Apache Drill。为此,我已经使用配置文件(这里,sagar pc解析为我的wlan0 inet addr): Zookeeper服务成功运行,启动Apache Drill后,它能够根据文件。此外,状态检查告诉我: 钻头在运转 钻头的ZooManager输出: 文件内容: 然而,即使完成了所有这些步骤,当我试图在目录中运行命令时,它也会给我以下错误: 在Z

  • 伙计们,如果有人经历过这个问题,请你帮帮我,我一直在绞尽脑汁,但没有成功,我尽可能多地阅读了很多帖子。 场景我有动物园管理员/两个经纪人和一个生产者和消费者在我的本地分区上运行,来自我子网内的不同IP地址,一切都很完美。我的生产者生产-消费者消费生活快乐。 我想在EC2上复制这一点,并在EC2中创建一个kafka代理,并希望该代理连接到我的动物园管理员,但由于某种原因,EC2上的代理无法连接到我。

  • 假设我有 3 台 Kafka 服务器。服务器 1 zoopkeeper1 服务器 2 zoopkeeper2 服务器 3 zoopkeeper3 在集群配置中,zoopkeepers 会发生什么?它们是为每个服务器单独维护的,还是会在群集配置中同步其数据?

  • 在Zookeeper和代理身份验证上启用SASL时,我面临以下错误。 以下配置在JAAS文件中给出,该文件作为KAFKA_OPTS传递,将其作为JVM参数:- Kafka经纪人的服务器。属性设置了以下额外字段:- Zookeeper属性如下所示: