首页 > 系统相关 >服务器上kafka单机版安装以及shell简单测试

服务器上kafka单机版安装以及shell简单测试

时间:2022-12-05 23:11:50浏览次数:55  
标签:test1 shell 单机版 centos -- kafka topic root

在Kafka 2.8之后,引入了基于Raft协议的KRaft模式,支持取消对Zookeeper的依赖。在此模式下,一部分Kafka Broker被指定为Controller,另一部分则为Broker。这些Controller的作用就是以前由Zookeeper提供的共识服务,并且所有的元数据都将存储在Kafka主题中并在内部进行管理。

​ 下面研究这种方式启动一个单机版kafka。

1. 安装

1. 下载

curl -O https://dlcdn.apache.org/kafka/3.3.1/kafka_2.13-3.3.1.tgz

2. 解压安装

  1. 解压
  2. 启动
# 生成集群ID
[root@VM-8-16-centos kafka_2.13-3.3.1]# KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)"
[root@VM-8-16-centos kafka_2.13-3.3.1]# echo $KAFKA_CLUSTER_ID
lQAOBsE1Q6irBeQFkt5Rqg

#用这个唯一ID格式化Kafka存储目录
[root@VM-8-16-centos kafka_2.13-3.3.1]# bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties
Formatting /tmp/kraft-combined-logs with metadata.version 3.3-IV3.

# 启动kafka
[root@VM-8-16-centos kafka_2.13-3.3.1]# bin/kafka-server-start.sh config/kraft/server.properties
  1. 测试
[root@VM-8-16-centos ~]# jps | grep ka
4629 Kafka
  1. 接下来我们以守护进程方式启动kafka
[root@VM-8-16-centos kafka_2.13-3.3.1]# nohup bin/kafka-server-start.sh config/kraft/server.properties &
[1] 5641

2. shell 测试kafka

1. 简单测试

  1. 创建topic然后查看描述信息
[root@VM-8-16-centos kafka_2.13-3.3.1]# bin/kafka-topics.sh --create --topic test1 --bootstrap-server localhost:9092
Created topic test1.
[root@VM-8-16-centos kafka_2.13-3.3.1]# bin/kafka-topics.sh --describe --topic test1 --bootstrap-server localhost:9092
Topic: test1	TopicId: sbJcTX91TAqD9fczBXvH9g	PartitionCount: 1	ReplicationFactor: 1	Configs: segment.bytes=1073741824
	Topic: test1	Partition: 0	Leader: 1	Replicas: 1	Isr: 1

当我们创建完topic 之后会在当前服务器的目录创建topic对应的目录信息

[root@VM-8-16-centos kraft-combined-logs]# ll
总用量 28
-rw-r--r-- 1 root root  249 12月  5 21:42 bootstrap.checkpoint
-rw-r--r-- 1 root root    0 12月  5 21:44 cleaner-offset-checkpoint
drwxr-xr-x 2 root root 4096 12月  5 21:47 __cluster_metadata-0
-rw-r--r-- 1 root root    4 12月  5 21:53 log-start-offset-checkpoint
-rw-r--r-- 1 root root   86 12月  5 21:42 meta.properties
-rw-r--r-- 1 root root   14 12月  5 21:53 recovery-point-offset-checkpoint
-rw-r--r-- 1 root root   14 12月  5 21:54 replication-offset-checkpoint
drwxr-xr-x 2 root root 4096 12月  5 21:51 test1-0
  1. 生产几条消息
[root@VM-8-16-centos kafka_2.13-3.3.1]# bin/kafka-console-producer.sh --topic test1 --bootstrap-server localhost:9092
>hello kafka
>myname is kafka
  1. 消费者消费消息
[root@VM-8-16-centos kafka_2.13-3.3.1]# bin/kafka-console-consumer.sh --topic test1 --from-beginning --bootstrap-server localhost:9092
hello kafka
myname is kafka
  1. 删除test1
# 删除
bin/kafka-topics.sh --delete --topic test1 --bootstrap-server localhost:9092
# 再次查看目录(可以看到其是先标记位逻辑删除,然后再删除掉目录)
... 
drwxr-xr-x 2 root root 4096 12月  5 21:51 test1-0.55585b77a4644fb8bb0ed567a82b29ba-delete
[root@VM-8-16-centos kraft-combined-logs]# ll | grep test1
  1. 尝试直接向一个不存在的topic写入数据,测试会直接创建topic
# 直接写消息
[root@VM-8-16-centos kafka_2.13-3.3.1]# bin/kafka-console-producer.sh --topic test2 --bootstrap-server localhost:9092
>hello test21
[2022-12-05 22:05:35,059] WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 4 : {test2=UNKNOWN_TOPIC_OR_PARTITION} (org.apache.kafka.clients.NetworkClient)
>hellotest22

# 消费消息
[root@VM-8-16-centos kafka_2.13-3.3.1]# bin/kafka-console-consumer.sh --topic test2 --from-beginning --bootstrap-server localhost:9092
hello test21
hellotest22
  1. 创建topic指定分区数量
