有多个代码示例(其中一个是here),其中实现了KafkaProducer和KafkaConsumers并可单独启动。
我试图找到启动经纪人的代码?
我认为Zookeeper不是KafkaBroker,因为Zookeeper用于其他目的..管理集群状态。
在创建KafkaProducer时,我们传入
之类的属性props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, IKafkaConstants.KAFKA_BROKERS);
这是否意味着KafkaProducer会自行启动代理?
答案 0 :(得分:2)
Zookeeper负责管理Kafka经纪人的协调和同步,它们是独立的组件。
生产者未启动代理。生产者和消费者是客户端组件,它们连接一个或多个Kafka经纪人,并在经纪人集群之间产生/消费数据。
通常通过运行kafka/bin/kafka-server-start.sh kafka/config/server.properties
来启动Kafka代理,这将启动一个具有server.properties
文件中定义的属性的Kafka代理。
答案 1 :(得分:2)
重要的是要先弄清楚概念:
Kafka经纪人 =一个kafka实例启动,我的意思是从(https://kafka.apache.org/downloads)开始下载应用程序
Zookeeper =在这种特定情况下,您实际上是集群的协调者,您可以使用zookeeper在kafka上启动多个实例并进行集群。
Kafka Producer =负责将消息发送到特定kafka主题的任何应用程序(实现kafka库),例如队列。
Kafka使用者 =负责获取和处理kafka集群消息的任何应用程序(实现kafka库)。
对于启动kafka,您首先设置系统环境(可选),然后执行以下命令:
nohup zookeeper-server-start.sh $ KAFKA_HOME / config / zookeeper.properties&
nohup kafka-server-start.sh $ KAFKA_HOME / config / server.properties&