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. 输入一个正整数n,生成一张2的乘方表,输出2*0—2*n的值。

    #include<stdio.h>#include<math.h> //程序中调用幂函数pow(),需包含头文件math.h//void main(){ int i,n; pr ...

  2. 持续集成学习8 jenkins权限控制

    一.总体配置 1.系统管理---> Configure Global Security 2.配置基于角色授权 创建角色 ----> 分配角色 代表着所有以dev-开头的 job全部都分配给 ...

  3. 又一款dump文件观察工具---MiniDumpView

    简介 MiniDumpView实用程序可用于显示minidump中数据流的内容.特别是,可以显示以下信息: 操作系统和CPU信息 进程信息(进程ID和时间) 模块列表(包含每个模块的详细信息) 线程列 ...

  4. Linux 重启 PHP-FPM 命令

    1. 停止命令 pkill php-fpm 2.重启或启动命令 php-fpm -R

  5. GoCN每日新闻(2019-10-15)

    GoCN每日新闻(2019-10-15) GoCN每日新闻(2019-10-15) 1. Go Module 存在的意义与解决的问题 https://www.ardanlabs.com/blog/20 ...

  6. C Primer Plus--位操作

    位字段 bit field 位字段是一个signed int或者unsigned int中一组相邻的位.位字段由一个结构声明建立,该结构声明为每个字段提供标签,并决定字段的宽度. struct p { ...

  7. Myschool试题

    题目: 1.查询所有学生记录,包含年级名称2.查询S1年级下的学生记录 一.com.myschool.dao 1 BaseDao package com.myschool.dao; import ja ...

  8. Jmeter(十七)_jmeter与java_selenium自动化

    Jmeter可以通过WebDriver来完成UI自动化测试,也可以测试浏览器端对系统的压力,需要以下jiar包 基本配置 1:下载JMeterPlugins-WebDriver-1.3.1.zip,解 ...

  9. Net core学习系列(二)——Net Core项目文件简介

    一. ASP.NET Core 项目文件夹解读 ASP.NET Core 1.0 发布以来,相较于传统项目编码发布的行为,新项目中的操作已经有了很大的变化,如解析依赖,选择运行平台和Runtime等等 ...

  10. delete、truncate、drop三种删除语句联系与区别

    相同点: 1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交. 不同点: 1. t ...