Kafka Broker | 命令行选项和过程
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。
- ./bin/zookeeper-server-start.sh config / zookeeper.properties
我们可以启动一个Kafka服务器,只有当Zookeeper启动并运行时(它将连接到Zookeeper)。
- ./bin/kafka-server-start.sh config / server.properties
- kafka-server-start.sh脚本
因此,kafka-server-start.sh 启动经纪人。
- $ ./bin/kafka-server-start.sh
- 用法:./ 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 环境变量覆盖的配置。
- 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 | 流处理拓扑
- $ ./bin/kafka-server-start.sh config / server.properties --override broker.id = 100
- ...
- 信息[ KafkaServer id = 100 ]已启动(kafka.server.KafkaServer )
5.结论
因此,我们已经学习了完整的Kafka Broker以及启动它的命令。但是,如果有任何疑问,请随时在评论部分询问。
另请参阅 -
Kafka-序列化和反序列化以
Kafka Broker | 命令行选项和过程的更多相关文章
- pytest 常用命令行选项(二)
本文接上篇继续简介pytest常用的命令行选项. 8.-v(--verbose) 选项 使用-v/--verbose选项,输出的信息会更详细.最明显的区别就是每个文件中的每个测试用例都占一行,测试的名 ...
- 命令行选项解析函数(C语言):getopt()和getopt_long()
命令行选项解析函数(C语言):getopt()和getopt_long() 上午在看源码项目webbench时,刚开始就被一个似乎挺陌生函数getopt_long()给卡住了,说实话这函数没怎么见过, ...
- NUnit-Console 命令行选项详解
本文为 Dennis Gao 原创或翻译技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. NUnit-Console 命令行选项 NUnit-Console 命令行选项列表 指定运行哪 ...
- python argparse模块解析命令行选项简单使用
argparse模块的解析命令行选项简单使用 util.py #!/usr/bin/env python # coding=utf-8 import argparse parser = argpars ...
- argparse - 命令行选项与参数解析(转)
argparse - 命令行选项与参数解析(译)Mar 30, 2013 原文:argparse – Command line option and argument parsing 译者:young ...
- 命令行选项 - Mozilla 产品与私有技术 | MDN - Google Chrome
命令行选项 在本文章中 语法规则 使用命令行选项 示例 用户配置档 -CreateProfile profile_name -CreateProfile "profile_name prof ...
- LoadRunner 11安装Micosoft Visual C++ 2005 SP1时提示命令行选项语法错误
如果安装LoadRunner 11时弹窗提示"Micosoft Visual C++ 2005 SP1 可再发行组件包(X86):'命令行选项语法错误.键入命令 / ? 可获得帮助信息'&q ...
- pytest 常用命令行选项(一)
pytest有丰富的命令行选项,以满足不同的需要,下面对常用的命令行选项作下简单介绍. 上文已经使用过-v选项,还有很多选项,你可以使用pytest --help查看全部选项.如下图: 1.--co ...
- 安装loadrunner时出现”命令行选项语法错误键入命令 \?获得帮助“的解决方法
安装LR11 时,安装Microsoft Visual c++2005 sp1运行时组件,就会提示命令行选项语法错误,键入“命令/?”可获取帮肋信息1.进入loadrunner-11\Addition ...
随机推荐
- 转储Active Directory数据库
获取Windows域控所有用户hash: 参考:3gstudent 方法1: 复制ntds.dit: 使用NinjaCopy,https://github.com/3gstudent/NinjaCop ...
- ssh2
UserBiz public interface UserBiz { public List<User> list(User user); public int add(User user ...
- JS全局变量是如何工作的?
JS全局变量是如何工作的? <script> const one = 1; var two = 2; </script> <script> // All scrip ...
- SQL基础-创建新的输出字段
一.创建新的输出字段 1.建表.插数据 ### CREATE TABLE `t_stock_trans_dtl` ( `trans_id` varchar(100) NOT NULL COMMENT ...
- 64、Spark Streaming:StreamingContext初始化与Receiver启动原理剖析与源码分析
一.StreamingContext源码分析 ###入口 org.apache.spark.streaming/StreamingContext.scala /** * 在创建和完成StreamCon ...
- js MD5加密与 java MD5加密不一致
因为该项目会部署到多台机器,所以需要用字符生成唯一的MD5,但是js生成的MD5和java生成的MD5不一致.经过博主查阅资料发现java生成MD5用的是utf-8的编码,而且js用的是2进制.那我就 ...
- mysql ltrim() 函数
mysql> select " dedede"; +----------+ | dedede | +----------+ | dedede | +----------+ r ...
- DML 语言
数据操纵语言(Data Manipulation Language, DML)是SQL语言中,负责对数据库对象运行数据访问工作的指令集. 以INSERT.UPDATE.DELETE三种指令为核心,分别 ...
- docker删除镜像的时候报错--image has dependent child images
背景 偶然间发现服务器上有很多镜像占用不少空间,想清理一下.结果直接进行删除报错: docker rmi 8f5116cbc201 Error response from daemon: confli ...
- Spring Boot-intellij idea导入方式搭建SpringBoot
Spring Boot概念 从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用.简便起见,该框架也提供了命令行界面,它可以用来运行和测试Boot应用.框架的发布版 ...