从0到一搭建Kafka-单机版-通过单机版zookeeper配置

这篇具有很好参考价值的文章主要介绍了从0到一搭建Kafka-单机版-通过单机版zookeeper配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

教程https://www.bilibili.com/video/BV1t34y1G7NW/

一、安装软件

首先得找到一些基本概念:

1、类比Java的文件执行过程:

Java 程序从源代码到运行主要有三步:

  • 编译:将我们的代码(.java)编译成虚拟机可以识别理解的字节码(.class)
  • 解释:虚拟机执行Java字节码,将字节码翻译成机器能识别的机器码
  • 执行:对应的机器执行二进制机器码

参考林小鹿大佬

机器码
机器码:机器码就是cpu能够直接读取并运行的代码,用二进制编码表示,也叫做机器指令码。

字节码
字节码:字节码是一种中间状态的二进制代码,是由源码编译过来的,可读性没有源码高。而且cpu也不能够直接读取字节码,在java中,字节码需要经过JVM虚拟机转译成机器码之后,cpu才能够读取并运行
https://blog.csdn.net/lln1540295459/article/details/120615880

也就是说Java文件会被编译成为字节码文件(16进制串,但可以被idea就行反编译识别成可读性较强的代码),这个字节码文件会被jvm解析成为二进制机器码,也就是01串,这个二进制机器码会被本地系统电脑执行。如果是win系统电脑就win电脑系统执行,如果是linux系统电脑就被linux系统电脑执行。

这里是本人调研得出的结果,如果有误,望指正。谢谢!

2、在安装软件时都会看到2种类型得压缩包:

sourcre downloads(源代码下载)下载以后需要自行编译出安装包,再行安装。
Binary downloads(二进制下载)已经编译完成的安装包,下载之后可以直接安装使用。Scala的版本不同,对应的kafka版本也不一样。
https://blog.csdn.net/loongkingwhat/article/details/122143072

照着这么说source还可以编译成为二进制机器码,这样子不就可以类似于java代码差不多了吗?看来修改源码并定制属于个人的软件。看来是这样子的!nice!老早之前就想找到可以修改源代码来跑这些软件的方法了。

3、安装Apache Kafka

用我的也行

链接:https://pan.baidu.com/s/1Jznw01iB_L8GBbcgP5JbRw?pwd=2w3k
提取码:2w3k

二、配置过程

1、下载并配置jdk,这里就不详细展开了。

如果要配置jdk,可以自己去找一下文章参考Linux安装Java环境(OpenJDK1.8) - MrFugui - 博客园 (cnblogs.com)

这个下载步骤的参考不一定好,不过我当初也是使用yum的方式来下载java环境了(应该是和这个文章有类似之处),而且好像自动配置好了,不需要配置etc的那个文件了,但是jps就没配置好,还得是单独配置jdk好些。

链接:https://pan.baidu.com/s/1BCRVaOIHPdG1ou1MXq_9wQ?pwd=tyvr
提取码:tyvr

2、zookeeper的下载和安装配置

具体看我的一个文章https://blog.csdn.net/ws_please/article/details/133326165

启动zookeeper并连接zookeeper:

连接服务zkCli.sh

这个没问题就说明应该是没问题了。

/root/zookeepers/zookeeper382-03/bin/zkCli.sh

如果是其他端口(非2181的端口,很多参考文章地方都没说到的),就用这个:

 /root/zookeepers/zk382/bin/zkCli.sh -server 127.0.0.1:2184

3、安装和配置kafka

①先丢到虚拟机里面。

②解压:

tar -zxvf kafka_2.13-3.5.1.tgz

③修改文件夹名称(可以省略跳过)

mv kafka_2.13-3.5.1 kafka2-1-3-02
输入命令“mv 原文件夹名 新文件夹名”,其中“mv”是移动文件或文件夹的命令,“原文件夹名”是要修改的文件夹的名称,“新文件夹名”是修改后的名称。 例如要将名为“old_folder”的文件夹修改为“new_folder”,则输入命令“mv old_folder new_folder”

④修改配置

先看看配置有什么:

# broker的编号,如果集群中有多个broker,则每个broker的编号需要设置的不同
broker.id=0

num.network.threads=3

num.io.threads=8


socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

log.dirs=/tmp/kafka-logs


num.partitions=1

num.recovery.threads.per.data.dir=1

offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

log.retention.hours=168

log.retention.check.interval.ms=300000

zookeeper.connect=localhost:2181

zookeeper.connection.timeout.ms=18000

group.initial.rebalance.delay.ms=0

⑤先备份,再拷贝

[root@xinqi config]# cp server.properties servercp.properties 

⑥再vim config/server.properties

加入:

# 存放消息日志文件的地址,kafka存储消息(log日志数据)的目录,log.dir配置单个目录,log.dirs可以配置多个目录
log.dirs=/root/kafkas/kafkaDatas/kafka2-1-3-01/kafkaLogs

