大数据之Kafka Shell命令和Java API

news2024/11/25 16:45:24

文章目录

  • 前言
  • 一、Kafka相关Shell命令
    • (一)创建并查询Topic
    • (二)删除Topic
    • (三)增加Topic的分区
    • (四)生产数据到Topic
    • (五)从Topic消费数据
  • 总结


前言

#博学谷IT学习技术支持#
本篇文章主要介绍Kafka相关的Shell命令和Java API,通过Shell命令和Java API可以进一步了解Kafka的操作,从而加深对Kafka的认识。

一、Kafka相关Shell命令

使用Kafka相关命令需要在linux服务器上进到Kafka解压的bin文件夹中,以下相关Shell命令的前提是linux服务器以及进入到Kafka的bin文件夹中,同时还需要确保Zookeeper集群的正常运行,因为Kafka集群依赖Zookeeper,相关环境安装可以参考:(1) Zookeeper集群搭建(2) Kafka集群搭建

(一)创建并查询Topic

  1. 创建Topic
./kafka-topics.sh 
--bootstrap-server node1:9092,node2:9092,node3:9092 
--create 
--topic kafkaDemo2 
--partitions 3 
--replication-factor 2

解释:
./kafka-topics.sh  kafka集群中操作Topic的Shell脚本,该脚本位于Kafka安装环境的bin文件夹中
--bootstrap-server  指定该集群依赖的Zookeeper地址
--create  用于创建Topic管道
--topic  指定本次创建的Topic的名称
--partitions  设置该Topic的分区
--replication-factor  设置副本数
注意:如果没有设置分区和副本数,分区和副本数默认都为1
  1. 查询Topic
./kafka-topics.sh 
--bootstrap-server node1:9092,node2:9092,node3:9092 
--list

解释:
--list  列出当前存在的Topic列表
  1. 查询指定Topic
./kafka-topics.sh 
--bootstrap-server node1:9092,node2:9092,node3:9092 
--describe 
--topic kafkaDemo

解释:
--describe  查询Topic的信息
--topic 指定具体的Topic

在这里插入图片描述

(二)删除Topic

 ./kafka-topics.sh 
 --bootstrap-server node1:9092,node2:9092,node3:9092 
 --delete 
 --topic kafkaDemo2

解释:
--delete  删除Topic
--topic  指定Topic的名称

(三)增加Topic的分区

./kafka-topics.sh 
--bootstrap-server node1:9092,node2:9092,node3:9092 
--alter 
--topic kafkaDemo2 
--partitions 4

解释:
--alter  修改Topic相关信息
--topic  指定具体的Topic
--partitions  修改分区的数量

(四)生产数据到Topic

生产数据使用的bin文件夹下的kafka-console-producer.sh脚本,同时还需要使用相关命令才能生产数据到指定的Topic中,接着就是等待消费者到Topic进行数据的消费。

./kafka-console-producer.sh 
--broker-list node1:9092,node2:9092,node3:9092 
--topic kafkaDemo

解释:
--broker-list  指定Zookeeper集群地址
--topic  指定具体的Topic

在这里插入图片描述

(五)从Topic消费数据

消费指定Topic中的数据使用的是kafka-console-consumer.sh脚本,该脚本一运行,如果Topic中已经产生数据,则会自动消费该Topic中的数据。

 ./kafka-console-consumer.sh 
 --bootstrap-server node1:9092,node2:9092,node3:9092 
 --topic kafkaDemo

解释:
--bootstrap-server  指定Zookeeper集群地址
--topic  指定具体的Topic

在这里插入图片描述


总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/167604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习笔记之深度玻尔兹曼机(一)玻尔兹曼机系列整体介绍

机器学习笔记之深度玻尔兹曼机——玻尔兹曼机系列整体介绍引言关于含隐变量模型的对数似然梯度玻尔兹曼机受限玻尔兹曼机深度信念网络深度玻尔兹曼机引言 从本节开始,将介绍玻尔兹曼机系列的最后一个模型——深度玻尔兹曼机(Deep Boltzmann Machine,DBM) 关于含隐…

【状态设计优化DP】P4310 绝世好题

不愧是绝世好题和abc那道E一样,也是重新定义状态来优化转移复杂度的DP(56条消息) Atcoder Beginner Contest E - Work or Rest_lamentropetion的博客-CSDN博客这种其实就是通过转移方式的特殊性来设计状态,从而降低复杂度其实我感觉降低复杂度优化就是因…

数据结构——括号匹配问题

这是一道常见的经典的数据结构中栈的问题。题目:20. 有效的括号 - 力扣(LeetCode)我们运用C语言实现这个问题。有效括号调用栈由于要涉及到栈的问题,不可避免的要运用栈的函数接口。比较直接的方法是,直接复制 栈 的代…

通过windows程序计划设定nginx开机自启动