# 创建一个分区位4,副本为1的主题。 副本必须小于集群broker 数量
[root@VM-8-16-centos kafka_2.13-3.3.1]# bin/kafka-topics.sh --create --topic test1 --bootstrap-server localhost:9092 --partitions 4 --replication-factor 1
Created topic test1.
[root@VM-8-16-centos kafka_2.13-3.3.1]# bin/kafka-topics.sh --describe --topic test1 --bootstrap-server localhost:9092
Topic: test1	TopicId: YvB0zKr5R-K3Qq7DAw9kMA	PartitionCount: 4	ReplicationFactor: 1	Configs: segment.bytes=1073741824
	Topic: test1	Partition: 0	Leader: 1	Replicas: 1	Isr: 1
	Topic: test1	Partition: 1	Leader: 1	Replicas: 1	Isr: 1
	Topic: test1	Partition: 2	Leader: 1	Replicas: 1	Isr: 1
	Topic: test1	Partition: 3	Leader: 1	Replicas: 1	Isr: 1
	
# 查看目录
[root@VM-8-16-centos kraft-combined-logs]# ll | grep test
drwxr-xr-x 2 root root 4096 12月  5 22:09 test1-0
drwxr-xr-x 2 root root 4096 12月  5 22:09 test1-1
drwxr-xr-x 2 root root 4096 12月  5 22:09 test1-2
drwxr-xr-x 2 root root 4096 12月  5 22:09 test1-3
drwxr-xr-x 2 root root 4096 12月  5 22:05 test2-0.4043937575044d579345a7a5fc2cb8e7-delete

2. 关闭自动创建topic

​ 上面看到,当我们发送消息的时候,如果topic 不存在kafka 默认会帮我们创建topic。有时候我们需要关闭自动创建,创建topic 必须走申请创建的流程。

​ 编辑配置文件。 config/kraft/server.properties 文件增加如下配置,然后重启

auto.create.topics.enable=false

参考:https://kafka.apache.org/quickstart

不再依赖zk的kraft: https://blog.csdn.net/sD7O95O/article/details/125985869

标签:test1,shell,单机版,centos,--,kafka,topic,root
From: https://www.cnblogs.com/qlqwjy/p/16953858.html

相关文章

  • k8s笔记9(集群外beat->kafka集群:OK)
    1、helmupgrade后kibana采集不到数据,需要删除后重新INSTALL然后测试。这里打开了externalAccess参数。#helmupgradekafka-nlogging.#helm-nloggingdeletekafka......
  • Shell 文件或目录操作符(-e、-d、-f、-r、-w、-x)
    操作符操作符含义-e 判断对象是否存在(Exist),若存在则结果为真-d 判断对象是否为目录(Directory),是则为真-f 判断对象是否为一般文件(File),是则为真-r 判断对象是否有可......
  • shell
    INITIAL_SETUP_KS_FILE="/root/initial-setup-ks.cfg"1.tail取文件最后一行user_line_string=`tail-n1$INITIAL_SETUP_KS_FILE`echo$user_line_string2.$?与......
  • solr单机版服务搭建步骤
    第一步:安装jdk,安装tomcat第二步:解压solr压缩包第三步:吧dist/solr-4.10.3.war部署到tomcat下第四步:解压缩war包,启动tomcat解压第五步:需要把/root/solr-4.10.3/example/l......
  • 【ES系列一】——单机版安装教程
    安装环境:  系统版本:CentOS7.0.1406   jdk版本:1.8.0_111   ES版本:6.0.0一、下载  下载之后放到对应目录https://www.elastic.co/downloads/elasti......
  • python django shell 更新代码后需要重启
    pythondjango 使用pythonmanage.py shell练习时更改代码后,需要重新打开窗口进行练习TRANSLATEwithxEnglishArabicHebrewPolishBulgarianH......
  • Log4Shell 漏洞披露已近一年,它对我们还有影响吗?
    在Log4Shell高危漏洞事件披露几乎整整一年之后,新的数据显示,对全球大多数组织来说,补救工作是一个漫长、缓慢、痛苦的过程。 根据漏洞扫描领先者Tenable公司的遥测数据......
  • Linux 定时任务执行Shell脚本【CentOS6.8】
    本人一直从事Windows系统的开发,最近一年基本上都在研究.NET跨平台相关的知识,最近遇到一个棘手的问题,由于前期技术选型的时候说采用WebAPI的方式进行部署,我当时就答应了,到最......
  • OpenCASCADE-Glue Faces to Shell
    BRep边界表示法通过对几何曲面加上边界Wire限定得到有界的曲面片后,如何将曲面片连接起来生成一个闭合的Shell,进而得到一个Solid实体?以前写过如何将无序的Edge连接......
  • TinyShell(CSAPP实验)
    简介CSAPP实验介绍学生实现他们自己的带有作业控制的UnixShell程序,包括Ctrl+C和Ctrl+Z按键,fg,bg,和jobs命令。这是学生第一次接触并发,并且让他们对Unix的进程控制、......