# Kafka所需的ZooKeeper集群地址,为了方便演示,我们假设Kafka和ZooKeeper都安装在本机,如果有多个zookeeper, ZooKeeper服务地址<ip:port>, 多个zk节点用逗号隔开。后续再演示集群zookeeper以及kafka,目前zookeeper以及Kafka都只演示单机版
zookeeper.connect=127.0.0.1:2184

防火墙关闭:

[root@xinqi config]# systemctl stop firewalld

Kafka 开启远程连接,确认Linux 防火墙 kafka 的端口已开启,并做下面相关配置

# broker对外提供的服务入口地址,用的比较少,表示客户端要连接的broker入口地址列表
listeners=PLAINTEXT://127.0.0.1:9094

advertised.listeners=PLAINTEXT://127.0.0.1:9094

然后来到:

[root@xinqi bin]# pwd
/root/kafkas/kafkaSoftWares/kafka2-1-3-01/bin

⑦启动和停止:

主要是这个文件:

kafka-server-start.sh以及kafka-server-stop.sh

(1)根据配置文件启动,实时查看:

/root/kafkas/kafkaSoftWares/kafka213-01/bin/kafka-server-start.sh /root/kafkas/kafkaSoftWares/kafka213-01/config/server.properties

(2)后台启动:

如果要在后台运行 Kafka 服务,那么可以在启动命令中加入 -daemon 参数或&字符

方式1:

/root/kafkas/kafkaSoftWares/kafka2-1-3-01/bin/kafka-server-start.sh /root/kafkas/kafkaSoftWares/kafka2-1-3-01/config/server.properties &

方式2,(deamon难不难启动看自己的kafka的版本等其他详细信息)

/root/kafkas/kafkaSoftWares/kafka2-1-3-01/bin/kafka-server-start.sh ‐daemon /root/kafkas/kafkaSoftWares/kafka2-1-3-01/config/server.properties

(3)停止:

这里可能不能停止成功,原因待探究,

/root/kafkas/kafkaSoftWares/kafka2-1-3-01/bin/kafka-server-stop.sh

(4)这样应该也可以:

[root@xinqi ~]# cd /root/kafkas/kafkaSoftWares/kafka2-1-3-01/bin/

[root@xinqi bin]# ./kafka-server-stop.sh

⑧检测kafka是否可以正常运行(简单演示)

[root@xinqi bin]# pwd
/root/kafkas/kafkaSoftWares/kafka2-1-3-01/bin

新建生产者终端1

cd /root/kafkas/kafkaSoftWares/kafka2-1-3-01/bin
./kafka-console-producer.sh --broker-list 127.0.0.1:9094 --topic xinqi_test

(注:xinqi_test是你要建立的topic名)

新建消费者终端2:

先进入kafka目录。

cd /root/kafkas/kafkaSoftWares/kafka2-1-3-01/bin
./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9094 --topic xinqi_test

消费xinqi_test的topic消息

在生产者终端1不断输入推送的消息,另消费者终端2则消费这个消息。

⑨实操演示:

生产者终端:

[C:\~]$ 

Connecting to 192.168.10.100:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Wed Sep 27 07:33:28 2023 from 192.168.10.1
[root@xinqi ~]# cd /root/kafkas/kafkaSoftWares/kafka2-1-3-01/bin
[root@xinqi bin]# ./kafka-console-producer.sh --broker-list 127.0.0.1:9094 --topic xinqi_test
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
>xinqiyaya
>xinqi^H^H^H
>^C^C[root@xinqi bin]# ^C
[root@xinqi bin]# 

消费者终端:

[C:\~]$ 