通过windows程序计划设定nginx开机自启动1、按下win键输入计划,回车2、找到windows目录,在当下目录创建新任务3、自定义名称描述4、将触发设定为开机自启动5.点击下一步,程序或脚本选择nginx.exe所在目录,要把下面的起始于 处填上…

算法训练营 day20 二叉树 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉树

算法训练营 day20 二叉树 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉树 最大二叉树 654. 最大二叉树 - 力扣(LeetCode) 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值…

《Linux Shell脚本攻略》学习笔记-第十一章

11.1 简介 本章将会讲述如何获取相关网络分组。CPU占用率、磁盘使用情况以及东台调用的更多信息。 11.2 使用tcpdump跟踪分组 tcpdump需要以root身份运行。 关键字port可以只显示出发往或者来自特定端口的分组 src修饰符配合特定的“关键字-值”就可以指定源文件中的这类分组。…

Linux chown 命令

Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令。Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 …

基于机器学习 实现APT 检测(附完整代码)

项目环境概述以机器学习的方式,可以通过多种模型对 APT 组织所使用的恶意代码进行训练学习,同时由于训练的多样化,检测效果也会比家好。本项目采用的随机森林以及不同采样策略进行模型训练。详细设计见md文件。1.系统描述本系统主要是针对大量…

ElementUI中树形表格下拉卡死的问题解决

文章目录错误现象与描述:代码案例:错误现象与描述: 最近在修改一个前端的问题,发现后台返回给前端有数据,SQL查询也很快,但是就是前端的表格这里一直卡死,后来发现其他数据正常,其中…

【代码随想录】343. 整数拆分

343. 整数拆分 动态规划五部曲 1. 确定dp数组以及下标的含义 dp[i]:分拆数字i,可以得到的最大乘积为dp[i]。 2. 确定递推公式 其实可以从1遍历j,然后有两种渠道得到dp[i]. 一个是j * (i - j) 直接相乘。 一个是j * dp[i - j],相…

文本向量化

1、one-hot 在one-hot里面每一个token用一个长度为N向量表示,N表示的是词典的数据量。(不重复的词数量) 缺点:维度太高,用稀疏向量表示文本。 2、word embedding 使用float的矩阵来表示token,根据词典的…

Qt环境生成dump文件解决程序异常崩溃以及生成日志文件

一、背景 1、在测试自己的项目代码过程 ① 程序的编译的时候没有报错,程序在Qt release模式下运行程序,程序运行五个小时后异常退出,The process was ended forcefully;② 以及在项目程序通过windeployqt 工具打包发布的程序&am…

用最简单的方式告诉你什么是集线器、交换机、路由器

欢迎来到东用知识小课堂!某一天,你到你女友小芳(暂定这个名字吧)就读的学校去找她,那么你的做法是什么呢:一、集线器的工作方式:你站到学校中庭,大喊一声“小芳,我来你找你了!”(广播)如果这个时…

〖百宝书-思维锻炼①〗——思维进阶和升华

大家好,我是涵子,欢迎大家今天进入了新专题:百宝书-思维锻炼! 💬 人生格言:Stay foolish, stay kind.💬 📫 如果文章知识点有错误的地方,请指正!和大家一起学…

SpringSecurity随笔(2)-OAuth2协议

短信登录 参考密码登录过程 1.编写短信登录过滤器,验证短信验证码 2.编写未认证得SmsAuthenticationToken 3.将未认证的SmsAuthenticationToken传递给AuthenticationManager 4.编写一个SmsAuthenticationProvider 5.调用UserDetialsService获取用户信息 OAuth协议…

【Linux杂篇】经常登录Linux,用户密码背后的知识了解一下

一,用户密码存放在哪里? 说到这个问题,绝大部分的同学肯定都知道/etc/passwd这个文件,不错,这个文件里存储的就是用户名,密码等信息。 每一行都是一个account,每一行有7个信息,分…

在农业银行做开发是什么样的体验?

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…

MySQL环境搭建

文章目录1. MySQL的卸载步骤1:停止MySQL服务步骤2:软件卸载步骤3:残余文件的清理步骤4:清理注册表步骤5:删除环境变量配置2. MySQL的下载、安装、配置MySQL的4大版本软件的下载MySQL8.0 版本的安装配置MySQL8.0配置MyS…

超详解通讯录,保姆式教学 ,轻松学会实现通讯录的功能【c语言】

文章目录静态通讯录Contact.htest.c菜单的创建Contact.c初始化通讯录InitContact的实现增加联系人AddContact的实现查找指定联系人的信息SearchContact的实现删除指定联系人DelContact的实现修改指定联系人的信息ModifyContact的实现显示所有联系人的信息ShowContact的实现完整…

vite项目为什么可以直接使用NODE_ENV?

背景 我们知道,在process.env中并没有NODE_ENV这个变量,但是我们却可以在项目的代码中使用process.env.NODE_ENV这个值来判断当前是development环境还是production环境,然后进行后续的逻辑操作。 这说明,在vite内部,…