Dinky项目部署指南:从零开始搭建大数据开发平台

Dinky项目部署指南:从零开始搭建大数据开发平台

dinky Dinky is an out-of-the-box, one-stop, real-time computing platform dedicated to the construction and practice of Unified Streaming & Batch and Unified Data Lake & Data Warehouse. Based on Apache Flink, Dinky provides the ability to connect many big data frameworks including OLAP and Data Lake. dinky 项目地址: https://gitcode.com/gh_mirrors/di/dinky

前言

Dinky作为一款开源的实时计算平台,为大数据开发者提供了便捷的Flink作业开发和管理能力。本文将详细介绍Dinky的完整部署流程,帮助开发者快速搭建自己的大数据开发环境。

一、环境准备

在开始部署Dinky之前,需要确保满足以下基本条件:

  1. 操作系统:支持Linux系统(推荐CentOS 7+或Ubuntu 16.04+)
  2. Java环境:JDK 1.8+
  3. 数据库:MySQL 5.7+(用于存储元数据和作业信息)
  4. 网络:确保服务器网络通畅,能够访问所需资源

二、Dinky安装部署

1. 解压安装包

Dinky采用绿色安装方式,无需复杂的安装过程:

# 解压安装包
tar -zxvf dinky-release-{version}.tar.gz

# 重命名并进入目录
mv dinky-release-{version} dinky
cd dinky

2. 配置文件修改

Dinky的核心配置文件位于config/application.yml,主要需要配置数据库连接信息:

spring:
  datasource:
    url: jdbc:mysql://{mysql_host}:3306/dinky?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
    username: dinky
    password: dinky
    driver-class-name: com.mysql.jdbc.Driver

3. 依赖管理

Dinky需要与Flink环境配合使用,需要特别注意依赖管理:

  1. Flink版本适配:Dinky支持Flink 1.11到1.16多个版本,需要将对应版本的依赖放入plugins/flink${FLINK_VERSION}目录
  2. Hadoop集成:如需与YARN集成,需要添加flink-shaded-hadoop依赖包

4. 目录结构说明

完整的Dinky项目目录结构如下:

├── auto.sh            # 启停脚本
├── config             # 配置文件目录
├── jar                # 适配不同Flink版本的JAR包
├── lib                # 核心依赖库
├── plugins            # 插件目录(按Flink版本分类)
└── sql                # 数据库初始化脚本

三、数据库初始化

1. 创建数据库

首先需要在MySQL中创建Dinky使用的数据库:

-- MySQL 5.x版本
CREATE DATABASE dinky;
GRANT ALL PRIVILEGES ON dinky.* TO 'dinky'@'%' IDENTIFIED BY 'dinky';
FLUSH PRIVILEGES;

-- MySQL 8.x版本
CREATE DATABASE dinky;
CREATE USER 'dinky'@'%' IDENTIFIED WITH mysql_native_password BY 'dinky';
GRANT ALL PRIVILEGES ON dinky.* TO 'dinky'@'%';
FLUSH PRIVILEGES;

2. 执行初始化脚本

使用Dinky提供的SQL脚本初始化数据库:

mysql -h {host} -udinky -pdinky dinky < sql/dinky.sql

四、服务启动与管理

Dinky提供了便捷的启停脚本:

# 启动服务(默认Flink 1.14版本)
./auto.sh start

# 指定Flink版本启动
./auto.sh start 1.15

# 停止服务
./auto.sh stop

# 重启服务
./auto.sh restart

# 查看服务状态
./auto.sh status

五、可选配置

1. Nginx反向代理(前后端分离部署)

如需实现前后端分离部署,可以配置Nginx:

  1. 安装Nginx:

    yum -y install epel-release
    yum -y install nginx
    
  2. 修改Nginx配置:

    server {
        listen 9999;
        server_name your_domain;
    
        location / {
            root /path/to/frontend;
            index index.html;
            try_files $uri $uri/ /index.html;
        }
    
        location ^~ /api {
            proxy_pass http://backend_ip:8888;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    
  3. 重启Nginx使配置生效:

    systemctl restart nginx
    

2. Flink任务监控

Dinky支持对Flink任务进行监控,具体配置可参考官方文档中的监控模块说明。

六、访问与验证

服务启动成功后,可以通过以下方式访问:

  1. 直接访问后端服务:

    http://服务器IP:8888
    

    默认用户名/密码:admin/admin

  2. 如果配置了Nginx反向代理:

    http://服务器IP:9999
    

七、常见问题与解决方案

  1. 依赖冲突问题:特别是Hadoop环境下的依赖冲突,需要仔细检查并排除冲突的JAR包
  2. 数据库连接失败:检查application.yml中的数据库配置是否正确,确保数据库服务可访问
  3. 端口冲突:如果8888端口被占用,可在配置文件中修改server.port参数
  4. 版本不匹配:确保Dinky版本与Flink版本对应,依赖包放置在正确的目录下

结语

通过本文的详细指导,您应该已经成功完成了Dinky平台的部署。Dinky作为一款强大的实时计算开发平台,能够显著提升Flink作业的开发效率和管理能力。后续可以根据实际需求,进一步配置集群连接、告警通知等高级功能。

dinky Dinky is an out-of-the-box, one-stop, real-time computing platform dedicated to the construction and practice of Unified Streaming & Batch and Unified Data Lake & Data Warehouse. Based on Apache Flink, Dinky provides the ability to connect many big data frameworks including OLAP and Data Lake. dinky 项目地址: https://gitcode.com/gh_mirrors/di/dinky

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白来存

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值