问候,
我正在评估多数据中心分布式系统的一些组件.我们将使用消息队列(通过RabbitMQ或Qpid),因此代理可以向其他代理发出异步请求,而无需担心寻址,路由,负载平衡或重新传输.
在许多情况下,代理将与非高度并发访问的组件进行交互,因此需要锁定和跨代理协调以避免竞争条件.此外,我们希望系统能够自动响应代理或数据中心故障.
考虑到上述用例,ZooKeeper似乎很适合.但我想知道是否尝试使用ZK和消息排队是否有点过分.似乎Zookeeper所做的事情可以由我自己的集群管理器使用AMQP消息传递完成,但这很难真正做到.另一方面,我已经看到一些使用ZooKeeper实现消息队列的例子,但我认为RabbitMQ/Qpid更适合这种情况.
有没有人使用这样的组合?
提前致谢,
-克里斯
locking message-queue distributed-system rabbitmq apache-zookeeper
我的法定人数中有三台服务器.他们正在运行ZooKeeper 3.4.5.根据输出结果,其中两个似乎运行正常mntr.其中一个由于部署而在几天前重新启动,从那时起就无法加入法定人数.日志中突出的一些行是:
2014-03-03 18:44:40,995 [myid:1] - INFO [main:QuorumPeer@429] - currentEpoch not found! Creating with a reasonable default of 0. This should only happen when you are upgrading your installation
Run Code Online (Sandbox Code Playgroud)
和:
2014-03-03 18:44:41,233 [myid:1] - INFO [QuorumPeer[myid=1]/0.0.0.0:2181:QuorumCnxManager@190] - Have smaller server identifier, so dropping the connection: (2, 1)
2014-03-03 18:44:41,234 [myid:1] - INFO [QuorumPeer[myid=1]/0.0.0.0:2181:QuorumCnxManager@190] - Have smaller server identifier, so dropping the connection: (3, 1)
2014-03-03 18:44:41,235 [myid:1] - INFO [QuorumPeer[myid=1]/0.0.0.0:2181:FastLeaderElection@774] - Notification time out: 400
Run Code Online (Sandbox Code Playgroud)
谷歌搜索第一个('currentEpoch not found!')让我去了JIRA …
我在多个资源中找到了不同的zookeeper定义.也许其中一些是脱离背景,但看看它们:
我曾与Redis和Hazelcast合作,通过与Zookeeper进行比较,我更容易理解Zookeeper.
你能比较Zookeeper与内存数据网格和Redis吗?
我安装了Cassandra集群和Zookeeper服务器.现在我想使用zookeeper支持cassandra中的事务.我怎么做.
Zookeeper创建znode以执行读取和写入操作,数据来回通过Zookeeper中的znode.我想知道如何使用Zookeeper支持cassandra中的回滚和提交功能.有没有什么办法可以在cassandra中的zookeeper或zookeeper配置中指定cassandra配置.
我个人知道cassandra和zookeeper如何读取和写入数据,但我不知道如何使用Java集成它们.
我们如何使用Zookeeper在Cassandra进行交易.
谢谢.
我试图理解Apache ZooKeeper在裂脑情况下的内部工作原理.假设有一个由5个服务器组成的集群:A,B,C,D和E,其中A是领导者.现在假设子集群{A,B}与子集群{C,D,E}分离.
在这种情况下,子集群{C,D,E}可以选出新的领导者并且可以取得进展.另一方面,{A,B}无法取得进展,因为没有大多数节点可以确认更新.
我在想:
老领导A会发生什么?我希望它失去领导力,但这是怎么发生的?活跃的领导者会定期检查以确保其拥有大多数粉丝?
连接到A和B的客户会发生什么?它们是否会自动重定向到仍然可以取得进展的服务器之一(C,D或E).或者更确切地说,他们被A或B困住,直到裂脑情况得到治愈并且整个集群重新连接?
谢谢,加布里埃尔
系统:
EC2实例类型:m5.2xlarge
操作系统:Ubuntu 14.04.5 LTS
内核版本:4.4.0-1022-aws
vCPU:8内核
内存:32Gib
Java版本:1.8.0_171
我们在集群模式下运行KAFKA,有两个kafka代理(10.0.51.1和10.0.51.2)和三个zookeeper节点.我想升级我的AWS EC2实例,所以我跑sudo apt-get update,并sudo apt-get upgrade和安装linux-aws内核.更改实例类型后,我开始在10.0.51.2 kafka borker中收到以下错误:
18/06/08 07:03:50 52902420 [kafka-network-thread-9092-0] ERROR kafka.network.Processor - Closing socket for /10.0.51.1 because of error
kafka.common.KafkaException: Wrong request type 18
at kafka.api.RequestKeys$.deserializerForKey(RequestKeys.scala:64)
at kafka.network.RequestChannel$Request.<init>(RequestChannel.scala:50)
at kafka.network.Processor.read(SocketServer.scala:450)
at kafka.network.Processor.run(SocketServer.scala:340)
at java.lang.Thread.run(Thread.java:748)
18/06/08 07:03:50 52902571 [kafka-network-thread-9092-2] ERROR kafka.network.Processor - Closing socket for /10.0.51.1 because of error
kafka.common.KafkaException: Wrong request type 16
at kafka.api.RequestKeys$.deserializerForKey(RequestKeys.scala:64)
at kafka.network.RequestChannel$Request.<init>(RequestChannel.scala:50)
at kafka.network.Processor.read(SocketServer.scala:450)
at kafka.network.Processor.run(SocketServer.scala:340) …Run Code Online (Sandbox Code Playgroud) amazon-ec2 amazon-web-services apache-kafka apache-zookeeper
I have been try to run Zookeeper and Kafka on Docker container.
I got a lot of errors [error occurred during error reporting , id 0xb] and [Too many errors, abort] in my terminal. And then library initialization failed - unable to allocate file descriptor table - out of memory.
I use the following docker-compose.yml file
version: "3.8"
services:
zookeeper:
image: confluentinc/cp-zookeeper:5.5.4
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
kafka:
image: confluentinc/cp-kafka:5.5.4
# If you want to expose these ports outside …Run Code Online (Sandbox Code Playgroud) 我从Kafka下载页面下载了Apache Kafka.我把它提取到了/opt/apache/installed/kafka-0.7.0-incubating-src.
该快速入门页面说,你需要通过运行来启动饲养员,然后开始卡夫卡:
>bin/kafka-server-start.sh config/server.properties
我正在使用单独的Zookeeper服务器,因此我编辑config/server.properties指向该Zookeeper实例.
当我按照快速入门页面中的说明运行Kafka时,我收到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: kafka/Kafka
Caused by: java.lang.ClassNotFoundException: kafka.Kafka
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: kafka.Kafka. Program will exit.
Run Code Online (Sandbox Code Playgroud)
我使用telnet确保可以从Kafka运行的机器访问Zookeeper实例.一切都好.
为什么我会收到此错误?
我最近在单节点CDH 5设置上设置了Kafka,目的是在移动到真实集群之前在单个节点上播放它.最初,我刚用kafka服务器启动了zookeeper服务器,一切都很好.我可以看到zookeeper在2181运行,而Kafka在9092运行.然后我创建了一个主题,并启动了消费者和生产者,消费者可以看到生产者发送的消息.
幸福的是,我带着动物园管理员的日志搬到了标签,看到了这个:
[2015-05-27 16:46:07,016] INFO Got user-level KeeperException when processing sessionid:0x14d97bf0a020002 type:create cxid:0x2 zxid:0x1f txntype:-1 reqpath:n/a Error Path:/consumers/test-consumer-group/ids Error:KeeperErrorCode = NoNode for /consumers/test-consumer-group/ids (org.apache.zookeeper.server.PrepRequestProcessor)
[2015-05-27 16:46:07,021] INFO Got user-level KeeperException when processing sessionid:0x14d97bf0a020002 type:create cxid:0x3 zxid:0x20 txntype:-1 reqpath:n/a Error Path:/consumers/test-consumer-group Error:KeeperErrorCode = NoNode for /consumers/test-consumer-group (org.apache.zookeeper.server.PrepRequestProcessor)
[2015-05-27 16:46:07,306] INFO Got user-level KeeperException when processing sessionid:0x14d97bf0a020002 type:create cxid:0x19 zxid:0x24 txntype:-1 reqpath:n/a Error Path:/consumers/test-consumer-group/owners/test Error:KeeperErrorCode = NoNode for /consumers/test-consumer-group/owners/test (org.apache.zookeeper.server.PrepRequestProcessor)
[2015-05-27 16:46:07,307] INFO Got user-level KeeperException when processing sessionid:0x14d97bf0a020002 type:create cxid:0x1a …Run Code Online (Sandbox Code Playgroud) 当我启动kafka时,zookeeper发生错误.
INFO Got user-level KeeperException when processing sessionid:0x156028651c00001 type:delete cxid:0x1b zxid:0x59 txntype:-1 reqpath:n/a Error Path:/admin/preferred_replica_election Error:KeeperErrorCode = NoNode for /admin/preferred_replica_election (org.apache.zookeeper.server.PrepRequestProcessor)
Run Code Online (Sandbox Code Playgroud) apache-zookeeper ×10
apache-kafka ×5
amazon-ec2 ×1
cassandra ×1
docker ×1
hazelcast ×1
locking ×1
rabbitmq ×1
redis ×1