问题标签 [apache-zookeeper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5066 浏览

apache-zookeeper - 无法在复制模式下设置 zookeeper

我正在尝试在具有 3 个服务器的复制节点中设置 zookeeper。

我的配置文件是这样的

我收到以下异常

所有端口都打开,ssh、telnet 也可以工作。

谢谢

0 投票
1 回答
1908 浏览

java - 使用 Zookeeper 存储用户权限有意义吗

我正在编写一个分布式应用程序,涉及多个前端节点,除非它们是列表的一部分,否则这些节点需要拒绝用户执行操作。

现在我们有超过 4 个节点,但只有一个运行 DB2 的数据库服务器,该服务器经常停机进行维护。

现在我们正在轮询数据库以更新内存中的列表,以便如果从列表中删除用户,则更改会反映到所有 4 个节点。但是,如果在数据库关闭时重新启动其中一个节点,我们最终会得到一个空列表,该列表将拒绝所有我们不想要的用户请求。即使数据库已关闭,我们也可以接受来自用户的请求,因为我们将它们缓冲在消息队列中,但如果需要拒绝它们,我们希望立即拒绝它们!

在我们的 4 个节点上运行一个 Zookeeper 实例并将用户权限存储在 Zookeeper 中是否有意义。因此,阅读应该是快速的,并且数据是高度可用和一致的。我们不再需要进行轮询,即使我们重新启动数据库,节点也能够从 zookeeper 获取配置!

0 投票
2 回答
4076 浏览

hadoop - 奇怪的 DNS 服务器导致 Hadoop 和 HBase 出现故障

我的网络带有一些奇怪的(据我所知)DNS 服务器,导致 Hadoop 或 HBase 出现故障。

它将我的主机名解析为我的机器不知道的某个地址(即没有这样的接口)。

如果我在 /etc/hosts 中有以下条目,Hadoop 确实可以工作:

如果条目“127.0.1.1 myhostname”不存在,则将文件上传到 HDFS 失败并抱怨它只能将文件复制到 0 个数据节点而不是 1 个。

但在这种情况下,HBase 不起作用:从 HBase shell 创建表会导致 NotAllMetaRegionsOnlineException(实际上是由 HMaster 试图绑定到 DNS 服务器为 myhostname 返回的错误地址引起的)。

在其他网络中,我使用以下 /etc/hosts:

Hadoop 和 HBase 都可以工作。问题在于,在第二个网络中,地址是动态的,我无法将其列入 /etc/hosts 以覆盖奇怪 DNS 返回的结果。

Hadoop 以伪分布式模式运行。HBase 也在单节点上运行。

更改 DNS 服务器的行为不是一种选择。在 hbase/conf/regionservers 中将“localhost”更改为 127.0.0.1 不会改变任何内容。

有人可以建议一种方法,我如何在保持互联网连接的同时覆盖它的行为(我实际上是通过 Teamviewer 在客户端的机器上工作)。或者以某种方式配置 HBase(或它正在管理的 Zookeeper)不使用主机名来确定要绑定的地址?

0 投票
2 回答
233 浏览

neo4j - neo4j1.4 ha “未分配图形数据库并且没有关闭原因,可能尚未启动或正在主/从交换中?”

solaris10 x64 上的 zookeeper 3.3.2

  • 在 solaris 10 x64 配置中:

zookeeper 3.3.2 安装 /export/zookeeper-3.3.2 3 zookeeper 目录

启动.sh

zookeeper1 zoo.cfg

zookeeper2 zoo.cfg

zookeeper3 zoo.cfg

neo4j 1.4 安装 windows 7 neo4j 代码

conf/neo4j.cfg

启动 neo4j ha 异常消息:

2011-11-02 12:46:44,316 - 信息 [main:ZooKeeper@373] - 启动客户端连接,connectString= zoohost:2181,zoohost:2182,zoohost:2183 sessionTimeout=5000 watcher=org.neo4j.kernel.ha。 zookeeper.ZooClient@16fa474 2011-11-02 12:46:44,674 - 信息 [main-SendThread():ClientCnxn$SendThread@1041] - 打开套接字连接enter code here到服务器/zoohost:2183 java.lang.RuntimeException: 图形数据库未分配且没有关闭原因,可能尚未启动或在主/从交换中间?在 org.neo4j.kernel.HighlyAvailableGraphDatabase.localGraph(HighlyAvailableGraphDatabase.java:282) 在 org.neo4j.kernel.HighlyAvailableGraphDatabase.startUp(HighlyAvailableGraphDatabase.java:240) 在 org.neo4j.kernel.HighlyAvailableGraphDatabase.(HighlyAvailableGraphDatabase.java:135)在 org.neo4j.kernel.HighlyAvailableGraphDatabase.(HighlyAvailableGraphDatabase.java:111)

0 投票
2 回答
6717 浏览

virtual-machine - 如何修复 Hbase 的 Zookeeper 错误

主要操作系统是windows 7 64bit。使用VM player创建两个vm CentOS 5.6系统。网络连接是桥接。我在两个CentOS系统上都安装了Hbase,一个是master,一个是slave。当我进入 shell 并运行status 'details'

主人的错误是

zookeeper.ZKConfig:在 zoo.cfg 中找不到有效的仲裁服务器错误:org.apache.hadoop.hbase.ZooKeeperConnectionException:错误阻止 HBase 连接到 ZooKeeper

来自奴隶的错误是

错误:org.apache.hadoop.hbase.ZooKeeperConnectionException:HBase 能够连接到 ZooKeeper,但连接立即关闭。这可能表明服务器有太多连接(默认值为 30)。考虑检查您的 ZK 服务器日志以查找该错误,然后确保您尽可能频繁地重用 HBaseConfiguration。有关详细信息,请参阅 HTable 的 javadoc。

请给我一些建议。非常感谢

0 投票
3 回答
3646 浏览

hbase - 动物园管理员 Znode

当我们使用 zookeeper 来协调一组 Hbase 节点时,zookeeper 可以与 Hbase 节点位于相同的节点上,还是必须位于单独的集群上?还有一件事我无法清楚地理解是什么时候创建了 Zookeeper znode 以及 zookeeper znode 的目的是什么?Zookeeper官网说这些是zookeeper文件系统的一部分,那么zookeeper znode到底是用来存储什么的?是配置属性、应用数据还是具体是什么内容?

0 投票
2 回答
1424 浏览

python - 如何在 Mac OS X 10.7 Lion 中以 32 位模式构建 zookeeper/zkpython?

我应该在 32 位模式下使用 32 位 Python(由于 oracle instantclient-10.2.0.4,它在 Mac OS X 中的 64 位段错误,但在 32 位中工作)。到目前为止一切都很好,直到我找到了动物园管理员。实际上,ZooKeeper Python 绑定 (zkpython)。

我试图将 zkpython 设置为 32 位,同时默认情况下保持客户端本身为 64 位。但在这种情况下,导入时出现错误:

Python 2.7 也一样(这里的 2.6 和 2.7 都是 32 位的,并且 sys.maxint==2147483647)。而且我猜它在这里需要 32 位 zookeeper 客户端,因为在编译 zkpython 时它只说一个有意义的警告:

ld:警告:忽略文件../../..//src/c/.libs//libzookeeper_mt.dylib,文件是为不受支持的文件格式构建的,它不是被链接的体系结构(i386)

所以,我试图让zookeeper客户端本身是32位的。但是无论我尝试什么,我都无法在 32 位模式下构建它:libzookeeper_mt.2.dylib 始终是 64 位(我尝试了 ARCH_FLAGS="-arch i386",configure --build=i386 --host=i386,arch -i386 ...等 — .dylib 始终为 64 位)。

这里最糟糕的一点是它没有内置 i386 拱门,所以我无法用“lipo”提取这个 i386 版本。

所以,主要问题是:如何使 ZooKeeper python 绑定在 64 位 Mac OS X Lion (10.7) 中与 32 位 Python 一起使用?

第二个问题是:如何在 64 位 Mac OS X Lion 10.7 中以 32 位模式构建 ZooKeeper?

0 投票
2 回答
2809 浏览

architecture - Zookeeper 适合这种情况吗?

这是我的要求。

我在一个集群中有一堆机器(比如大约 4 - A、B、C、D)。

A 的工作是轮询数据库以获取更新(因此,A 可以在订单表中查找新订单)。
一旦 A 收到更新,它会验证 B、C、D 中的哪一个是相对空闲的(我猜负载平衡是正确的词)。然后它命令 B、C、D 之一开始处理订单。A 跟踪 B/C/D 上正在处理的订单。

B、C、D 就像奴隶一样——它们只在完成订单处理后从 A 接收更新并通知 A。如果 A 出现故障(由于网络问题或其他原因),B、C、D 中的一个将成为主节点并执行 A 的职责。A 关于正在运行的作业的元数据也会定期备份到备份节点 E。所以当B/C/D 成为新的 master,它将从 E 读取元数据。

我知道这听起来有点像 hadoop,但是订单处理不适合 map reduce 模型,所以我正在寻找利用其他框架(如 ZooKeeper)的方法,它可以帮助 A、B、C 和 D 之间的协调。

ZooKeeper 适合这里吗?

0 投票
4 回答
3667 浏览

hadoop - 在测试环境中使用 Hadoop 和 Zookeeper 请求 Apache Accumulo 错误帮助

我正在使用 apache accumulo ver 1.4.0、hadoop ver 0.20.2 和 zookeeper ver 3.3.3 设置测试环境。请参阅下面的问题。

Hadoop 和 Zookeeper 一起工作得很好,但是当我使用 apache 孵化器上的程序开始 accumulo 时,我得到以下 zookeeper 信息流和警告:

当我启动 accumulo shell 时,出现以下错误:

0 投票
1 回答
1314 浏览

concurrency - 如何使用 ZooKeeper 实现 Chubby 风格的锁序列器?

Google 的 Chubby 分布式锁管理器有一个称为“序列器”的功能,我想使用 ZooKeeper 来模拟它。有没有已知的好方法可以做到这一点?

定序器的工作原理如下:

  1. 客户端获取资源锁
  2. 客户端为它的锁请求一个排序器,这是一个带有一些元数据的字符串
  3. 客户端调用服务并将定序器作为参数传递
  4. 服务在处理请求之前使用定序器来验证客户端是否仍然持有锁

目标是防止客户端在调用必须由锁保护的远程服务后死亡的情况。

有关 Chubby 的主要论文可在http://research.google.com/archive/chubby.html获得。定序器在 2.4 节中讨论。

谢谢!