我正在浏览文档,查看多个地方,这增加了混乱..
关于属性 min.insync.replicas
当生产者将 acks 设置为“全部”(或“-1”)时,此配置指定必须确认写入才能将写入视为成功的最小副本数。如果无法满足此最小值,则生产者将引发异常(NotEnoughReplicas 或 NotEnoughReplicasAfterAppend)。当一起使用时,min.insync.replicas 和 acks 允许您强制执行更大的持久性保证。一个典型的场景是创建一个复制因子为 3 的主题,将 min.insync.replicas 设置为 2,并使用“all”的 acks 进行生产。如果大多数副本没有收到写入,这将确保生产者引发异常。
我提出的问题,
更新 #1 我遇到了这个短语
“当生产者指定 ack (-1 / all config) 时,它仍然会等待当时所有同步副本的 ack(独立于最小同步副本的设置)。因此,如果您在 4 个副本同步时发布那么除非所有 4 个副本都提交消息(即使最小同步副本配置为 2),否则您将不会收到确认。”
这句话是如何与今天相关的?这个属性“最小同步副本”是否仍然独立?
对于 Kubernetes 的命令式与声明式,我看到了多种不同的解释——比如命令式意味着当我们使用 yaml 文件来创建资源来描述状态,反之亦然。
这两者之间真正而明显的区别是什么。如果您可以将这组命令归入同一组,我将不胜感激-例如在命令式方式下创建等等..
我碰巧在 CDH 工作了很长时间(大约 1 年),现在打算重新开始。现在我们有 CDH、HDP 和 Hortonwork 被 Cloudera 收购。
cloudera hortonworks-data-platform cloudera-cdh cloudera-quickstart-vm hortonworks-sandbox
我正在浏览kafka文档并遇到了
保证
在高层次上,Kafka 提供了以下保证:
生产者发送到特定主题分区的消息将按发送顺序附加。也就是说,如果记录 M1 与记录 M2 由同一生产者发送,并且 M1 先发送,则 M1 的偏移量将低于 M2,并在日志中出现更早。消费者实例按照记录在日志中的存储顺序查看记录。对于复制因子为 N 的主题,我们最多可以容忍 N-1 个服务器故障,而不会丢失提交到日志的任何记录。
我有几个问题。
M1将具有比 更低的偏移量M2?如果M1重试晚于M2?通过附加到网络接口 test-net, sample-net,bridge0 运行容器时,我收到以下错误。我的要求是有一个容器可以连接到不同网络中的不同容器。
docker network create --driver bridge sample-net
docker container run --name c3 -d --network test-net alpine:latest ping 127.0.0.1
docker network create --driver bridge --subnet "10.1.0.0/16" test-net
docker container run --name c4 -d --network test-net alpine:latest ping 127.0.0.1
docker container run --name c1 -it --rm alpine:latest sh
docker container run --name c5 -d --network sample-net --network test-net --network docker0 alpine:latest ping 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
我的目的是通过连接到所有其他容器的接口将“c5”连接到它们的接口。但是,我在执行命令时遇到了错误
docker container run --name c5 -d --network sample-net --network test-net --network docker0 alpine:latest ping 127.0.0.1 …Run Code Online (Sandbox Code Playgroud) 在阅读卡夫卡权威指南时,我遇到了这句话
当key为空并且使用默认分区器时,记录将被随机发送到主题的可用分区之一。将使用循环算法来平衡分区之间的消息。
这是否意味着这仅适用于使用默认分区程序 ?
正如我从文档中了解到的,当一个节点出现故障时,弹性搜索会自动在所有其他节点上创建主分片或副本分片以解决该节点的故障。
但是,如果节点出现会发生什么情况——当机器出现时,在其他节点上创建的那些分片是否会“自动”删除——例如,在具有3 个节点的集群中,节点 1 包含索引 1 的1 个主分片,还有一个索引 2 的副本分片。如果节点 1 宕机,ES会在任一可用节点中自动创建主分片、副本分片
我正在浏览文档,对参数“max.in.flight.requests.per.connection”有点困惑
客户端在阻塞之前在单个连接上发送的未确认请求的最大数量。请注意,如果此设置设置为大于 1 并且存在发送失败的情况,则存在由于重试而导致消息重新排序的风险(即,如果启用了重试)。
短语“未确认的请求”是指每个生产者或每个连接或每个客户端?
我遇到了至少两种可能的方法来批量获取结果。
滚动API
分页 - From 、 Size 参数
根本的区别是什么?我假设#1 允许滚动记录,而#2 允许您一次获取一批记录。如果我只是使用不同的 From 、 Size 参数来驱动分页,是否有可能在不同批次中返回相同的记录?
我开始看到以下错误
[2020-06-12 20:09:01,324] ERROR [ReplicaManager broker=3] Error processing append operation on partition __consumer_offsets-10 (kafka.server.ReplicaManager)
org.apache.kafka.common.errors.NotEnoughReplicasException: The size of the current ISR Set(3) is insufficient to satisfy the min.isr requirement of 2 for partition __consumer_offsets-10
Run Code Online (Sandbox Code Playgroud)
我的设置是拥有三个经纪人,并且所有经纪人都已上线。在出现此错误之前我做了几件事
我在所有代理中将 min.isr 配置为 2。我创建了一个复制因子为 3 的主题,并开始从 ack = 1 且两个代理关闭的生产者生成消息。我召集了所有经纪人并开始消费。
几个事实
有趣的是,WRT 首选的领导者战略并未发生重新平衡
$ kafka-topics --zookeeper 127.0.0.1:2181 --topic stock-prices --describe
Topic: stock-prices PartitionCount: 3 ReplicationFactor: 3 Configs: min.insync.replicas=2
Topic: stock-prices Partition: 0 Leader: 1 Replicas: 1,3,2 Isr: 1,2,3
Topic: stock-prices Partition: 1 …Run Code Online (Sandbox Code Playgroud) 我很了解 Java,但是,前段时间使用过它。我遇到了一些新的东西,比如
打印。<String, String>toSysOut() .withLabel("source-stream")
Esp,突出显示部分,似乎 <String, String> 是 toSysOut() 的返回类型。大多数时候,我看到诸如
Printed.toSysOut().withLabel("source-stream")
什么样的表示法是,返回类型与引用运算符 (.)
我有以下设置 Brokers : 3 - 所有都启动并运行 min.insync.replicas=3。
我用以下配置创建了一个主题
bin\windows\kafka-topics --zookeeper 127.0.0.1:2181 --topic topic-ack-all --create --partitions 4 --replication-factor 3
我用“ack = all”触发了生产者,生产者能够发送消息。但是,当我启动消费者时问题就开始了
bin\windows\kafka-console-consumer --bootstrap-server localhost:9094,localhost:9092 --topic topic-ack-all --from-beginning
错误是
NotEnoughReplicasException: 当前 ISR Set(2) 的大小不足以满足 3 的 min.isr 要求 NotEnoughReplicasException: 当前 ISR Set(3) 的大小不足以满足分区 __con 的 min.isr 要求 3
我在这里看到两种错误。我浏览了文档,也对“min.isr”有所了解,但是,这些错误消息并不清楚。
更新 #1
Topic: topic-ack-all PartitionCount: 4 ReplicationFactor: 3 Configs:
Topic: topic-ack-all Partition: 0 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3
Topic: topic-ack-all Partition: 1 Leader: …Run Code Online (Sandbox Code Playgroud)