我们在集群中构建了18台kafka机器,kafka版本是1.0,在linux机器上
目前我们有 3 个 Zookeeper 服务器,但我们不知道 3 个 Zookeeper 服务器是否足以容纳 18 台 Kafka 机器
请告知我们需要多少个 Zookeeper 服务器来为 18 台 Kafka 机器提供服务?
我有这个工作简单的 dockerfile。FROM openjdk:8-jdk-alpine WORKDIR /data COPY target/*.jar, myapp.jar ENTRYPOINT ["java","-jar",myapp.jar]
我在本地或管道中使用 maven 构建 jar,然后在此处使用该 .jar。我见过很多在 dockerfile 中安装 maven 的例子,而不是之前进行构建。这不是让图像变大了吗?这样做有什么好处吗?
有没有办法找到逻辑门或如何从想要的真值表中制作更复杂的门/位运算符我希望有这个真值表:
0 0 = 1
0 1 = 1
1 0 = 0
1 1 = 1
我尝试创建 Kafka 主题,但收到错误。
$ docker exec -ti kafka-server1 \
> /opt/bitnami/kafka/bin/kafka-topics.sh --create \
> --zookeeper zookeeper-server:2181 \
> --replication-factor 1 \
> --partitions 1 \
> --topic topic_model_local
Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option
at joptsimple.OptionException.unrecognizedOption(OptionException.java:108)
at joptsimple.OptionParser.handleLongOptionToken(OptionParser.java:510)
at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:56)
at joptsimple.OptionParser.parse(OptionParser.java:396)
at kafka.admin.TopicCommand$TopicCommandOptions.<init>(TopicCommand.scala:517)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:47)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
Run Code Online (Sandbox Code Playgroud) 我有一个从数据库返回的字符串数组需要解析:
x =“[标清、1G、2G、3G+]”
如果它们是整数我可以这样做:
json.loads(x) 并返回元素列表,但是由于它们是字符,我不能。
有一个简单的实现方法吗?
所需输出:['SD'、'1G'、'2G'、'3G+'](类型:列表)
我有两个字符串,我想比较彼此匹配的字符数。我想到的方法是使用 collections.Counter 构建一个以字符为键、显示频率为值的 Counter 对象,然后使用==
来比较是否匹配。但我的问题是,用于==
比较两个 Counter 对象是否有效?比较每个键和值是否都相同?
前任:
string_one = 'aaaaab'
string_two = 'aabaaa'
Counter(string_one) == Counter(string_two) # should be True
string_one = 'aaaaab'
string_two = 'aabaac'
Counter(string_one) == Counter(string_two) # should be False
Run Code Online (Sandbox Code Playgroud) 我有开始使用 Kafka 的用例,并且正在寻找开源免费(生产)kafka。
当检查Confluence 7.1平台看起来很合适时,因为它捆绑了zookeeper/kafka/schema注册表/kafka UI。
在决定继续之前,只想检查一下 Confluence Platform 7.1 是否免费且开源?我需要购买许可或付费支持吗?
我已经将 kafka 部署在 docker 容器中。
version: '3.8'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
Run Code Online (Sandbox Code Playgroud)
我在其中一个视频中看到 kafka 工具包存在于沿途的发行版中
/usr/bin
kafka 工具包不在该图像中的该位置
也许这个集合可以以某种方式安装,或者它是否存在于任何其他 kafka 映像中?
我正在尝试将 Helidon MP 应用程序中的 slf4j 日志消息发送到在端口 9092 上运行的 Kafka 服务器。我有以下类作为示例:
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class Service {
private final ConfigProvider configProvider;
@Inject
public Service(ConfigProvider configProvider) {
this.configProvider = configProvider;
}
public String getString() {
String msg = String.format("%s %s !", configProvider.getString());
log.info("Entered getString() method");
return msg;
}
}
Run Code Online (Sandbox Code Playgroud)
我还有一个logging.xml文件,它将Appender指定为KafkaAppender:
<Configuration>
<Appenders>
<Kafka name="KafkaAppender" topic="app-logs"
syncSend="false">
<Property name="bootstrap.servers"
value="localhost:9092"/>
</Kafka>
</Appenders>
<Loggers>
<Logger name="org.apache.kafka" level="WARN"/> <!-- avoid recursive logging -->
<Root level="INFO">
<AppenderRef ref="KafkaAppender"/>
</Root>
</Loggers>
</Configuration>
Run Code Online (Sandbox Code Playgroud)
但是,当我运行该应用程序时,出现以下错误:
2022-11-28 14:23:17,358 main …
Run Code Online (Sandbox Code Playgroud)