跟学我Kakfa源码搭建环境(一)

本文介绍了如何搭建Kafka的源码环境,包括Gradle安装、Apache Kafka源代码下载及用Gradle构建IDEA工程文件的过程。同时给出了Kafka启动时的参数设置,并解决了编译运行过程中可能遇到的问题。

Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息。

今天我们先从搭建Kafka源码环境入手。

1.gradle安装

gradle安装

2.下载apache kafka源代码

apache kafka下载

3.用gradle构建产生IDEA工程文件

执行如下命令:

经过几分钟的编译后,出现Build Successful表示源码编译下载成功。

生成IDEA工程文件如下:

5.IDEA中查看源码工程

6.Kafka启动时,参数设置

7、在编译运行时可能出现的问题

错误: -source 1.6 中不支持 diamond 运算符

解决办法是:使用jdk1.7来编译,

这样就可以启动调试Kafka源码了。是不是很简单。

Kafka源码本地环境搭建方法如下: ### 下载并安装Scala 下载地址为:http://www.scala-lang.org/download/all.html ,可选择如2.11.8版本,下载后解压然后把安装包下的`bin`目录添加进系统`Path`中。打开命令行,使用`scala -version`查看是否正常安装[^3]。 ### 下载并安装Gradle 在gradle官网点击"Download: binary-only or complete"的`binary-only`下载`gradle-*.*.*-bin.zip`文件,解压到目标文件夹,设置系统环境变量`GRADLE_HOME`,添加`%GRADLE_HOME%\bin`到`Path`系统变量中,还可设置环境变量`GRADLE_USER_HOME`的路径来改变gradle的本地仓库的位置。新开`cmd`输入命令`gradle -v`测试安装是否成功[^4]。 ### 配置Maven仓库 在相关配置文件中添加如下内容: ```groovy repositories { maven { url 'http://maven.aliyun.com/nexus/content/repositories/central/' } // mavenCentral() } ``` 使项目使用阿里云的Maven中央仓库[^3]。 ### 下载Kafka源码并编译 下载地址为:http://kafka.apache.org/downloads ,需根据Scala版本选择相应的Kafka版本,例如选择2.2.1版本。将下载的压缩包解压,并在Kafka的根目录执行`gradle idea`进行构建。之后打开`IntelliJ IDEA`,导入项目即可[^3]。 ### 安装、配置及启动Zookeeper Kafka需要使用Zookeeper来管理元数据,采用单机配置。Zookeeper下载地址为:`zookeeper.apache.org/releases.ht…`,下载之后解压,将`ZOOKEEPER_HOME`指向ZooKeeper的根目录 [^1]。 ### 启动Kafka服务 完成上述步骤后,便可以顺利地运行Kafka服务(第次启动时会有个耗时较长的编译过程),部分启动日志示例如下: ```plaintext [2017-11-14 00:24:14,472] INFO KafkaConfig values: advertised.host.name = null advertised.listeners = null advertised.port = null authorizer.class.name = (......省略若干......) [2017-11-14 00:24:35,001] INFO Registered broker 0 at path /brokers/ids/0 with addresses: EndPoint(LAPTOP-1IN9UPT7,9092,ListenerName(PLAINTEXT),PLAINTEXT) (kafka.utils.ZkUtils) [2017-11-14 00:24:35,019] INFO Kafka version : 1.0.0 (org.apache.kafka.common.utils.AppInfoParser) [2017-11-14 00:24:35,020] INFO Kafka commitId : e89bffd6b2eff799 (org.apache.kafka.common.utils.AppInfoParser) [2017-11-14 00:24:35,021] INFO [Kafka Server 0], started (kafka.server.KafkaServer) ``` [^2]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值