ApacheKafka分区,java

ApacheKafka分区,java,java,apache-kafka,Java,Apache Kafka,我对ApacheKafka非常陌生,我试图在向kafka发送字符串时进行kafka分区 我做错了什么?提前感谢。编辑3:唯一的问题是您必须创建多个分区,请参阅以下步骤。首先,我们为每个代理创建一个配置文件(在Windows上,改用copy命令) 现在编辑这些新文件并设置以下属性: config/server-1.properties: broker.id=1 listeners=PLAINTEXT://:9093 log.dir=/tmp/kafka-logs-1 c

我对ApacheKafka非常陌生,我试图在向kafka发送字符串时进行kafka分区


我做错了什么?提前感谢。

编辑3:唯一的问题是您必须创建多个分区,请参阅以下步骤。首先,我们为每个代理创建一个配置文件(在Windows上,改用copy命令)

现在编辑这些新文件并设置以下属性:

config/server-1.properties:
    broker.id=1
    listeners=PLAINTEXT://:9093
    log.dir=/tmp/kafka-logs-1

config/server-2.properties:
    broker.id=2
    listeners=PLAINTEXT://:9094
    log.dir=/tmp/kafka-logs-2
我们已经启动了Zookeeper和单个节点,因此我们只需要启动两个新节点:

> bin/kafka-server-start.sh config/server-1.properties &
> bin/kafka-server-start.sh config/server-2.properties &
现在创建一个新主题,复制因子为3,分区为3 它将解决这个问题:

> bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic my-replicated-topic

Kafka已经在运行了,如果我尝试不使用分区,它将运行顺利。如果查看堆栈跟踪,您将看到您的逻辑在sysout行中遇到了
NullPointerException
,因此看起来
元数据
为null。javadoc[1]说,如果出现异常,
元数据可以为null。因此,请正确检查
null
,如果存在类似于[2][1]:[2]中的异常,请打印异常:您是否使用分区创建了主题?“partitions.0”配置的目的是什么?@Mickelmaison根据您的示例,我得到org.apache.kafka.common.errors.TimeoutException:Batch Expired使用上述场景@gagansingh创建分区的任何特定方法??多个分区仍然可以在单个分区上工作broker@cricket_007谢谢你的澄清,我编辑了答案,
config/server-1.properties:
    broker.id=1
    listeners=PLAINTEXT://:9093
    log.dir=/tmp/kafka-logs-1

config/server-2.properties:
    broker.id=2
    listeners=PLAINTEXT://:9094
    log.dir=/tmp/kafka-logs-2
> bin/kafka-server-start.sh config/server-1.properties &
> bin/kafka-server-start.sh config/server-2.properties &
> bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic my-replicated-topic