1.目标

在这个Apache Kafka教程中,我们将学习Kafka Broker。Kafka Broker管理主题中的消息存储。如果Apache Kafka有多个代理,那就是我们所说的Kafka集群。此外,在本Kafka Broker教程中,我们将学习如何启动Kafka Broker和Kafka命令行选项。
那么,让我们开始Apache Kafka Broker。

Kafka Broker | 命令行选项和过程

2.什么是Kafa经纪人?

Kafka代理也称为Kafka服务器和Kafka节点。这些所有名称都是它的同义词。简单来说,经纪人是两者之间的中介。但是,Kafka经纪人更准确地描述为消息代理,它负责调解不同计算机系统之间的对话,保证将消息传递给正确的各方。
阅读Apache Kafka Security | Kafka的需求和组件
因此,Kafka集群通常由多个代理组成。Kafka Cluster使用Zookeeper来维护集群状态。单个Broker每秒可以处理数千次读写操作。 然而,如果没有性能影响,每个代理都可以处理TB消息。另外,要非常肯定ZooKeeper会执行经纪人领袖选举。

经纪人在卡夫卡的工作

基本上,Kafka中的经纪人被建模为主持主题的KafkaServer。在这里,给定的主题总是在代理之间进行分区,在集群中,单个代理实际上托管一个或多个主题的主题分区,即使主题仅分区到单个分区也是如此。
了解Apache Kafka Consumer | Kafka Consumer的示例
此外,生产者在收到经纪人将其存储在由唯一偏移量键入的磁盘上后,向代理发送消息。此外,通过主题,分区和偏移,代理允许消费者获取消息。但是,代理可以通过使用Zookeeper直接或间接地相互共享信息来创建群集。此外,我们可以说Kafka集群只有一个代理作为控制器。通过使用kafka-server-start.sh脚本,我们可以启动一个Kafka经纪人。

3.如何启动Kafka Broker?

  • 启动Zookeeper。
  1. ./bin/zookeeper-server-start.sh config / zookeeper.properties

我们可以启动一个Kafka服务器,只有当Zookeeper启动并运行时(它将连接到Zookeeper)。

  1. ./bin/kafka-server-start.sh config / server.properties
  2. kafka-server-start.sh脚本

因此,kafka-server-start.sh 启动经纪人。

  1. $ ./bin/kafka-server-start.sh
  2. 用法:./ bin / kafka-server-start.sh [ -daemon ] server.properties [ --override property = value ] *

注意 -在运行kafka-server-start.sh 之前,请确保Zookeeper已启动并运行。而且,使用zookeeper-server-start shell脚本。
看看Apache Kafka + Spark Streaming Integration
kafka-server-start.sh 使用config / log4j.properties来记录我们可以使用KAFKA_LOG4J_OPTS 环境变量覆盖的配置。

  1. KAFKA_LOG4J_OPTS = “ - Dlog4j.configuration = file:config / log4j.properties”

kafka-server-start.sh 接受KAFKA_HEAP_OPTS和EXTRA_ARGS 环境变量。

4.卡夫卡命令行选项

-name 
在守护进程模式下默认为kafkaServer。
-loggc 
在守护进程模式下启用。
-daemon 
启用守护程序模式。
-override property = value 
应覆盖server.properties文件中为property设置的值的值。
让我们修改Apache Kafka Streams | 流处理拓扑

  1. $ ./bin/kafka-server-start.sh config / server.properties --override broker.id = 100
  2. ...
  3. 信息[ KafkaServer id = 100 ]已启动(kafka.server.KafkaServer )

5.结论

因此,我们已经学习了完整的Kafka Broker以及启动它的命令。但是,如果有任何疑问,请随时在评论部分询问。
另请参阅 -  
Kafka-序列化和反序列化以

