问题标签 [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.
java - 无法从 Hbase java api 客户端访问 Hbase 节点
我正在尝试使用 java api 连接到 hbase 集群。在尝试连接到集群节点之后,api 正在连接到 zookeeper。但是这次失败并出现此错误:
节点中的端口是开放的,因为默认是由 hbase 开放的。我正在使用 hbase 的默认设置。该节点设置为区域服务器。我尝试使用 hbase 的独立配置并且正在工作,不同之处在于 api 在 zookeeper 之后连接的端口不一样。
java - 在 ZooKeeper 中,有没有办法在不自己实现分布式锁的情况下原子地编写层次结构?
假设我想把这棵树写给动物园管理员
在我创建节点 b 之后但在我能够编写节点“d”或“e”之前,其他一些客户端可能会出现并删除节点 b。
有没有办法我可以原子地编写这个层次结构,或者可能锁定某个路径?
java - 用于分配分片索引的 Zookeeper
我在网上看到了一些关于使用 Zookeeper 在服务器上线时将分片编号分配给服务器的帖子(假设您正在跨集群对数据进行分片) - 但对于我来说,我找不到如何执行此操作的 Java 代码示例。有人已经有这个工作了吗?谢谢。
build-automation - 更新集群上运行的项目
我在 CentOS6.2 机器的 OpenStack 集群上运行一个项目。项目由大约 10 个 git repos 组成。一个服务的回购。并且服务基于某些角色在 20 个不同的节点上运行。因此,我们可以在服务和角色之间进行某种映射。如果您手动进行,通过集群交付更改是一件很痛苦的事情。目前,我们正在使用 git pull 并结合每个节点上的一些配置更改。涉及人为因素,因此我不想由于手动错误而使集群脱机。
我正在寻找一种解决方案,以在更新源(运行数据库迁移或配置文件更新)后发布配置内容,从而向集群提供更改。有什么好的解决方案吗?
更新:下面的项目似乎很合适。有这些实践经验吗?
- Zookeper:http: //zookeeper.apache.org/
- Doozerd:https ://github.com/ha/doozerd
- 诺亚:https ://github.com/lusis/Noah
scala - ZooKeeper 返回 HBase 服务器地址的垃圾字符
近况如何?
对不起,如果我在这里听起来很愚蠢。
我正在尝试创建一个基本的 play2.0 - HBase 应用程序。当我尝试从游戏中连接 HBase 时,ZooKeeper 向我返回 HBase 服务器地址的垃圾字符。
我已经确定了弱点,它位于 org.apache.hadoop.hbase.zookeeper.ZooKeeperNodeTracker。它使用本地地址和端口的垃圾值加载数据,然后将其传递给 HServerAddress 类以进行进一步操作。
我查看了我的 hbase-site.xml(仅包含 localhost)和 hbase-default.xml,它们看起来就像 Apache 指示的那样。
下面粘贴的是堆栈跟踪。
如果有人可以在这里帮助我,将不胜感激!谢谢!
java - 在zookeeper中创建路径的最有效方法,其中路径的根元素可能存在也可能不存在?
想象一个路径“/root/child1/child2/child3”
想象在 zookeeper 中可能存在其中的一部分,比如“/root/child1”
zookeeper 中没有等效的“mkdir -p”;此外,如果任何一个操作失败,ZooKeeper.multi() 将失败,因此“制作路径”不能真正融入到多重调用中。此外,您可能有其他一些客户端尝试创建相同的路径...
这就是我想出的创建路径的方法。我想知道是否值得检查某个部分是否存在,以节省 exists() 调用的往返行程。
最有效的方法是什么?假设 a) 您事先不知道已经存在多少路径,并且 b) 其他一些客户端可能正在尝试编写相同的路径(并且我们希望避免锁定)。
java - 用于 Java/Spring 配置的 ZooKeeper?
是否有任何使用 Apache ZooKeeper 来分发 Java 应用程序配置的有据可查的用例,尤其是 Spring 服务?
像许多云服务用户一样,我需要更改可变数量的 Java 服务的配置,最好是在运行时而不需要重新启动服务。
更新
最终我写了一些东西,将 ZooKeeper 节点作为属性文件加载,并创建一个ResourcePropertySource
并将其插入到 Spring 上下文中。请注意,这不会反映上下文启动后 ZooKeeper 节点中的更改。
c# - 无法使用 apache .NET 库从 C# 应用程序连接到 ZooKeeper
我正在使用 Zookeeper v3.3.3+dfsg2-1ubuntu1,在 ubuntu vm 上运行。(VM 正在使用 NAT 网络连接运行)
在我的开发机器(Windows 7)上,如果我运行:zkCli.cmd -server 10.10.135.19:2181
它连接良好,我可以执行create
s、get
s 等。
我有一个 C# 4 应用程序,它具有对 Org.Apache.ZooKeeper v1.0.0.0 的 NuGet 依赖项。
我通过以下方式使用它:
问题是这只是挂起。在 zookeeper 日志中,我看到以下内容:
这种情况一直持续到我手动终止该过程,即该WaitUntilConnected()
方法永远不会返回。(通过调试验证)
似乎客户端连接可以很好地到达服务器,但观察者从未意识到这一点,该通道上没有进一步发生,服务器终止连接,只是让客户端重试。有什么想法我在这里做错了吗?
hadoop - 在分布式 Hadoop 上设置 HBase 时出错,ZooKeeperServer 未运行
我正在尝试在 Hadoop 上设置 HBase,并且一直在关注Michael G. Noll和这里的各种优秀教程。基本上一切都很好,我的 Hdfs 和 MapRed 在 Web 界面上运行良好,它显示我有 2 个节点(我的 NameNode 既是 NameNode 又是 DataNode,但这只是为了测试目的)。
当我安装 HBase 时,我遇到了问题,我得到了很多不同的错误。我最新的一个在我的从节点的日志文件中
但是当我输入
它说显示了两台机器正在运行的模式!任何人都知道这是什么问题。或者有没有人知道我可以遵循的另一个指南/教程来设置它?我已经尝试按照 HBase 文档在分布式 HDFS 上设置 HBase,但它也不起作用。
感谢您提供的任何帮助!
configuration - 如何针对远程集群运行 HBase shell
我在我的工作站上以伪分布式模式运行 HBase。我们还在集群上运行 HBase。使用 HBase shell,我想从我的工作站访问在集群上运行的 HBase 实例。我想在不登录其中一台集群机器的情况下执行此操作。
使用 Hadoop,您可以通过指定 -conf 参数并提供 hadoop-site.xml 的备用版本在远程集群上运行作业。HBase shell 是否有等价物?
我在我的工作站和集群机器上运行 cloudera cdh3u3。