win10搭建并运行kafka,2024年最新蚂蚁金服java面试题及答案

想要在win运行kafka需要先配置好jdk喝zookeeper

jdk 下载地址:

https://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html

本人用的是jdk1.8 ,之前电脑上有安装1.7的jdk,在运行kafka的时候报错:

Unsupported major.minor version 52.0。应该是我下的kafka版本太新,1.7jdk不支持,所以从新安装的1.8 总算把kafka 给跑起来了。jdk的安装和配置就不说了,比较简单,网上有很多教程,验证的时候注意,java -version 和javac -version 版本是一致 的需要,不然也会出错。

2.zookeeper 安装配置。

运行kafka为什么要依赖zookeeper:

需要一个地方存元信息。zookeeper又是分布式,做配置管理比较好的。于是就用上了。

没zookeeper的话,也需要一套机制存储元数据和交换集群信息的工具。

kafka的官方文档有说明。zookeeper是为了解决分布式一致性问题的工具。

至于kafka为什么使用zk,你首先要知道zk的作用, 作为去中心化的集群模式。

需要要消费者知道现在那些生产者(对于消费者而言,kafka就是生产者)是可用的。

如果没了zk消费者如何知道,如果每次消费者在消费之前都去尝试连接生产者测试下是否连接成功,那么效率问题怎么解决。

所以kafka需要zk,在kafka的设计中就依赖了zk了。

下载地址:https://zookeeper.apache.org/releases.html

下载后,解压放在目录D:\bigdata(本文所用的目录)下,关于zookeeper以及kafka的目录,路径中最好不要出现空格,比如D:\Program Files,尽量别用,运行脚本时会有问题。

①进入zookeeper的相关设置所在的文件目录,例如本文的:D:\bigdata\zookeeper-3.4.10\conf

②将"zoo_sample.cfg"复制一份并命名为"zoo.cfg"

③打开zoo.cfg(至于使用什么编辑器,根据自己喜好选即可),找到并编辑:

将 dataDir=/tmp/zookeeper 改成

D:/bigdata/zookeeper-3.4.10/data或 D:\bigdata\zookeeper-3.4.10\data(路径仅为示例,具体可根据需要配置)

这里注意,路径要么是"/“分割,要么是转义字符”\",这样会生成正确的路径(层级,子目录)。

④与配置jre类似,在系统环境变量中添加:

a.系统变量中添加ZOOKEEPER_HOME=D:\bigdata\zookeeper-3.4.10

b.编辑系统变量中的path变量,增加%ZOOKEEPER_HOME%\bin

⑤在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181)

⑥打开cmd窗口,输入zkserver,运行Zookeeper,运行结果如下:

这里写图片描述

恭喜,Zookeeper已经安装完成,已在2181端口运行。

3.安装运行kafka

kafka下载地址:http://kafka.apache.org/downloads

要下载Binary downloads这个类型,不要下载源文件,这种方便使用。下载后,解压放在D:\bigdata目录下。

①进入kafka配置文件所在目录,D:\bigdata\kafka_2.11-0.9.0.1\config

②编辑文件"server.properties",找到并编辑:

log.dirs=/tmp/kafka-logs 改成 log.dirs=D:/bigdata/kafka_2.11-0.9.0.1/kafka-logs 或者 D:\bigdata\kafka_2.11-0.9.0.1\kafka-logs

同样注意:路径要么是"/“分割,要么是转义字符”\",这样会生成正确的路径(层级,子目录)。错误路径情况可自行尝试,文件夹名为这种形式:bigdatakafka_2.11-0.9.0.1kafka-logs

③在server.properties文件中,zookeeper.connect=localhost:2181代表kafka所连接的zookeeper所在的服务器IP以及端口,可根据需要更改。本文在同一台机器上使用,故不用修改。

④kafka会按照默认配置,在9092端口上运行,并连接zookeeper的默认端口2181。

还有一点特别注意:在kafka安装目录中找到bin\windows目录中的kafka-run-class.bat找到179行为%CLASSPATH%加上双引号。不然运行kafka的时候回提示报错:错误: 找不到或无法加载主类 Files\Java\jdk1.7.0_80\lib;

这里写图片描述

####运行kafka并一个简单的例子

提示:请确保启动kafka服务器前,Zookeeper实例已经在运行,因为kafka的运行是需要zookeeper这种分布式应用程序协调服务。

①进入kafka安装目录D:\bigdata\kafka_2.11-0.9.0.1

②按下shift+鼠标右键,选择"在此处打开命令窗口",打开命令行。

③在命令行中输入:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)

总结

我个人认为,如果你想靠着背面试题来获得心仪的offer,用癞蛤蟆想吃天鹅肉形容完全不过分。想必大家能感受到面试越来越难,想找到心仪的工作也是越来越难,高薪工作羡慕不来,却又对自己目前的薪资不太满意,工作几年甚至连一个应届生的薪资都比不上,终究是错付了,错付了自己没有去提升技术。

这些面试题分享给大家的目的,其实是希望大家通过大厂面试题分析自己的技术栈,给自己梳理一个更加明确的学习方向,当你准备好去面试大厂,你心里有底,大概知道面试官会问多广,多深,避免面试的时候一问三不知。

大家可以把Java基础,JVM,并发编程,MySQL,Redis,Spring,Spring cloud等等做一个知识总结以及延伸,再去进行操作,不然光记是学不会的,这里我也提供一些脑图分享给大家:

希望你看完这篇文章后,不要犹豫,抓紧学习,复习知识,准备在明年的金三银四拿到心仪的offer,加油,打工人!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

完这篇文章后,不要犹豫,抓紧学习,复习知识,准备在明年的金三银四拿到心仪的offer,加油,打工人!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

[外链图片转存中…(img-IbduAkhr-1712782893614)]