Docker环境安装Kafka、Flink、ClickHouse镜像

在大数据处理和实时数据分析的场景中,Kafka、Flink和ClickHouse是常用的工具。使用Docker来安装和管理这些服务可以简化环境配置和部署。本文将详细介绍如何在Docker环境下安装Kafka、Flink和ClickHouse镜像。

一、准备工作

在开始之前,请确保已经安装了Docker和Docker Compose。可以使用以下命令检查安装情况:

复制代码
docker --version
docker-compose --version

二、编写Docker Compose文件

创建一个新的目录来存放Docker Compose文件,例如 bigdata-docker

复制代码
mkdir bigdata-docker
cd bigdata-docker

在该目录下创建一个名为 docker-compose.yml的文件,并添加以下内容:

复制代码
version: '3.8'

services:
  zookeeper:
    image: wurstmeister/zookeeper:3.4.6
    container_name: zookeeper
    ports:
      - "2181:2181"

  kafka:
    image: wurstmeister/kafka:2.13-2.7.0
    container_name: kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    depends_on:
      - zookeeper

  flink-jobmanager:
    image: flink:1.13.2
    container_name: flink-jobmanager
    ports:
      - "8081:8081"
    environment:
      - JOB_MANAGER_RPC_ADDRESS=flink-jobmanager
    command: jobmanager
    depends_on:
      - kafka

  flink-taskmanager:
    image: flink:1.13.2
    container_name: flink-taskmanager
    depends_on:
      - flink-jobmanager
    environment:
      - JOB_MANAGER_RPC_ADDRESS=flink-jobmanager
    command: taskmanager

  clickhouse:
    image: yandex/clickhouse-server:latest
    container_name: clickhouse
    ports:
      - "8123:8123"
      - "9000:9000"
      - "9009:9009"

三、启动服务

docker-compose.yml文件所在的目录中,运行以下命令来启动所有服务:

复制代码
docker-compose up -d

该命令会在后台启动Kafka、Flink和ClickHouse服务。可以使用以下命令查看容器的运行状态:

复制代码
docker-compose ps

四、验证安装

1. 验证Kafka

进入Kafka容器并创建一个主题:

复制代码
docker-compose exec kafka /bin/sh
kafka-topics.sh --create --topic test-topic --bootstrap-server kafka:9092 --replication-factor 1 --partitions 1
kafka-topics.sh --list --bootstrap-server kafka:9092

访问Flink的Web UI,查看任务管理界面:

复制代码
http://localhost:8081
3. 验证ClickHouse

进入ClickHouse容器并执行SQL命令:

复制代码
docker-compose exec clickhouse /bin/bash
clickhouse-client -m
CREATE DATABASE test;
SHOW DATABASES;

五、总结

通过Docker Compose,可以轻松地在本地环境中部署和管理Kafka、Flink和ClickHouse。这种方式不仅简化了环境配置,还提高了服务管理的灵活性和效率。

相关推荐
江湖有缘7 小时前
从零开始:基于 Docker Compose部署高可用 Miniflux RSS阅读器
运维·docker·容器
林鸿风采9 小时前
在Alpine Linux上部署docker和Portainer管理工具
linux·运维·docker·portainer
林_学9 小时前
我扔掉了本地环境,从编码到上线只花了3分钟
docker
怜淇11 小时前
docker拉取openjdk8:jre失败
java·docker·容器
❀͜͡傀儡师14 小时前
docker部署BentoPDF应用
运维·docker·容器
为爱停留14 小时前
Spring Boot 应用配置参数化实践:通过 Docker Run 参数传递配置
spring boot·后端·docker
林鸿风采15 小时前
在Alpine Linux上部署docker,并配置开机自启
linux·docker·eureka·alpine
江湖有缘15 小时前
Docker快速部署NeonLink:打造你的私人书签管理平台
运维·docker·容器
间彧15 小时前
docker中如何使用Arthas诊断工具
docker
zzxxlty16 小时前
kafka C++ 和 java端计算分区ID不一致排查
java·c++·kafka