flink sql 知其所以然(十六):flink sql 开发企业级利器之 Dlink

news/2024/11/9 9:34:23/

1.序篇

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

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

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

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

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

  • Apache Zeppelin

  • Dlink

为啥先介绍 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 上进行,其他环境未测试。

环境版本备注
jdk1.8.0_201web 基础环境
mysql8.0+存储 web IDE 作业,集群等信息
nginx博主使用的是 1.21.1web 前端访问

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/ -- 配置文件
|- application.yml
lib/ -- 外部依赖及Connector
|- dlink-client-1.13-0.4.0.jar
|- dlink-connector-jdbc-1.13-0.4.0.jar
|- dlink-function-0.4.0.jar
|- dlink-metadata-clickhouse-0.4.0.jar
|- dlink-metadata-mysql-0.4.0.jar
|- dlink-metadata-oracle-0.4.0.jar
|- dlink-metadata-postgresql-0.4.0.jar
sql/
|- dlink.sql -- Mysql初始化脚本
auto.sh -- 启动停止脚本
dlink-admin-0.4.0.jar -- 程序包

3.4.配置 Dlink MySQL

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

第一步:创建 MySQL dlink 库。

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

> mysql -u用户名 -p密码mysql> create database dlink;
mysql> show databases;

图片

Dlink MySQL

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

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

图片

Dlink MySQL Table

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

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

图片

application.yml

3.5.启动 web 后端

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

sh auto.sh start

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

图片

bash error

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

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

解决方案如下:

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

其他命令:

# 停止
sh auto.sh stop
# 重启
sh auto.sh restart
# 状态
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 configgzip 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 了。

4.总结及展望

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

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

5.Dlink 社区交流

欢迎您加入社区交流分享与批评,也欢迎您为社区贡献自己的力量。

QQ社区群:543709668,申请备注 Dlink,不写不批。

微信社区群(推荐):添加 wenmo_ai ,申请备注 Dlink,邀请进群。

公众号:DataLink数据中台

图片

DataLink数据中台


http://www.ppmy.cn/news/628715.html

相关文章

C++ Primer Plus笔记: 2023.06.28

1.对数组应用sizeof运算符后得到的是数组的长度&#xff0c;而对指针应用sizeof得到的是指针的长度&#xff0c;即使指针指向的是一个数组。在这种情况下&#xff0c;C不会将数组名解释为地址。 2.数组名被解释为第一个元素的地址&#xff0c;而对数组名应用地址运算符时&…

C++关闭桌面

C关闭桌面,explorer.exe #include<Windows.h> #include <TlHelp32.h> #include"resource.h" #pragma warning(disable:4996) void taskkill(const char * name) {HANDLE info_handle CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //拍摄系统中所…

带控制面板英伟达驱动下载地址

原理&#xff1a;去掉官方原有下载地址里面的DCH&#xff0c;451.67对应你要下载驱动的版本号可以修改 https://cn.download.nvidia.cn/Windows/451.67/451.67-desktop-win10-64bit-international-whql.exe https://cn.download.nvidia.cn/Windows/451.67/451.67-desktop-win10…

更新英伟达驱动

官方 GeForce 驱动程序 | NVIDIA

MSI驱动指南HOWTO

MSI 4. MSI驱动指南HOWTO4.1. 关于本指南4.2. 什么是 MSI&#xff1f;4.3. 为什么要使用 MSI&#xff1f;4.4. 如何使用 MSI4.4.1. 包括对 MSI 的内核支持4.4.2. 使用MSI4.4.3. 传统API4.4.4. 使用 MSI 时的注意事项4.4.4.1 自旋锁 4.4.5. 如何判断设备上是否启用了 MSI/MSI-X …

python+django迁移数据库成功但是数据库中还没表产生

1、删除原来的文件&#xff08;我这没了&#xff0c;反正就是之前执行下面两条命令生成的文件&#xff09; python manage.py makemigrations python manage.py migrate2、检查settings.py中DATABASES参数&#xff0c;首先是数据库的信息对不对。我这里是因为ENGINE“django.d…

常用中间件docker安装

zookeeper docker run -d --name zookeeper -p 2181:2181 --restart always -e ZOO_MY_ID1 -e ALLOW_ANONYMOUS_LOGINyes -e TZAsia/Shanghai -v /etc/localtime:/etc/localtime zookeeper:3.7kafka # 注意&#xff1a;KAFKA_CFG_ADVERTISED_LISTENERS要改成你自己宿主机的IP…

电脑中的hiberfil.sys删除操作

电脑中的hiberfil.sys删除操作  1、以管理员运行CMD, 输入以下命令:POWERCFG -H OFF  2、恢复休眠功能&#xff0c;即以管理员运行CMD, 打以下命令: POWERCFG -H on