Connecting to 192.168.10.100:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Last login: Wed Sep 27 08:22:14 2023 from 192.168.10.1
[root@xinqi ~]# cd /root/kafkas/kafkaSoftWares/kafka2-1-3-01/bin
[root@xinqi bin]# ./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9094 --topic xinqi_test
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
[2023-09-27 08:23:58,694] WARN [Consumer clientId=console-consumer, groupId=console-consumer-21730] Error while fetching metadata with correlation id 2 : {xinqi_test=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
[2023-09-27 08:23:58,784] WARN [Consumer clientId=console-consumer, groupId=console-consumer-21730] Error while fetching metadata with correlation id 4 : {xinqi_test=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
......................................................
xinqiyaya
xinqi
^C^C^CProcessed a total of 2 messages
^C[root@xinqi bin]# ^C
[root@xinqi bin]# 

说明确实是没问题了,nice!文章来源地址https://www.toymoban.com/news/detail-729778.html

到了这里,关于从0到一搭建Kafka-单机版-通过单机版zookeeper配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kafka单机版部署说细教程

            因为项目中要使用KAFKA,自己搭建一个单机版,作测试服务器使用,已经过测试,可以使得,分享有需要的朋友。 一、 kafka环境搭建         下载kafka单机版,可以使用源码的方式和安装包的方式安装。使用安装包的方式进行安装,只需要进行解压运行即可。

    2024年02月15日
    浏览(36)
  • Redis单机版搭建

    redis版本redis-5.0.7 虚拟机系统centos7.4 用户 root 下载地址 http://download.redis.io/releases/ 进入安装目录 cd /usr/local/redis (编译目录) 下载redis并解压到指定目录 wget http://download.redis.io/releases/redis-5.0.7.tar.gz tar zxvf redis-5.0.7.tar.gz cd redis-5.0.7/ 编译安装redis cd /usr/local/redis/redis-5.0.7 make make

    2024年02月07日
    浏览(49)
  • kafka3.4.0单机版安装配置教程(kraft模式舍弃ZK)

    下载地址:https://archive.apache.org/dist/kafka/3.4.0/

    2024年04月17日
    浏览(51)
  • 搭建单机版FastDFS分布式文件存储系统

    1、下载FastDFS安装包和依赖包 https://codeload.github.com/happyfish100/libfastcommon/tar.gz/V1.0.43 https://codeload.github.com/happyfish100/fastdfs/tar.gz/V6.06 https://codeload.github.com/happyfish100/fastdfs-nginx-module/tar.gz/V1.22 注:可以使用window浏览器(下载后需要上传到服务器上),也可以使用linux的curl命令 2、

    2024年02月09日
    浏览(55)
  • 搭建单机版K8S运行Flink集群

    环境要求 操作系统: CentOS 7.x 64位 Kubernetes版本:v1.16.2 Docker版本:19.03.13-ce Flink版本:1.14.3 使用中国YUM及镜像源  1.安装Kubernetes: 1.1 创建文件:/etc/yum.repos.d/kubernetes.repo,内容如下: 1.2  执行安装命令:  1.3 启动kubelet服务并设置开机自启: 2.安装Docker: 2.1 创建文件:

    2023年04月26日
    浏览(47)
  • hadoop3.3.1单机版环境搭建详细流程记录

    安装vim即可; 按“o”进入编辑模式; 编辑完内容后,“esc”--“:”--\\\"wq\\\"--回车,执行保存并退出。 点\\\"i\\\"或者\\\"o\\\"进入编辑模式; 编辑完后,点\\\"Esc\\\"--\\\":\\\"--\\\"wq\\\",回车,保存退出。 生成公钥和私钥;(一直点下去即可) 授权是单向的; 8.1、方法一: 进入 ~/.ssh 目录下,查看生成

    2024年02月09日
    浏览(46)
  • 【Docker】Docker+Nacos+MySQL,Docker安装启动Nacos(详细讲解、全网最细),手把手教你Docker搭建nacos单机版

    点击跳转:Docker安装MySQL、Redis、RabbitMQ、Elasticsearch、Nacos等常见服务全套(质量有保证,内容详情) 本文描述了如何用Docker安装Nacos的单机版,含单机非持久化版本和单机持久化版本 Nacos作为微服务的配置中心,无论是在开发测试和生产中,用户更希望Nacos能保存用户的配置

    2024年02月12日
    浏览(48)
  • Elasticsearch单机版本安装

    OS: CentOS Linux release 7.9.2009 (Core) 机器: 10.28.19.107 ES、Kibana安装版本: 7.15.2 Elasticsearch:https://www.elastic.co/cn/downloads/past-releases#elasticsearch Kibana: https://www.elastic.co/cn/downloads/past-releases#kibana 提前下载好 elasticsearch-7.15.2-linux-x86_64.tar.gz 、 kibana-7.15.2-linux-x86_64.tar.gz ,上传至/opt目录下。

    2023年04月14日
    浏览(52)
  • Nacos单机版安装启动流程

    安装地址:https://github.com/alibaba/nacos/ 1、选择自己需要的版本  2、选择自己的环境下在对应的压缩包  3、下载后放到自己的文件目录中解压 4、window环境修改startup.cmd文件,改为单机部署后,就可以直接点击cmd文件直接启动了 mac通过终端进入cd ~/nacos/bin 目录下,通过命令 

    2024年02月11日
    浏览(57)
  • HBase单机版安装详细步骤

    目录 一、安装HBase前置环境 1.jdk 2.hadoop 3.zookeeper 二、安装HBase步骤 (一)解压 (二)修改文件名 (三)修改配置文件 (四)配置HBase的环境变量 (五)启动HBase 1.启动hadoop 2.启动zookeeper 3.启动hbase 4.jps出现HMaster和HRegionServer 5.HBase的WebUI (六)HBase的逻辑结构: (七)HBase基本命令  1.进入HBase

    2024年02月07日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包