Centos 编译安装 Kafka

1

有所为,有所不为。
但是,具体做哪些,为什么做?需要心里有个明确的目标。

2

有天,在一朋友的朋友圈里讨论了 docker 如何管理自己的镜像?
大体有以下几个方法:

  • 本地管理;(此朋友 images & container 均找不到了)
  • Dockerfile;
  • 三方 images & 三方托管;
  • docker compose;

此文不比哪种方式更好,列出各种方式的原因是想说明每个人在能往同一个结果的途径是一样的,本人也鼓励不一样,但是我希望大家明白自己选择途径的理由是充分的,而不是人云亦云。

阿里云服务优惠码
阿里云双11服务器大减价
参加我的团更享活动价上再享5折优惠,预购从速!

3

对于各自开发环境的选择,开发测试中,本人都愿意自己编译、安装与配置。但是生产环境会倾向于官方发布的 release 版本。对于 Kafka 的深入学习过程,本人依旧是选择自行编译安装,尽管 Kafka 的编译过程无需太多人为处理。

4

以下是本人对 Kafka 编译安装过程的一点记录:

  1. 下载源码

wget http://mirrors.hust.edu.cn/apache/kafka/1.1.0/kafka-1.1.0-src.tgz

  1. 编译
    Kafka 核心是基于 scala 编写的,并运行于 JVM 中。Kafka 的编译也很简单,因为其是基于 gradle 管理的。编译 Kafka 之前未有接触,查了一下发现只需要简单的 gradle 就可以执行了。
# 解压源文件
tar xvf kafka-1.1.0-src.tgz
# 进入源码目录并开始编译
cd kafka-1.1.0-src
gradle

满心欢喜,事实上,如果你以前没有使用过 gradle 命令,会提示如下:

bash: gradle: command not found

现在,你不得不转去先安装 gradle

wget https://downloads.gradle.org/distributions/gradle-4.8.1-all.zip
mkdir /opt/gradle
unzip -d /opt/gradle/ gradle-4.8.1-all.zip
# 配置环境
vim  /etc/profile
export GRADLE_HOME=/opt/gradle/gradle-4.5.1
export PATH=$PATH:GRADLE_HOME/bin
source /etc/profile

安装完 gradle 后,执行 gradle。遗憾的时,如果你之前没有装 java 环境,你还需要去安装 java 环境。

# 编译
gradle
# 执行完后,会生成 gradlew 文件,打包
./gradlew --info releaseTarGzAll -x signArchives

编译打包后,会在 core/build/distributions/ 文件夹中生成 kafka_2.11-1.1.0.tgz 文件,此文件与 github 或者官方网站上下载的文件一致。如果你在编译中遇到了问题请继续往下看。

5

  • 有说要手动安装 scala 的,但实际上 gradle 会下载依赖文件。所以如果没有意外,不需要手动安装配置 scala
  • 如果进程失败退出并提示:

Process 'Gradle Worker Daemon 1' finished with non-zero exit value 137

这是因为执行过程中进程 gradle 进程未能退出:

ps aux | grep "gralde"
# 找到后并终止进程
kill xxxx

6

编译、运行 kafka-manager

wget https://github.com/yahoo/kafka-manager/archive/1.3.3.18.tar.gz
tar zxvf kafka-manager-1.3.3.18.tar.gz
cd kafka-manager-1.3.3.18/
./sbt clean dist

整个过程会很慢,几乎没有坑,只是下载过程会很慢。

# 修改配置后运行
./bin/kafka-manager ./conf/application.conf

到此,Kafka 的编译已经完成,安装就不再详述。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,422评论 19 139
  • “你有大女儿吗?”旁边正在削芒果皮的女儿问。“这是昵称好不好,听上去亲切”。今天是大年初四,现在是晚上19...
    ferrywly阅读 1,820评论 2 2
  • 你说要种一棵树 用童真去灌溉 用无邪去施肥 枯萎的枝叶也发芽 明天会收获 很多 很多快乐的花 我说陪你种一棵树 用...
    枫子夜阅读 2,688评论 2 5
  • 装满人的铁皮盒子没有看见我,拖着红色的尾灯跑远了。一阵风吹过来,把黄的绿的灯混了颜色。空旷的马路上,我和我的四个影...
    6986288f0d8f阅读 1,527评论 0 1
  • 今晚先更七月和八月的吧
    柚子多多阅读 5,319评论 0 4