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。这种方式不仅简化了环境配置,还提高了服务管理的灵活性和效率。

相关推荐
eventer12319 小时前
在国产ARM64环境下从源码编译Greptime DB及构建Docker镜像实践
数据库·docker·容器
saber_andlibert19 小时前
【docker】网络基础和容器编排
网络·docker·php
pingzhuyan20 小时前
linux运维异常(总) - 排查与修复(系统yum,docker,网络dns解析等)
linux·运维·docker·centos·shell
Ribou20 小时前
LDAP安装docker版
运维·docker·容器
还有你Y1 天前
VScode远程连接docker容器教程
ide·vscode·docker
失伟1 天前
CDC(数据变更捕获)场景应用
mongodb·elasticsearch·kafka·kafka-connect
梦里不知身是客111 天前
flink的CDC 的种类
大数据·flink
天草二十六_简村人1 天前
jenkins打包制作Python镜像,并推送至docker仓库,部署到k8s
后端·python·docker·容器·kubernetes·jenkins
Msshu1231 天前
Type-C PD快充协议 PD快充诱骗协议芯片 PD/QC/FCP/SCP/AFC电压诱骗芯片
mongodb·zookeeper·eureka·kafka·consul
虚伪的空想家1 天前
首发:TDengine3.3.6版本使用K8S部署
java·docker·容器·kubernetes·k8s·时序数据库·tdengine