标签: apache-zookeeper

分布式系统什么时候需要ZooKeeper

为什么像 Solr 或 Kafka 这样的分布式系统需要 ZooKeeper,而像 Cassandra 这样的分布式系统不需要呢?

solr cassandra apache-zookeeper

1
推荐指数
1
解决办法
3167
查看次数

服务注册和发现之间的区别

想了解Zookeeper中的ServiceRegistry和Discovery在微服务方面的区别

microservices apache-zookeeper apache-curator

1
推荐指数
1
解决办法
980
查看次数

启动 Kafka 时出错

我在相关节点上运行了 Zookeeper 守护进程,并尝试启动 kafka 代理,但出现以下错误:

FATAL [Kafka Server 13], Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
java.lang.NumberFormatException: For input string: "2181""
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)
    at java.lang.Integer.parseInt(Integer.java:527)
    at org.apache.zookeeper.client.ConnectStringParser.<init>(ConnectStringParser.java:72)
    at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:443)
    at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:380)
    at org.I0Itec.zkclient.ZkConnection.connect(ZkConnection.java:64)
    at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876)
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:98)
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:84)
    at kafka.server.KafkaServer.initZk(KafkaServer.scala:157)
    at kafka.server.KafkaServer.startup(KafkaServer.scala:82)
    at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:29)
    at kafka.Kafka$.main(Kafka.scala:46)
    at kafka.Kafka.main(Kafka.scala)
Run Code Online (Sandbox Code Playgroud)

我的服务器属性

broker.id=13
port=9092
host.name=node013
num.network.threads=3
num.io.threads=8
zookeeper.connect="node014:2181,node135:2181,node136:2181"
zookeeper.connection.timeout.ms=6000
Run Code Online (Sandbox Code Playgroud)

和zookeeper.properties

dataDir=/tmp/zookeeper
clientPort=2181
maxClientCnxns=0
Run Code Online (Sandbox Code Playgroud)

我已尝试但未能弄清楚为什么错误日志在端口属性中显示额外的“。知道可能导致问题的原因吗?

apache-kafka apache-zookeeper

1
推荐指数
1
解决办法
3067
查看次数

在 Zookeeper 集群中重新添加丢失的 Clickhouse 副本

我们之前有三个 Clickhouse 节点在 Zookeeper 中完美同步,直到其中一个节点丢失。

Clickhouse 节点完全按照以前的方式重建(使用 Ansible),并create table运行相同的命令,导致出现以下错误。

命令:

CREATE TABLE ontime_replica ( ... )
ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/ontime_replica', '{replica}', FlightDate, (Year, FlightDate), 8192)
Run Code Online (Sandbox Code Playgroud)

错误是:

Received exception from server:
Code: 253. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Replica /clickhouse/tables/01/ontime_replica/replicas/clickhouse1 already exists..
Run Code Online (Sandbox Code Playgroud)

我们目前使用的是 Zookeeper 版本 3.4.10,我想知道是否有办法删除 Zookeeper 中的现有副本,或者简单地让 Zookeeper 知道这是现有副本的新版本。

先感谢您!

apache-zookeeper clickhouse

1
推荐指数
1
解决办法
5147
查看次数

ERROR 无效配置,Kafka集群异常退出

我有三个不同的节点,每个节点上都有 docker 和 Ubuntu。我可以在本地docker上运行zookeeper服务器(我的意思是没有任何集群配置),但我想用这三个节点创建kafka集群;事实上,我在每个节点上安装了 docker,并加载了 Ubuntu。我"zookeeper.properties"在 docker 环境中配置“150.20.11.157”,如下所示:

dataDir=/tmp/zookeeper/data
tickTime=2000
initLimit=10
syncLimit=5
server.1=0.0.0.0:2888:3888
server.2=150.20.11.134:2888:3888
server.3=150.20.11.137:2888:3888
clientPort=2186
Run Code Online (Sandbox Code Playgroud)

对于节点150.20.11.134,docker环境中的“zookeeper.properties”文件是这样的:

dataDir=/tmp/zookeeper/data
tickTime=2000
initLimit=10
syncLimit=5
server.1=150.20.11.157:2888:3888
server.2=0.0.0.0:2888:3888
server.3=150.20.11.137:2888:3888
clientPort=2186
Run Code Online (Sandbox Code Playgroud)

对于节点150.20.11.137,docker环境中的“zookeeper.properties”文件是这样的:

dataDir=/tmp/zookeeper/data
tickTime=2000
initLimit=10
syncLimit=5
server.1=150.20.11.157:2888:3888
server.2=150.20.11.134:2888:3888
server.3=0.0.0.0:2888:3888
clientPort=2186
Run Code Online (Sandbox Code Playgroud)

另外,我为节点 150.20.11.157 设置“server.properties”:

broker.id=0
port=9092
listeners = PLAINTEXT://150.20.11.157:9092
log.dirs=/tmp/kafka-logs 
zookeeper.connect=150.20.11.157:2186,150.20.11.134:2186,
150.20.11.137:2186
Run Code Online (Sandbox Code Playgroud)

节点 150.20.11.134 的“server.properties”为:

broker.id=1
port=9092
listeners = PLAINTEXT://150.20.11.134:9092
log.dirs=/tmp/kafka-logs 
zookeeper.connect=150.20.11.157:2186,150.20.11.134:2186,
150.20.11.137:2186
Run Code Online (Sandbox Code Playgroud)

