1
有所为,有所不为。
但是,具体做哪些,为什么做?需要心里有个明确的目标。
2
有天,在一朋友的朋友圈里讨论了 docker 如何管理自己的镜像?
大体有以下几个方法:
- 本地管理;(此朋友 images & container 均找不到了)
- Dockerfile;
- 三方 images & 三方托管;
- docker compose;
此文不比哪种方式更好,列出各种方式的原因是想说明每个人在能往同一个结果的途径是一样的,本人也鼓励不一样,但是我希望大家明白自己选择途径的理由是充分的,而不是人云亦云。
阿里云服务优惠码
阿里云双11服务器大减价
参加我的团更享活动价上再享5折优惠,预购从速!
3
对于各自开发环境的选择,开发测试中,本人都愿意自己编译、安装与配置。但是生产环境会倾向于官方发布的 release 版本。对于 Kafka 的深入学习过程,本人依旧是选择自行编译安装,尽管 Kafka 的编译过程无需太多人为处理。
4
以下是本人对 Kafka 编译安装过程的一点记录:
- 下载源码
wget http://mirrors.hust.edu.cn/apache/kafka/1.1.0/kafka-1.1.0-src.tgz
- 编译
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 的编译已经完成,安装就不再详述。
网友评论