From 3b9f3b97d39677c3f8a7947c60753ee1624d729e Mon Sep 17 00:00:00 2001 From: kev Date: Thu, 20 Feb 2020 19:29:06 +0800 Subject: [PATCH] add cmak --- README.md | 2 +- cmak/Dockerfile | 37 ++++++++++++++++++++++++++++++++ cmak/README.md | 6 ++++++ cmak/docker-compose.yml | 40 +++++++++++++++++++++++++++++++++++ kafka-manager/README.md | 4 +++- kafka-rest/docker-compose.yml | 30 ++++++++++++++++++++++++++ 6 files changed, 117 insertions(+), 2 deletions(-) create mode 100644 cmak/Dockerfile create mode 100644 cmak/README.md create mode 100644 cmak/docker-compose.yml diff --git a/README.md b/README.md index 98fe120..9289f8d 100644 --- a/README.md +++ b/README.md @@ -45,8 +45,8 @@ A collection of delicious docker recipes. - [x] airflow - [x] ambari +- [x] cmak (~kafka-manager~) - [x] kafka-arm -- [x] kafka-manager - [x] luigi - [x] nifi - [x] openrefine diff --git a/cmak/Dockerfile b/cmak/Dockerfile new file mode 100644 index 0000000..77442d6 --- /dev/null +++ b/cmak/Dockerfile @@ -0,0 +1,37 @@ +# +# Dockerfile for cmak +# + +FROM debian:buster +MAINTAINER kev + +ENV SCALA_VERSION 2.12.10 +ENV SBT_VERSION 1.3.8 +ENV CMAK_VERSION 3.0.0.1 + +RUN set -xe \ + && apt update \ + && apt install -y openjdk-11-jre-headless wget \ + && wget -q https://downloads.lightbend.com/scala/$SCALA_VERSION/scala-$SCALA_VERSION.deb -O scala.deb \ + && wget -q https://dl.bintray.com/sbt/debian/sbt-$SBT_VERSION.deb -O sbt.deb \ + && dpkg -i scala.deb sbt.deb \ + && rm scala.deb sbt.deb \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /opt/cmak + +RUN set -xe \ + && mkdir src \ + && wget -q -O- https://github.com/yahoo/CMAK/archive/$CMAK_VERSION.tar.gz | tar xz --strip 1 -C src \ + && cd src \ + && sbt clean universal:packageZipTarball \ + && cd .. \ + && tar xzf src/target/universal/cmak-$CMAK_VERSION.tgz --strip 1 \ + && rm -rf src + +VOLUME /opt/cmak/conf + +EXPOSE 9000 + +ENTRYPOINT ["bin/cmak"] +CMD ["-Dconfig.file=conf/application.conf", "-Dhttp.port=9000"] diff --git a/cmak/README.md b/cmak/README.md new file mode 100644 index 0000000..7ca0ad9 --- /dev/null +++ b/cmak/README.md @@ -0,0 +1,6 @@ +cmak +==== + +[CMAK][1] is a tool for managing Apache Kafka clusters. + +[1]: https://github.com/yahoo/cmak diff --git a/cmak/docker-compose.yml b/cmak/docker-compose.yml new file mode 100644 index 0000000..474d030 --- /dev/null +++ b/cmak/docker-compose.yml @@ -0,0 +1,40 @@ +version: "3.7" + +services: + + zookeeper: + image: zookeeper + ports: + - "2181:2181" + volumes: + - ./data/zookeeper/data:/data + - ./data/zookeeper/datalog:/datalog + restart: unless-stopped + + kafka: + image: wurstmeister/kafka + ports: + - "9092:9092" + volumes: + - ./data/kafka:/kafka + - /var/run/docker.sock:/var/run/docker.sock + environment: + - KAFKA_ADVERTISED_HOST_NAME=10.0.0.13 + - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 + - JMX_PORT=9999 + depends_on: + - zookeeper + restart: unless-stopped + + cmak: + image: vimagick/cmak + ports: + - "9000:9000" + environment: + - ZK_HOSTS=zookeeper:2181 + - KAFKA_MANAGER_AUTH_ENABLED=true + - KAFKA_MANAGER_USERNAME=admin + - KAFKA_MANAGER_PASSWORD=admin + depends_on: + - zookeeper + restart: unless-stopped diff --git a/kafka-manager/README.md b/kafka-manager/README.md index 276e737..3205d9d 100644 --- a/kafka-manager/README.md +++ b/kafka-manager/README.md @@ -3,4 +3,6 @@ kafka-manager A tool for managing Apache Kafka. -[1]: https://github.com/yahoo/kafka-manager +:warning: It is obsolete, please use [cmak][1] + +[1]: https://github.com/yahoo/cmak diff --git a/kafka-rest/docker-compose.yml b/kafka-rest/docker-compose.yml index ee2a444..add4460 100644 --- a/kafka-rest/docker-compose.yml +++ b/kafka-rest/docker-compose.yml @@ -13,6 +13,36 @@ services: - zookeeper:10.0.0.21 restart: unless-stopped + kafka-connect: + container_name: kafka-connect + image: confluentinc/cp-server-connect:5.4.0 + ports: + - 8083:8083 + depends_on: + - zookeeper + - kafka + - schema-registry + environment: + - CONNECT_REST_PORT=8083 + - CONNECT_REST_ADVERTISED_HOST_NAME=kafka-connect + - CONNECT_BOOTSTRAP_SERVERS=kafka:9092 + - CONNECT_GROUP_ID=default + - CONNECT_CONFIG_STORAGE_TOPIC=default.config + - CONNECT_OFFSET_STORAGE_TOPIC=default.offsets + - CONNECT_STATUS_STORAGE_TOPIC=default.status + - CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR=1 + - CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR=1 + - CONNECT_STATUS_STORAGE_REPLICATION_FACTOR=1 + - CONNECT_KEY_CONVERTER=io.confluent.connect.avro.AvroConverter + - CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL=http://schema-registry:8081 + - CONNECT_VALUE_CONVERTER=io.confluent.connect.avro.AvroConverter + - CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL=http://schema-registry:8081 + - CONNECT_INTERNAL_KEY_CONVERTER=org.apache.kafka.connect.json.JsonConverter + - CONNECT_INTERNAL_VALUE_CONVERTER=org.apache.kafka.connect.json.JsonConverter + - CONNECT_LOG4J_ROOT_LOGLEVEL=INFO + - CONNECT_LOG4J_LOGGERS=org.apache.kafka.connect.runtime.rest=WARN,org.reflections=ERROR + - CONNECT_PLUGIN_PATH=/usr/share/java + kafka-rest: image: confluentinc/cp-kafka-rest:5.4.0 container_name: kafka-rest