节点 150.20.11.137 的“server.properties”为:

broker.id=2
port=9092
listeners = PLAINTEXT://150.20.11.137:9092
log.dirs=/tmp/kafka-logs 
zookeeper.connect=150.20.11.157:2186,150.20.11.134:2186,
150.20.11.137:2186
Run Code Online (Sandbox Code Playgroud)

问题是当我在每个节点的docker上运行zookeeper服务器时。我收到此错误:

[2019-01-16 12:45:54,588] 信息 从以下位置读取配置:./config/zookeeper.properties
(org.apache.zookeeper.server.quorum.QuorumPeerConfig)

[2019-01-16 12:45:54,601] INFO 解析主机名:172.28.10.137 到地址:/172.28.10.137 …

apache-kafka docker apache-zookeeper

1
推荐指数
1
解决办法
5217
查看次数

如何使用 kafka 扩展 Zookeeper

我正在致力于在 Prod 中扩展 kafka 集群。Confluence 提供了添加 kafka 代理的简单方法。但是,我如何知道如何与 Kafka 一起扩展 Zookeeper。比例应该是多少?现在我们有 5 个 Zookeeper 节点用于 5 个 kafka 代理。如果我有 10 个 kafka 代理,应该有多少个 Zookeeper 节点?

apache-kafka apache-zookeeper

1
推荐指数
1
解决办法
2061
查看次数

无法使用 Ansible 和 Docker 启动 Replicated ZooKeeper

我已经能够在独立模式下使用 Docker 部署 ZooKeeper,运行单个 ZooKeeper 容器,但我现在尝试使用 Ansible 部署三个容器化 ZooKeeper,并且似乎无法让系统以复制模式启动。

我正在使用受良好支持的Docker 版本的 ZooKeeper,并尝试按照文档的建议设置ZOO_MY_IDZOO_SERVERS,尽管在尝试部署容器时它们很快就会失败并出现错误Invalid config,并且似乎还没有设置myid复制所需的变量模式。

错误的形式如下,您还会看到其他一些服务器的地址无法解析(尽管我可以很好地通过 ssh 进入这些机器,并且 Ansible 成功部署到每台机器 - 只是容器被卡住了)陷入崩溃循环)。

从泊坞窗日志:

Using config: /conf/zoo.cfg
2019-08-22 07:07:22,188 [myid:] - INFO  [main:QuorumPeerConfig@133] - Reading configuration from: /conf/zoo.cfg
2019-08-22 07:07:22,192 [myid:] - INFO  [main:QuorumPeerConfig@375] - clientPort is not set
2019-08-22 07:07:22,192 [myid:] - INFO  [main:QuorumPeerConfig@389] - secureClientPort is not set
2019-08-22 07:07:22,198 [myid:] - ERROR [main:QuorumPeerMain@89] - Invalid config, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Address …
Run Code Online (Sandbox Code Playgroud)

ansible docker apache-zookeeper

1
推荐指数
1
解决办法
1336
查看次数

在新的 Kafka 版本中移除 Zookeeper

我听说 Kafka 将在即将发布的版本中移除 Zookeeper。

到目前为止,Kafka 使用 Zookeeper 来处理元数据、选择控制器以及协调代理和集群拓扑。

我很好奇Kafka将如何在没有zookeeper的情况下处理zookeeper的角色。

我想知道没有zookeeper的Kafka内部的逻辑。

apache-kafka apache-zookeeper

1
推荐指数
1
解决办法
2327
查看次数

如何配置zookeeper的java堆大小?

我正在尝试在 Ubuntu 18.04LTS Azure VM 上设置 Zookeeper 3.4.10。

根据ZooKeeper 管理员指南 “Java 堆大小不正确。您应该特别注意正确设置 Java 最大堆大小。特别是,您不应该造成 ZooKeeper 交换到磁盘的情况...”

该指南没有给出如何设置最大堆大小的说明。我已经做了一些搜索,并找到了在 Zookeeper/conf 目录中创建 java.env 的建议。我已经做到了这一点,并尝试使用我在研究过程中发现的两种不同方法来设置变量:

尝试#1:

export JVMFLAGS="-Xmx6144m"
Run Code Online (Sandbox Code Playgroud)

尝试#2

#!/bin/bash
export CLASSPATH="~/zookeeper-3.4.10/conf/log4j.properties"
export JVMFLAGS="-Xmx6144m"
Run Code Online (Sandbox Code Playgroud)

进行这些更改并重新启动 Zookeeper 后,我使用以下命令检查了 Java 堆大小:

java -XshowSettings:vm
Run Code Online (Sandbox Code Playgroud)

并且最大堆大小没有改变。

为 Zookeeper 配置最大堆的正确步骤是什么?

java apache-zookeeper

1
推荐指数
1
解决办法
6942
查看次数

庞大的 kafka 集群需要多少个 Zookeeper 服务器

我们在集群中构建了18台kafka机器,kafka版本是1.0,在linux机器上

目前我们有 3 个 Zookeeper 服务器,但我们不知道 3 个 Zookeeper 服务器是否足以容纳 18 台 Kafka 机器

请告知我们需要多少个 Zookeeper 服务器来为 18 台 Kafka 机器提供服务?

apache-kafka apache-zookeeper

1
推荐指数
1
解决办法
2459
查看次数