diff --git a/README.en-US.md b/README.en-US.md index cdc58ef7ca..c1432e179b 100644 --- a/README.en-US.md +++ b/README.en-US.md @@ -17,12 +17,12 @@ Dinky 基于 Apache Flink 实现 Dlink ,增强 Flink 的应用与体验,探 ## 特点 -一个基于 `Apache Flink` 二次开发且 `易扩展` 的 `一站式` 开发运维 `FlinkSQL` 及 `SQL` 的实时计算平台。致力于解决 `实时` 与 `离线` 数据开发、数仓建设流程中大量复杂的 `数据口径`,使 `实时、准实时、离线一体`的数据开发平台在数据治理流程中`开箱即用`。 +一个 `开箱即用` 、`易扩展` 的 `一站式` 实时计算平台,以 `Apache Flink` 为基础,连接 `OLAP` 和 `数据湖` 等众多框架,致力于 `流批一体` 和 `湖仓一体` 的建设与实践。 其主要目标如下: - 可视化交互式 FlinkSQL 和 SQL 的数据开发平台:自动提示补全、语法高亮、调试执行、语法校验、语句美化、全局变量等 -- 支持全面的多版本的 FlinkSQL 作业提交方式:Local、Standalone、Yarn Session、Yarn Per-Job、Kubernetes Session、Kubernetes Application +- 支持全面的多版本的 FlinkSQL 作业提交方式:Local、Standalone、Yarn Session、Yarn Per-Job、Yarn Application、Kubernetes Session、Kubernetes Application - 支持 Apache Flink 所有的 Connector、UDF、CDC等 - 支持 FlinkSQL 语法增强:兼容 Apache Flink SQL、表值聚合函数、全局变量、CDC多源合并、执行环境、语句合并、共享会话等 - 支持易扩展的 SQL 作业提交方式:ClickHouse、Doris、Hive、Mysql、Oracle、Phoenix、PostgreSql、SqlServer 等 @@ -114,7 +114,8 @@ Dinky 基于 Apache Flink 实现 Dlink ,增强 Flink 的应用与体验,探 ## 如何升级到最新 -执行 sql 目录下的 dlink_history.sql 中的部分升级语句,依据是通过版本号与日期来判断从何处开始执行,请不要直接执行全部 sql。 +由于功能较多,所以 bug 及优化点较多,强烈建议你使用或升级到最新版本。 +替换最新 Dinky 所有依赖包 ,执行 sql 目录下的 dlink_history.sql 中的部分升级语句,依据是通过版本号与日期来判断从何处开始执行,请不要直接执行全部 sql。 ## 感谢 diff --git a/README.md b/README.md index cdc58ef7ca..c1432e179b 100644 --- a/README.md +++ b/README.md @@ -17,12 +17,12 @@ Dinky 基于 Apache Flink 实现 Dlink ,增强 Flink 的应用与体验,探 ## 特点 -一个基于 `Apache Flink` 二次开发且 `易扩展` 的 `一站式` 开发运维 `FlinkSQL` 及 `SQL` 的实时计算平台。致力于解决 `实时` 与 `离线` 数据开发、数仓建设流程中大量复杂的 `数据口径`,使 `实时、准实时、离线一体`的数据开发平台在数据治理流程中`开箱即用`。 +一个 `开箱即用` 、`易扩展` 的 `一站式` 实时计算平台,以 `Apache Flink` 为基础,连接 `OLAP` 和 `数据湖` 等众多框架,致力于 `流批一体` 和 `湖仓一体` 的建设与实践。 其主要目标如下: - 可视化交互式 FlinkSQL 和 SQL 的数据开发平台:自动提示补全、语法高亮、调试执行、语法校验、语句美化、全局变量等 -- 支持全面的多版本的 FlinkSQL 作业提交方式:Local、Standalone、Yarn Session、Yarn Per-Job、Kubernetes Session、Kubernetes Application +- 支持全面的多版本的 FlinkSQL 作业提交方式:Local、Standalone、Yarn Session、Yarn Per-Job、Yarn Application、Kubernetes Session、Kubernetes Application - 支持 Apache Flink 所有的 Connector、UDF、CDC等 - 支持 FlinkSQL 语法增强:兼容 Apache Flink SQL、表值聚合函数、全局变量、CDC多源合并、执行环境、语句合并、共享会话等 - 支持易扩展的 SQL 作业提交方式:ClickHouse、Doris、Hive、Mysql、Oracle、Phoenix、PostgreSql、SqlServer 等 @@ -114,7 +114,8 @@ Dinky 基于 Apache Flink 实现 Dlink ,增强 Flink 的应用与体验,探 ## 如何升级到最新 -执行 sql 目录下的 dlink_history.sql 中的部分升级语句,依据是通过版本号与日期来判断从何处开始执行,请不要直接执行全部 sql。 +由于功能较多,所以 bug 及优化点较多,强烈建议你使用或升级到最新版本。 +替换最新 Dinky 所有依赖包 ,执行 sql 目录下的 dlink_history.sql 中的部分升级语句,依据是通过版本号与日期来判断从何处开始执行,请不要直接执行全部 sql。 ## 感谢 diff --git a/README.zh-CN.md b/README.zh-CN.md index cdc58ef7ca..c1432e179b 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -17,12 +17,12 @@ Dinky 基于 Apache Flink 实现 Dlink ,增强 Flink 的应用与体验,探 ## 特点 -一个基于 `Apache Flink` 二次开发且 `易扩展` 的 `一站式` 开发运维 `FlinkSQL` 及 `SQL` 的实时计算平台。致力于解决 `实时` 与 `离线` 数据开发、数仓建设流程中大量复杂的 `数据口径`,使 `实时、准实时、离线一体`的数据开发平台在数据治理流程中`开箱即用`。 +一个 `开箱即用` 、`易扩展` 的 `一站式` 实时计算平台,以 `Apache Flink` 为基础,连接 `OLAP` 和 `数据湖` 等众多框架,致力于 `流批一体` 和 `湖仓一体` 的建设与实践。 其主要目标如下: - 可视化交互式 FlinkSQL 和 SQL 的数据开发平台:自动提示补全、语法高亮、调试执行、语法校验、语句美化、全局变量等 -- 支持全面的多版本的 FlinkSQL 作业提交方式:Local、Standalone、Yarn Session、Yarn Per-Job、Kubernetes Session、Kubernetes Application +- 支持全面的多版本的 FlinkSQL 作业提交方式:Local、Standalone、Yarn Session、Yarn Per-Job、Yarn Application、Kubernetes Session、Kubernetes Application - 支持 Apache Flink 所有的 Connector、UDF、CDC等 - 支持 FlinkSQL 语法增强:兼容 Apache Flink SQL、表值聚合函数、全局变量、CDC多源合并、执行环境、语句合并、共享会话等 - 支持易扩展的 SQL 作业提交方式:ClickHouse、Doris、Hive、Mysql、Oracle、Phoenix、PostgreSql、SqlServer 等 @@ -114,7 +114,8 @@ Dinky 基于 Apache Flink 实现 Dlink ,增强 Flink 的应用与体验,探 ## 如何升级到最新 -执行 sql 目录下的 dlink_history.sql 中的部分升级语句,依据是通过版本号与日期来判断从何处开始执行,请不要直接执行全部 sql。 +由于功能较多,所以 bug 及优化点较多,强烈建议你使用或升级到最新版本。 +替换最新 Dinky 所有依赖包 ,执行 sql 目录下的 dlink_history.sql 中的部分升级语句,依据是通过版本号与日期来判断从何处开始执行,请不要直接执行全部 sql。 ## 感谢 diff --git a/docs/zh-CN/quick_start/deploy.md b/docs/zh-CN/quick_start/deploy.md index 748dbbe103..9b2c801fc0 100644 --- a/docs/zh-CN/quick_start/deploy.md +++ b/docs/zh-CN/quick_start/deploy.md @@ -2,19 +2,17 @@ ### 解压到指定目录 -Dlink 不依赖任何外部的 Hadoop 或者 Flink 环境,可以单独部署在 flink、 hadoop 和 K8S 集群之外,完全解耦,支持同时连接多个不同的集群实例进行运维。 +Dinky 不依赖任何外部的 Hadoop 或者 Flink 环境,可以单独部署在 flink、 hadoop 和 K8S 集群之外,完全解耦,支持同时连接多个不同的集群实例进行运维。 ``` -tar -zxvf dlink-release-0.5.0-SNAPSHOT.tar.gz -mv dlink-release-0.5.0-SNAPSHOT dlink +tar -zxvf dlink-release-0.6.1.tar.gz +mv dlink-release-0.6.1 dlink cd dlink ``` -说明:安装目录根据自身情况而定。 - ### 初始化数据库 -Dlink采用mysql作为后端的存储库,mysql支持5.6+。这里假设你已经安装了mysql。首先需要创建Dlink的后端数据库,这里以配置文件中默认库创建。 +Dinky 采用 mysql 作为后端的存储库,mysql 支持 5.6+。这里假设你已经安装了 mysql 。首先需要创建 Dinky 的后端数据库,这里以配置文件中默认库创建。 ``` #登录mysql @@ -23,15 +21,15 @@ mysql -uroot -proot@123 mysql> grant all privileges on *.* to 'dlink'@'%' identified by 'dlink' with grant option; mysql> grant all privileges on *.* to 'dlink'@'fdw1' identified by 'dlink' with grant option; mysql> flush privileges; -#此处用dlink用户登录 +#此处用 dlink 用户登录 mysql -h fdw1 -udlink -pdlink mysql> create database dlink; ``` -在dlink根目录sql文件夹下有2个sql文件,分别是dlink.sql和dlink_history.sql。如果第一次部署,可以直接将dlink.sql文件在dlink数据库下执行。(如果之前已经建立了 dlink 的数据库,那 dlink_history.sql 存放了各版本的升级 sql ,根据版本号按需执行即可) +在 Dinky 根目录 sql 文件夹下有 2 个 sql 文件,分别是 dlink.sql 和 dlink_history.sql。如果第一次部署,可以直接将 dlink.sql 文件在 dlink 数据库下执行。(如果之前已经建立了 dlink 的数据库,那 dlink_history.sql 存放了各版本的升级 sql ,根据版本号及日期按需执行即可) ``` -#首先登录mysql +#首先登录 mysql mysql -h fdw1 -udlink -pdlink mysql> use dlink; mysql> source /opt/dlink/sql/dlink.sql @@ -39,7 +37,7 @@ mysql> source /opt/dlink/sql/dlink.sql ### 配置文件 -创建好数据库后,就可以修改dlink连接mysql的配置文件啦,根据个人情况修改。配置文件比较简单,这里就不多说了。 +创建好数据库后,修改 Dinky 连接 mysql 的配置文件。 ``` #切换目录 @@ -47,13 +45,9 @@ cd /opt/dlink/config/ vim application.yml ``` -配置文件修改好后,下一步就是安装nginx。如果已安装nginx可以忽略。因为Dlink部署需要nginx,所以先要部署nginx,配置完成后,才能正常启动。 - -执行完成后,接下来,部署nginx服务。 +### 部署 nginx(可选) -### 部署nginx - -在linux,首先要配置好相应的yum库,因为在安装过程中没有配置,这里可以大概讲述下步骤,可以选择连接网络或者本地yum源都可以,这里选择连接网络方式配置。 +在 linux,首先要配置好相应的 yum 库,因为在安装过程中没有配置,这里可以大概讲述下步骤,可以选择连接网络或者本地 yum 源都可以,这里选择连接网络方式配置。 ``` #下载yum源 @@ -71,18 +65,18 @@ nginx -v ps -ef|grep nginx ``` -说明:Dinky-0.5.0以上版本部署nginx可选 +说明: Dinky-0.5.0 以上版本部署 nginx 为可选 -### nginx中配置dlink +### nginx中配置 Dinky(可选) -如果是yum源安装的nginx,配置文件在etc下,如果是源码包安装,请自行找到配置文件 +如果是 yum 源安装的 nginx,配置文件在 etc 下,如果是源码包安装,请自行找到配置文件 ``` #切换到nginx配置目录 cd /etc/nginx/ ``` -vim /etc/nginx/nginx.conf打开配置文件,修改server中的内容,其中server中的内容按照如下配置即可。 +vim /etc/nginx/nginx.conf 打开配置文件,修改 server 中的内容,其内容按照如下配置即可。 ``` server { @@ -125,13 +119,9 @@ vim /etc/nginx/nginx.conf打开配置文件,修改server中的内容,其中s - listen 监听端口; - 存放html路径; -- location / 这里可以指定为绝对路径 - -红色部分就是所修改的地方 +- location / 这里可以指定为绝对路径 -![img](https://uploader.shimo.im/f/oMgh98EYnLQLfoD6.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2NDQ0ODA0NjgsImciOiJLd3Zwd0NnV2gzSFZnRDlDIiwiaWF0IjoxNjQ0NDgwMTY4LCJ1c2VySWQiOjE2NTQ4MzA4fQ.e31W51Lq59fEeB-ZQREcAIYIiJWHsQVXGRkMcyMgLFI) - -配置完成后,保存退出。并重启nginx并重新加载生效 +配置完成后,保存退出。并重启 nginx 并重新加载生效 ``` $systemctl restart nginx.service @@ -142,32 +132,67 @@ $nginx -s reload ``` ### 加载依赖 -Dinky具备自己的 Flink 环境,该 Flink 环境的实现需要用户自己在Dinky 根目录下创建 plugins 文件夹并上传相关的 Flink 依赖,如 flink-dist, flink-table 等,具体请阅 Readme(后续的扩展依赖也放到该目录下)。当然也可在启动文件中指定 FLINK_HOME,但不建议这样做。 -Dinky当前版本的yarn的perjob与application执行模式依赖Flink-shade-hadoop去启动,需要额外添加Flink-shade-hadoop 包。 +Dinky 需要具备自身的 Flink 环境,该 Flink 环境的实现需要用户自己在 Dinky 根目录下创建 plugins 文件夹并上传相关的 Flink 依赖,如 flink-dist, flink-table 等,具体见下文。当然也可在启动文件中指定 FLINK_HOME,但不建议这样做。 + +Dinky 当前版本的 yarn 的 perjob 与 application 执行模式依赖 flink-shade-hadoop ,如果你的 Hadoop 版本为 2+ 或 3+,需要额外添加 flink-shade-hadoop-uber-3 包,请手动删除该包内部的 javax.servlet 等冲突内容。 +当然如果你的 Hadoop 为 3+ 也可以自行编译对于版本的 dlink-client-hadoop.jar 以替代 uber 包, ``` #创建目录 cd /opt/dlink/ mkdir plugins ``` -将Flink-shade-hadoop上传到到plugins文件目录下,对于使用hadoop2 或者 hadoop 3 的均可使用 flink-shade-hadoop-3 地址如下: +将 flink-shade-hadoop 上传到到 plugins 文件目录下,使用 flink-shade-hadoop-3 地址如下: ``` https://mvnrepository.com/artifact/org.apache.flink/flink-shaded-hadoop-3-uber?repo=cloudera-repos ``` -解压后结构如上所示,修改配置文件内容。lib 文件夹下存放 dlink 自身的扩展文件,plugins 文件夹下存放 flink 及 hadoop 的官方扩展文件( 如果plugins下引入了flink-shaded-hadoop-3-uber 或者其他可能冲突的jar,请手动删除内部的 javax.servlet 等冲突内容)。其中 plugins 中的所有 jar 需要根据版本号自行下载并添加,才能体验完整功能,当然也可以放自己修改的 Flink 源码编译包。extends 文件夹只作为扩展插件的备份管理,不会被 dlink 加载。 - -请检查 plugins 下是否添加了 flink 对应版本的 flink-dist,flink-table,flink-shaded-hadoop-3-uber 等如上所示的依赖!!! - -请检查 plugins 下是否添加了 flink 对应版本的 flink-dist,flink-table,flink-shaded-hadoop-3-uber 等如上所示的依赖!!! -请检查 plugins 下是否添加了 flink 对应版本的 flink-dist,flink-table,flink-shaded-hadoop-3-uber 等如上所示的依赖!!! - -如果plugins下引入了flink-shaded-hadoop-3-uber 的jar,请手动删除内部的 javax.servlet 后既可以访问默认 8888 端口号(如127.0.0.1:8888),正常打开前端页面。 - -如果是CDH及HDP使用开源flink-shade对Dlink没有任何影响,其他用到的依赖取决于CDH或者HDP与开源版本的兼容性,需要自行根据兼容性添加依赖即可正常使用 Dlink 的所有功能。 - -### 启动Dlink +如果是 CDH 及 HDP 使用开源 flink-shade 对 Dinky 没有任何影响,其他用到的依赖取决于 CDH 或者 HDP 与开源版本的兼容性,需要自行根据兼容性添加依赖即可正常使用 Dinky 的所有功能。 + +最终项目根目录如下,仅供参考: + +```shell +config/ -- 配置文件 +|- application.yml +extends/ -- 扩展 +|- dlink-client-1.11.jar +|- dlink-client-1.12.jar +|- dlink-client-1.14.jar +html/ -- 前端编译产物 +jar/ -- dlink application 模式提交 sql 用到的 jar +lib/ -- 内部组件 +|- dlink-alert-dingtalk.jar +|- dlink-alert-wechat.jar +|- dlink-client-1.13.jar +|- dlink-connector-jdbc.jar +|- dlink-function.jar +|- dlink-metadata-clickhouse.jar +|- dlink-metadata-doris.jar +|- dlink-metadata-hive.jar +|- dlink-metadata-mysql.jar +|- dlink-metadata-oracle.jar +|- dlink-metadata-phoenix.jar +|- dlink-metadata-postgresql.jar +|- dlink-metadata-sqlserver.jar +plugins/ +|- flink-connector-jdbc_2.11-1.13.6.jar +|- flink-csv-1.13.6.jar +|- flink-dist_2.11-1.13.6.jar +|- flink-json-1.13.6.jar +|- flink-shaded-hadoop-3-uber-3.1.1.7.2.1.0-327-9.0.jar +|- flink-shaded-zookeeper-3.4.14.jar +|- flink-table-blink_2.11-1.13.6.jar +|- flink-table_2.11-1.13.6.jar +|- mysql-connector-java-8.0.21.jar +sql/ +|- dlink.sql -- Mysql初始化脚本 +|- dlink_history.sql -- Mysql各版本及时间点升级脚本 +auto.sh --启动停止脚本 +dlink-admin.jar --主程序包 +``` + +### 启动 Dinky ``` #启动 @@ -180,15 +205,7 @@ $sh auto.sh restart $sh auto.sh status ``` -看到如下界面说明Dlink部署成功 - -![img](https://uploader.shimo.im/f/gdvs70SrmbWCdJRx.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2NDQ0ODA3NjAsImciOiJLd3Zwd0NnV2gzSFZnRDlDIiwiaWF0IjoxNjQ0NDgwNDYwLCJ1c2VySWQiOjE2NTQ4MzA4fQ.GmZh-wGeO5dBQ-2Cz_5EzwSsKmNJML3wX2_Tj9s8fxw) - -默认用户名/密码:admin/admin - -如果访问失败,请检查防火墙是否关闭、Nginx的配置是否正确 - - +默认用户名/密码: admin/admin ## 高可用部署