Kafka Broker | 命令行选项和过程的更多相关文章

  1. pytest 常用命令行选项(二)

    本文接上篇继续简介pytest常用的命令行选项. 8.-v(--verbose) 选项 使用-v/--verbose选项,输出的信息会更详细.最明显的区别就是每个文件中的每个测试用例都占一行,测试的名 ...

  2. 命令行选项解析函数(C语言):getopt()和getopt_long()

    命令行选项解析函数(C语言):getopt()和getopt_long() 上午在看源码项目webbench时,刚开始就被一个似乎挺陌生函数getopt_long()给卡住了,说实话这函数没怎么见过, ...

  3. NUnit-Console 命令行选项详解

    本文为 Dennis Gao 原创或翻译技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. NUnit-Console 命令行选项 NUnit-Console 命令行选项列表 指定运行哪 ...

  4. python argparse模块解析命令行选项简单使用

    argparse模块的解析命令行选项简单使用 util.py #!/usr/bin/env python # coding=utf-8 import argparse parser = argpars ...

  5. argparse - 命令行选项与参数解析(转)

    argparse - 命令行选项与参数解析(译)Mar 30, 2013 原文:argparse – Command line option and argument parsing 译者:young ...

  6. 命令行选项 - Mozilla 产品与私有技术 | MDN - Google Chrome

    命令行选项 在本文章中 语法规则 使用命令行选项 示例 用户配置档 -CreateProfile profile_name -CreateProfile "profile_name prof ...

  7. LoadRunner 11安装Micosoft Visual C++ 2005 SP1时提示命令行选项语法错误

    如果安装LoadRunner 11时弹窗提示"Micosoft Visual C++ 2005 SP1 可再发行组件包(X86):'命令行选项语法错误.键入命令 / ? 可获得帮助信息'&q ...

  8. pytest 常用命令行选项(一)

    pytest有丰富的命令行选项,以满足不同的需要,下面对常用的命令行选项作下简单介绍.  上文已经使用过-v选项,还有很多选项,你可以使用pytest --help查看全部选项.如下图: 1.--co ...

  9. 安装loadrunner时出现”命令行选项语法错误键入命令 \?获得帮助“的解决方法

    安装LR11 时,安装Microsoft Visual c++2005 sp1运行时组件,就会提示命令行选项语法错误,键入“命令/?”可获取帮肋信息1.进入loadrunner-11\Addition ...

随机推荐

  1. 转储Active Directory数据库

    获取Windows域控所有用户hash: 参考:3gstudent 方法1: 复制ntds.dit: 使用NinjaCopy,https://github.com/3gstudent/NinjaCop ...

  2. ssh2

    UserBiz public interface UserBiz { public List<User> list(User user); public int add(User user ...

  3. JS全局变量是如何工作的?

    JS全局变量是如何工作的? <script> const one = 1; var two = 2; </script> <script> // All scrip ...

  4. SQL基础-创建新的输出字段

    一.创建新的输出字段 1.建表.插数据 ### CREATE TABLE `t_stock_trans_dtl` ( `trans_id` varchar(100) NOT NULL COMMENT ...

  5. 64、Spark Streaming:StreamingContext初始化与Receiver启动原理剖析与源码分析

    一.StreamingContext源码分析 ###入口 org.apache.spark.streaming/StreamingContext.scala /** * 在创建和完成StreamCon ...

  6. js MD5加密与 java MD5加密不一致

    因为该项目会部署到多台机器,所以需要用字符生成唯一的MD5,但是js生成的MD5和java生成的MD5不一致.经过博主查阅资料发现java生成MD5用的是utf-8的编码,而且js用的是2进制.那我就 ...

  7. mysql ltrim() 函数

    mysql> select " dedede"; +----------+ | dedede | +----------+ | dedede | +----------+ r ...

  8. DML 语言

    数据操纵语言(Data Manipulation Language, DML)是SQL语言中,负责对数据库对象运行数据访问工作的指令集. 以INSERT.UPDATE.DELETE三种指令为核心,分别 ...

  9. docker删除镜像的时候报错--image has dependent child images

    背景 偶然间发现服务器上有很多镜像占用不少空间,想清理一下.结果直接进行删除报错: docker rmi 8f5116cbc201 Error response from daemon: confli ...

  10. Spring Boot-intellij idea导入方式搭建SpringBoot

    Spring Boot概念 从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用.简便起见,该框架也提供了命令行界面,它可以用来运行和测试Boot应用.框架的发布版 ...