问题标签 [znodes]

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 投票
1 回答
323 浏览

apache-zookeeper - 我们可以在zookeeper znodes中将文本文件的路径作为数据提供吗?

我是动物园管理员的新手。我有一个与 znodes 数据有关的问题。如果我们想将文本文件的内容作为数据存储在 znodes 中,语法是什么?我们可以在数据中指定文本文件的路径吗?语法是 create /MyZnode “ZnodeData”</p>

我们可以将文本文件的内容保存为:create /MyZnode “txtfile 的路径”</p>

0 投票
1 回答
1095 浏览

hadoop - HBase:表test在meta中不存在,但有一个znode。运行 hbck 以修复不一致(失败)

我最近test在开始使用 HBase 时添加了一个表。

由于一些问题,我决定重新安装 HBase。

重新安装并运行 HBase shell 后,我尝试了:

所以没有桌子。现在我尝试添加表格test

我查看了日志文件并找到了以下条目

2018-06-21 07:53:30,646 WARN [ProcedureExecutor-2] procedure.CreateTableProcedure:表测试在 meta 中不存在,但有一个 znode。运行 hbck 以修复不一致。

我运行它并得到以下信息

我想知道有没有办法znode手动去除?

0 投票
1 回答
315 浏览

java - Java Zookeeper API 奇怪的 ZNode 行为。无法正确删除 ZNode。它有意想不到的结果

我正在尝试创建一个持久的 ZNode 并存储我已处理的特定文件的行数。创建就像它应该的那样工作,从节点读取数据也是如此,但是如果它在相同的代码中,则删除不起作用。我会解释我的意思。

我创建了函数:

setOrCreateFileCheckpoint(fileName: String, lineNumber: Int) :- 检查 ZNode 是否存在,如果不存在则创建它并将存储的值设置为lineNumber getFileCheckpoint(fileName: String) :- 返回存储在 ZNode 中的值 deleteFileCheckpoint(fileName : String) :- 删除 ZNode

以下是所有三个的代码:

以下是我正在测试和困惑的代码:

运行 1:

Step1:我运行上面显示的代码

结果:在 del2 上遇到错误

Step2:将cre1注释掉,再次运行代码

结果:获取节点,给出正确的值作为在 del2 上遇到的结果错误。这令人难以置信。我不明白为什么。该节点应该被删除。

Step3:cre1仍然被注释,与上一步相同,再次运行代码

结果:节点不存在在 get1 处给出 0,这意味着节点不存在。在 del1 处遇到错误。这是第2步本身应该发生的事情

运行2:

Step1:注释掉del2,运行代码

结果:创建节点,获取正确数据,正常退出

Step2:注释掉cre1,运行代码

结果:从应该删除的节点中获取值 2000。正常退出

Step3:再次运行与step2相同的代码

结果:获取 0,在 del1 上遇到错误。

如果我一次运行代码,如果我只在一次运行中创建,只在下一次运行中获取并且只在之后的运行中删除,一切都会正常运行。我快要拔掉头发了。

PS 代码是用 Scala 编写的,但我使用的是 Java API。Scala 可以无缝地处理 Java 类。

如果您查看我已注释掉一部分的deleteFileCheckpoint函数,我也尝试过这种方法。它具有完全相同的行为。

0 投票
0 回答
25 浏览

authentication - zookeeper:如何从 ACL 中删除 id?

我通过使用 addauth 和 setAcl 摘要向某些 znode 添加了一些 id。例如,当我执行 getAcl /app 时,我得到'user1, ' hashvalue :crdwa. 如何从 ACL 列表中删除这条记录?