文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Flink SQL 知其所以然之Flink SQL 开发企业级利器之 Dlink

2024-12-02 14:25

关注

1.序篇

博主这个系列都是讲 flink sql 相关的实践的。

讲到这个章节,其实挺多常用的 flink sql 语法及实战案例都已经讲了。

那么原理讲了,得在自己家公司把 flink sql 这等好东西用起来啊。

搞大数据开发的同学基本都知道在 HUE 上面写 hive sql 贼爽。那么有没有写 flink sql 的企业级的 web IDE 推荐的呢?

经过博主调研之后,发现有两款非常优秀的利器:

为啥先介绍 Dlink 呢?

因为博主和其开发人员混的很熟了,所以就先拿 Dlink 来尝试尝试。

废话不多说,大家都想先看效果再看怎么部署。先看看最终效果。

2.Dlink 平台效果

2.1.登录

登录

登录账号和密码默认为 admin/admin。

2.2.flink sql 开发界面

具体功能如下图所示:

sql 开发

注意:

预跑就是用于快速验证 sql 是否是正确的,可以快速以 standalone 模式跑出来一个结果。肥肠地好用。想看到预跑的结果,在 sql 中不能写 insert into xxx 这段。

可以看到是一个功能很齐全的 web IDE。

接下来我们看看怎么安装部署 Dlink 0.4.0。

3.安装部署篇

3.1.Dlink 的 github

源码直接去 github 上看,已经开源了,链接如下。

https://github.com/DataLinkDC/dlink

3.2.部署环境准备

此部署示例是在 Mac OS 上进行,其他环境未测试。

环境 版本 备注
jdk 1.8.0_201 web 基础环境
mysql 8.0+ 存储 web IDE 作业,集群等信息
nginx 博主使用的是 1.21.1 web 前端访问

3.3.下载解压 Dlink 安装包

博主是基于 Dlink 0.4.0 版本部署安装的。

下载 Dlink 0.4.0 安装包。

我们打开 Dlink 0.4.0 release Notes 看看,链接如下:

https://github.com/DataLinkDC/dlink/releases/tag/0.4.0

打开上述 0.4.0 release Notes 链接后,点击下图中的 dlink-release-0.4.0.tar.gz 下载 Dlink 0.4.0 的安装包。

Dlink 下载

解压 Dlink 0.4.0 安装包看看。

Dlink

解压后得到的 dlink-release-0.4.0 目录结构如下:

注意这里只是 Dlink 相关的包和文件,flink 任务的执行必然还会依赖到 flink 相关的包,这就需要你在 dlink-release-0.4.0 目录下自己创建一个 plugins 文件夹。并且将 flink 相关的 jar 放在 plugins 文件夹下。即从 https://archive.apache.org/dist/flink/flink-1.13.2/ 下载对应的 flink tar.gz 到本地后,将解压后的 flink jar 全部 copy 到 plugins 文件夹下即可。

config/ -- 配置文件

  1. config/ -- 配置文件 
  2. |- application.yml 
  3. lib/ -- 外部依赖及Connector 
  4. |- dlink-client-1.13-0.4.0.jar 
  5. |- dlink-connector-jdbc-1.13-0.4.0.jar 
  6. |- dlink-function-0.4.0.jar 
  7. |- dlink-metadata-clickhouse-0.4.0.jar 
  8. |- dlink-metadata-mysql-0.4.0.jar 
  9. |- dlink-metadata-oracle-0.4.0.jar 
  10. |- dlink-metadata-postgresql-0.4.0.jar 
  11. sql/ 
  12. |- dlink.sql -- Mysql初始化脚本 
  13. auto.sh -- 启动停止脚本 
  14. dlink-admin-0.4.0.jar -- 程序包 

3.4.配置 Dlink MySQL

既然是一个 web IDE,必然会存储一些 web 应用相关的信息。这些信息就是存储在 MySQL 中的。

创建 MySQL dlink 库。

使用 MySQL-cli 连接 MySQL 创建库。

  1. > mysql -u用户名 -p密码 
  2.  
  3. mysql> create database dlink; 
  4. mysql> show databases; 

Dlink MySQL

使用 Dlink 的 sql 脚本(dlink 目录\sql 目录\dlink.sql)初始化 Dlink 数据库表信息,具体初始化命令行如下。

  1. > mysql -h localhost -u用户名 -p密码 -Ddlink < dlink.sql 
  2. > mysql -u用户名 -p密码 
  3. mysql> use dlink; 
  4. mysql> show tables; 

Dlink MySQL Table

Dlink 也是个 web 项目,用的是 SpringBoot 那一套东西,所以连接 MySQL 得需要进行 Spring 相关的配置。

所以需要去 dlink 目录\config 目录\application.yml 中修改 MySQL 相关的配置。由于博主是在本地部署。所以涉及到改动的只有用户名和密码,改完之后保存。

application.yml

3.5.启动 web 后端

Dlink 是前后端分离的,刚刚我们配置了 MySQL 相关的环境,则可以直接启动后端了,后端占用的端口是 8888,启动命令如下。

  1. sh auto.sh start 

在 Mac OS 下启动可能会遇到下面的问题:

bash error

这个错误的原因如下链接:

https://jingyan.baidu.com/article/9f63fb91d014b8c8410f0e7a.html

解决方案如下:

直接把 auto.sh 在其他编辑器中重新复制出来一个 auto1.sh 启动就可以。

其他命令:

  1. # 停止 
  2. sh auto.sh stop 
  3. # 重启 
  4. sh auto.sh restart 
  5. # 状态 
  6. sh auto.sh status 

运行日志:

控制台输出:项目根目录下的 dlink.log 文件。

日志归档输出:项目根目录下的 logs 目录下。

3.6.配置 web 前端

前端都是一些静态文件,Dlink 使用 Nginx 作为访问前端静态文件的服务器。

Nginx 在 Mac OS 的安装,如下链接:

https://www.jianshu.com/p/4f433d219ab7

在 nginx.conf 文件中配置 Dlink 的 server 信息。

本地安装的话,直接把下面这段 copy 到 nginx.conf 中对应的 server 配置下就行。

server {

listen 9999;

server_name localhost;

# gzip config

gzip on;

gzip_min_length 1k;

gzip_comp_level 9;

gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;

gzip_vary on;

gzip_disable "MSIE [1-6]\.";

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

root html;

index index.html index.htm;

try_files $uri $uri/ /index.html;

}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

location ^~ /api {

proxy_pass http://127.0.0.1:8888;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_set_header X-Real-IP $remote_addr;

}

}

注意,重点。一定要将 【dlink 目录\html 目录\所有文件】上传至 Nginx 的 [html 目录]下。不然访问 http://127.0.0.1:9999 啥都看不到。

reload Nginx 配置信息。

然后我们就可以 happy 的使用 Dlink 了。

总结及展望

其他功能博主还在测试中。

 

引用 Dlink 官网的介绍,Dlink 将紧跟 Flink 官方社区发展,为推广及发展 Flink 的应用而奋斗,打造 FlinkSQL 的最佳搭档的形象。

 

来源: 大数据羊说内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