概要

Apache Kafaka を試してみたときの記録です

kafka ってなに?

分散メッセージングキューを実現するOSS MQ の親戚みたいなやつ zookeeper を内部で使っているため zookeeperも同時に起動する必要がある

zookeeper?

設定情報の集中管理を行うサービス 分散ホストで共有の名前空間を使用することができます

今後 zookeeepr依存の削除が行われる予定 https://mag.osdn.jp/20/12/25/122300

zookeeper依存の削除版

Kafaka 2.8.0 に kraft(EAR)が同梱されてる これが zookeeper 依存削除版のようです

早速動かしてみる

公式ドキュメントの quickstart 通り動かすと秒で起動します https://kafka.apache.org/documentation/#quickstart 便利。

Docker

DL、起動までをDockerfileにしてみました

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
FROM alpine

ENV KAFKA_VERSION 2.8.0
ENV SCALA_VERSION 2.13

WORKDIR /root

RUN apk --update add \
    bash \
    vim \
    git \
    openjdk8-jre jq tar curl

RUN mkdir -p /opt \
	&& mirror=$(curl --stderr /dev/null https://www.apache.org/dyn/closer.cgi\?as_json\=1 | jq -r '.preferred') \
	&& wget "${mirror}kafka/${KAFKA_VERSION}/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz" \
	&& tar -xzvf kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz

WORKDIR /root/kafka_${SCALA_VERSION}-${KAFKA_VERSION}
CMD bin/zookeeper-server-start.sh config/zookeeper.properties& \
    bin/kafka-server-start.sh config/server.properties

資料

https://kafka.apache.org/documentation https://blog.chocolapod.net/momokan/entry/106 https://qiita.com/sigmalist/items/5a26ab519cbdf1e07af3