我想使用ZooKeeper实现简单的类
public class ResourceMonitor implements Watcher {
String name = "/zk_test3";
ZooKeeper zk;
public ResourceMonitor() throws IOException {
zk = new ZooKeeper("localhost:8000", 3000, this);
}
public void waitAndGet() {
}
pu
我有一组资源,每个资源都有一个唯一的标识符,每个资源元素在使用之前必须被锁定,在使用后必须解锁。应用程序的逻辑是:
lock any one element;
if (none locked) then
exit with error;
else
get resource-id from lock
use resource
unlock resource
end
Zookeeper看起来像是管理这些锁的一个很好的候选者,它快速而有弹性,而且从客户端故障中恢复似乎非常简单。
有人能想到我如何使用Zookeeper来实现这一点吗?
我的场景如下:我在HDFS中有5个linux机器和10个文件(可能更多)。我的要求是,一台机器应该锁定其中一个文件并处理它,而其他机器不应该处理这个文件,而是锁定另一个文件并处理这些文件。对于示例: machine1 -获取file2上的锁,处理它machine2 -锁定file3并处理它machine3 -锁定file1并处理它
我编写了一个虚拟多线程java程序来模拟它-- .But --它不起作用:
public class DistributedLock {
private final ZooKeeper zk;
private final String lockBa
我正在尝试部署一个带有3个动物园管理员和3个kafka节点的对接卡夫卡集群。kafka节点不断停止打印以下错误:
[main-SendThread(zookeeper-1:2181)] INFO org.apache.zookeeper.ClientCnxn - Opening socket connection to server zookeeper-1/10.0.0.5:2181. Will not attempt to authenticate using SASL (unknown error)
[main-SendThread(zookeeper-1:2181)] INFO org.
我正在创建一个3节点Zookeeper集群和一个3节点Kafka集群。当我创建Zookeeper集群时,只创建了其中一个zookeeper节点,而对于其他两个节点中的每个节点,其他两个节点退出时都会出现以下错误:
zookeeper-3_1 | 2018-02-13 17:38:22,310 [myid:] - INFO [main:ServerCnxnFactory@117] - Using org.apache.zookeeper.server.NIOServerCnxnFactory as server connection factory
zookeeper-3_1 | 2018
我正在设置一个多节点的Apache集群,但似乎我的动物园管理员实例在相互通信时遇到了困难。
我将集群部署为一个码头群堆栈。我知道,根据,通过群集覆盖驱动程序建立网络是不受支持的。所以我要在所有接口上发布端口。然而,我的动物园管理员实例总是抛出这个异常:
EndOfStreamException: Unable to read additional data from client, it probably closed the socket: address = /127.0.0.1:{some_random_port}, session = 0x100fc7d362c0002
当我试图针对我
我做到了
docker-compose up
因为卡夫卡聚集在我的本地。
每当我想要制作主题时,检索我拥有的主题或搜索存储在我使用的主题中的数据。
docker run --net=host --rm confluentinc/cp-kafka:latest kafka-topics --describe --topic bar --zookeeper localhost:32181
这是在官方的kafka集群部署站点上。
不过,我真的很想在我当地的仓库里使用卡夫卡,而不是卡夫卡码头的形象。
kafka-topics --describe --topic bar --zookeeper loc