kafka源码测试环境

246 阅读1分钟

按照极客时间-胡夕的讲解.:

kafka核心源码解读-环境搭建

发现在执行 ./gradlew build 一个小时后执行失败,报错信息如下

![](https://upload-images.jianshu.io/upload_images/25097355-cd07d431ac27db64.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
报错提示

根据错误提示。ping repo.maven.apache.org 发现网络时断时续

![](https://upload-images.jianshu.io/upload_images/25097355-127cdf418c64720e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
确认网络

于是决定换源,首先找到maven安装路径

![](https://upload-images.jianshu.io/upload_images/25097355-df67f30a47ed697d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
通过mvn -v查看 maven home

找到 settings.xml,修改其中的 地址

![](https://upload-images.jianshu.io/upload_images/25097355-dd77276f3642d0d9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

再次执行15分钟后报错:

![](https://upload-images.jianshu.io/upload_images/25097355-d53a9e3497a692f4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

最终成功的方法是:替换全局的gradle源。方法是 /Users/xxxxx/.gradle/ 新建一个init.gradle

文件内容如下:

![](https://upload-images.jianshu.io/upload_images/25097355-1ef7e01ba6a7efd6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

再gradle idea

![](https://upload-images.jianshu.io/upload_images/25097355-83097fbb39755a59.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

idea打开后自动加载,提示成功

![](https://upload-images.jianshu.io/upload_images/25097355-b889084ce95f0156.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

至此环境成功

================

接下来需要进行kafka消息测试。

拉起 zk

已知kafka依赖zookeeper,因此必须先拉起zk服务,然而,使用bin下的 sh文件时报错,提示找不到主类。

➜ kafka git:(trunk) ✗ bin/zookeeper-server-start.sh config/zookeeper.properties错误: 找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain原因: java.lang.ClassNotFoundException: org.apache.zookeeper.server.quorum.QuorumPeerMain

原因是: 编译的是kafka ,又不是zk,因此这种方式行不通。需要单独下载一个zk的包进行使用

于是:从官网下载了一个 apache-zookeeper-3.6.2-bin.tar.gz 包。解压在个人目录下.

  1. cp  conf/zoo_sample.cfg conf/zoo.cfg

  2. vim zoo.cfg   添加两行

    dataDir=/Users/xxxxx/apache-zookeeper-3.6.2-bin/data#dataDir=/tmp/zookeeper(之前是这个值)dataLogDir=/Users/xxxxx/apache-zookeeper-3.6.2-bin/logs
    
  3. 执行 命令,报错提示有不存在的 option -e

    ➜  bin sh zkServer.sh --config ../conf start/usr/bin/javaZooKeeper JMX enabled by defaultUsing config: ../conf/zoo.cfgmkdir: illegal option -- eusage: mkdir [-pv] [-m mode] directory ...-n Starting zookeeper ...
    
  4. 修改 zkServer文件,查找 ZOO_DATADIR  发现有两个同名变量,注释掉第二个。

  5. 再次执行 成功:

发送消息

gradle idea

再git pull最新

再kafka导入,耗时很久