smartKettle离线部署及问题记录

news2024/12/23 18:30:37

目录

  • 📚第一章 前言
    • 📗背景
    • 📗目的
    • 📗总体方向
  • 📚第二章 部署
    • 📗源码下载
    • 📗后端部署
      • 📕导入后端项目
      • 📕修改settings.xml(自动下载相关jar包)
      • 📕 编译
      • 📕 修改配置文件application.yml
      • 📕 初始化数据库
      • 📕 打包上传启动
      • 📕 可以正常访问接口界面,即服务启动成功
    • 📗前端部署
      • 📕基础环境按照
      • 📕编译
      • 📕本地启动
      • 📕服务器部署验证
        • 📘 nginx配置
        • 📘 登录
  • ⁉️问题记录
    • ❓问题一: jar包下载不下来
      • ❗解决方式一:正常不会有问题,建议直接使用项目中提供的settings.xml替换,修改地址即可
      • ❕解决方式二:手动下载,费劲呢!!!!
        • 📘修改jar包名称
        • 📘逐一上传到本地仓库
      • ❗解决方式三:已打包上传CSDN,免费下载
      • ❕解决方式二:
    • ❓问题二:启动报错(系统默认mysql5,使用8时忘了更新驱动包)
      • ❗解决方式:替换msyql8驱动
        • 先本地验证

📚第一章 前言

📗背景

昨天下载了Kettle9.2的源码,简单了解了下代码结构,今天来看下smartKettle,它相当于之前部署的pentaho-server-ce-9.4.0.0-343,是一款超轻量级的kettle web端调度监控平台,详见官网
在这里插入图片描述

📗目的

我的最终目的和smartKettle的终极目标是一致的,实现Web端的Kettle任务流程编排,今天部署smartKettle也是寻求一些启发点
在这里插入图片描述

📗总体方向

干就完了

📚第二章 部署

📗源码下载

下载地址:https://gitee.com/hundage/smartkettle.git
在这里插入图片描述

📗后端部署

📕导入后端项目

在这里插入图片描述

📕修改settings.xml(自动下载相关jar包)

在这里插入图片描述
settings.xml内容如下(别忘了修改本地仓库存放路径):

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <localRepository>D:\soft\apache-maven-3.8.5\apache-maven-3.8.5\repository</localRepository>
    <servers>
        <server>
            <id>rdc-releases</id>
            <username>Y3z0VZ</username>
            <password>Bb8byTSlq0</password>
        </server>
        <server>
            <id>rdc-snapshots</id>
            <username>Y3z0VZ</username>
            <password>Bb8byTSlq0</password>
        </server>
    </servers>
    <mirrors>
        <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>central</mirrorOf>
            <name>nexus-aliyun</name>
            <url>https://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>

    </mirrors>

    <profiles>
        <profile>
            <id>first-repository</id>
            <repositories>
                <repository>
                    <id>rdc-snapshots</id>
                    <url>https://repo.rdc.aliyun.com/repository/128991-snapshot-NY2Ub0/</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
        <profile>
            <id>second-repository</id>
            <repositories>
                <repository>
                    <id>rdc-releases</id>
                    <url>https://repo.rdc.aliyun.com/repository/128991-release-EJH8o1/</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
        <profile>
            <id>third-repository</id>
            <repositories>
                <repository>
                    <id>central</id>
                    <url>https://maven.aliyun.com/nexus/content/groups/public</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
        <profile>
            <id>forth-repository</id>
            <repositories>
                <repository>
                    <id>snapshots</id>
                    <url>https://maven.aliyun.com/repository/central</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
        <profile>
            <id>fifth-repository</id>
            <repositories>
                <repository>
                    <id>pentaho-kettle</id>
                    <name>pentaho-kettle仓库</name>
                    <url>https://repo.orl.eng.hitachivantara.com/artifactory/pnt-mvn/</url>
                </repository>
            </repositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>first-repository</activeProfile>
        <activeProfile>second-repository</activeProfile>
        <activeProfile>third-repository</activeProfile>
        <activeProfile>forth-repository</activeProfile>
        <activeProfile>fifth-repository</activeProfile>
    </activeProfiles>
</settings>

📕 编译

想放弃了,什么玩意…
在这里插入图片描述
全量导入项目,不要只导入后端程序
在这里插入图片描述
在这里插入图片描述

📕 修改配置文件application.yml

主要配置数据库信息和日志路径(如果不想修改文件,可以配置环境变量,对应配置文件中XTL_XXXX,不管那种方式都要麻烦一遍的
在这里插入图片描述
JDBC连接参考如下(注意serverTimezoneallowPublicKeyRetrieval,这里使用的mysql8,若是5请忽略):

jdbc:mysql://xxx:3306/xtl_db?useUniCode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&

📕 初始化数据库

在这里插入图片描述
在这里插入图片描述

📕 打包上传启动

在这里插入图片描述

指定后台运行服务:nohup java -jar smart-kettle-1.0.0-SNAPSHOT.jar /dev/null 2>&1 &

📕 可以正常访问接口界面,即服务启动成功

Swagger地址:http://xxxx:9753/xtl-server/swagger-ui.html
在这里插入图片描述

📗前端部署

📕基础环境按照

之前安装过,就不赘述了,就是下载一个nodejs,配置下环境变量,可参照Vue项目创建(2.x/3.x 自动/手动)及问题记录

📕编译

  • 这里使用的VSCode软件,导入前端项目,执行npm install
    在这里插入图片描述
  • 打包:npm run build
    在这里插入图片描述
    在这里插入图片描述

📕本地启动

  • 配置服务器地址
    在这里插入图片描述
  • 执行启动:npm run dev
    在这里插入图片描述
  • 成功登录
    在这里插入图片描述
    在这里插入图片描述

📕服务器部署验证

  • 编译好的文件在dist目录,直接压缩,上传到服务器,通过Nginx部署
    在这里插入图片描述
📘 nginx配置

nginx安装可参照安装nginx两种方式及遇到问题
在这里插入图片描述

server {
    listen       8642;
    server_name  localhost;

    location / {
        root /home/opensource/app/smartketlle/ui/dist;
        try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    }
    location /kettle-admin {
        alias /home/opensource/app/smartketlle/ui/dist;
        index  index.html index.htm;
        try_files $uri $uri/ /kettle-admin/index.html;     #4.重定向,内部文件的指向
    }

    location /xtl-server/ {
        proxy_pass http://localhost:9753/xtl-server/;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}
📘 登录

在这里插入图片描述
在这里插入图片描述

⁉️问题记录

❓问题一: jar包下载不下来

在这里插入图片描述
在这里插入图片描述

❗解决方式一:正常不会有问题,建议直接使用项目中提供的settings.xml替换,修改地址即可

在这里插入图片描述

❕解决方式二:手动下载,费劲呢!!!!

官方文档有说明,下载不下来情况下如何处理
在这里插入图片描述
在这里插入图片描述

📘修改jar包名称

在这里插入图片描述

📘逐一上传到本地仓库
mvn install:install-file -Dfile=D:/code/opensource/smartkettle/x-smart-kettle-server/external/x-kettle-core-1.0.0-SNAPSHOT.jar -DgroupId=org.yaukie.xtl -DartifactId=x-kettle-core  -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar 
mvn install:install-file -Dfile=D:/code/opensource/smartkettle/x-smart-kettle-server/external/x-common-base-1.0.0-SNAPSHOT.jar -DgroupId=org.yaukie.core -DartifactId=x-common-base  -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar
mvn install:install-file -Dfile=D:/code/opensource/smartkettle/x-smart-kettle-server/external/x-common-auth-1.0.0-SNAPSHOT.jar -DgroupId=org.yaukie.core -DartifactId=x-common-auth  -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar
mvn install:install-file -Dfile=D:/code/opensource/smartkettle/x-smart-kettle-server/external/x1-simple-job-1.0.0-SNAPSHOT.jar -DgroupId=org.yaukie.frame -DartifactId=x1-simple-job  -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar 

在这里插入图片描述
在这里插入图片描述

❗解决方式三:已打包上传CSDN,免费下载

在这里插入图片描述

下载地址
在这里插入图片描述

❕解决方式二:

❓问题二:启动报错(系统默认mysql5,使用8时忘了更新驱动包)

在这里插入图片描述

❗解决方式:替换msyql8驱动

在这里插入图片描述

<!-- 定义 mysql 版本 -->
        <dependency>
            <groupId>org.yaukie.core</groupId>
            <artifactId>x-common-base</artifactId>
            <version>1.0.0-SNAPSHOT</version>
            <exclusions>
                <exclusion><!--排查掉自带的msyql5 -->
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--重新指定mysql8驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.25</version>
        </dependency>
先本地验证

在这里插入图片描述

java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:833)
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:453)
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)

修改配置allowPublicKeyRetrieval=true,再次启动
在这里插入图片描述

启动成功;http://localhost:9753/xtl-server/swagger-ui.html
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1307410.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机网络】TCP|IP协议

目录 前言 什么是TCP/IP协议&#xff1f; TCP/IP协议的层次结构 TCP/IP协议的工作原理 TCP/IP协议的重要性 结语 前言 TCP/IP协议是当今互联网世界中最重要的网络协议之一&#xff0c;它是网络通信的基石&#xff0c;为数据在网络中的传输提供了可靠性和有效性。本文将深…

比较好的python书籍,python有什么书推荐

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;比较好的python书籍&#xff0c;python有什么书推荐&#xff0c;现在让我们一起来看看吧&#xff01; 我是在半年前接触到Python的&#xff0c;我之前没有一点编程基础&#xff0c;但在我自学的这半年里&#xff0c;我发…

Vue指令之v-on

v-on指令用于注册事件&#xff0c;作用是添加监听与提供事件触发后对应的处理函数。 v-on有两种语法&#xff0c;在提供处理函数的时候既可以直接使用内联语句&#xff0c;也可以提供函数的名字。 第一种语法是直接提供内联语句&#xff0c;如下 v-on:事件名 "内联语句…

数据可视化作用探析

数据可视化是一种将数据转化为图表、图形或其他视觉形式的过程&#xff0c;旨在更直观、更易于理解地展示数据信息。它不仅仅是对数据的简单呈现&#xff0c;更是一种利用视觉化手段帮助人们理解数据、发现模式、分析趋势和做出决策的强大工具。今天&#xff0c;我就从可视化从…

RocketMQ可视化工具 打包遇到的yarn intall 问题

文章目录 RocketMQ可视化工具1.github上下载2.修改参数3.运行4.打包5.出错6.解决7.重试8.再解决9.很奇怪运行没错&#xff0c;但是测试错啦10.不想深究&#xff0c;直接跳过测试11.展示成功 RocketMQ可视化工具 1.github上下载 下载地址 https://github.com/apache/rocketmq-…

在Windows 11中打开任务管理器的7种方法,总有一种很适用

​本文介绍了如何在Windows 11中打开任务管理器。使用Windows任务管理器,你可以跟踪系统进程、监视资源使用情况和强制停止应用程序。 如何使用搜索栏打开任务管理器 在Windows 11中访问任务管理器的一种更简单的方法是使用搜索栏。 1、按Windows键+S或选择任务栏中的“搜索…

Nodejs 第二十二章(脚手架)

编写自己的脚手架 那什么是脚手架&#xff1f; 例如:vue-cli Angular CLI Create React App 编写自己的脚手架是指创建一个定制化的工具&#xff0c;用于快速生成项目的基础结构和代码文件&#xff0c;以及提供一些常用的命令和功能。通过编写自己的脚手架&#xff0c;你可以…

值类型相关函数与对象类型相关函数内存调用过程

值类型相关函数内存调用&#xff1a; 先来看这样一段代码&#xff0c;你认为它的运行结果是多少呢&#xff1f; 20和11还是20和10&#xff1f; package org.example;public class Main {public static void main(String[] args) {int a10;add(a);System.out.println(a);}pub…

【INTEL(ALTERA)】Agilex7 FPGA Development Kit DK-DEV-AGI027R1BES编程/烧录/烧写/下载步骤

DK-DEV-AGI027R1BES 的编程步骤&#xff1a; 将外部 USB Blaster II 连接到 J10- 外部 JTAG 接头。将交换机 SW5.3 设置为 ON&#xff08;首次&#xff09;。打开 英特尔 Quartus Prime Pro Edition 软件编程工具。单击 硬件设置 &#xff0c;然后选择 USB Blaster II。将硬件…

Unity_使用FairyGUI搭建登录页面

Unity_使用FairyGUI搭建登录页面 1. 使用FairyGUI准备一个UI界面&#xff0c;例如&#xff1a;以下登录 2. 发布导出&#xff08;发布路径设置为Unity的Asset下任何路径&#xff09; 3. Unity编辑器安装FairyGUI包资源&#xff08;在资源商店找见并存储为我的资源&#xff0c;…

图片怎么去文字水印?分享三个简单无痕方法

图片怎么去文字水印&#xff1f;大家在遇到好看的图片时&#xff0c;是否曾想过将其用作自己的头像&#xff1f;然而&#xff0c;很多时候从网上保存的图片会带有平台或作者的水印&#xff0c;这会严重影响头像的整体视觉效果&#xff0c;导致我们不得不放弃使用这张图片&#…

typename的两种用法

typename有两种用法&#xff0c;第一种用于声明模板时&#xff0c;表示模板类型参数&#xff0c;如下所示。在用于模板声明时&#xff0c;typename 和 class 等价&#xff0c;具有同等含义。 template<typename T> class MyClass; // 等价于 template<class T> cl…

从零开始学机器学习,这些学习网站让你事半功倍!

介绍&#xff1a;机器学习是人工智能&#xff08;AI&#xff09;和计算机科学的一个分支&#xff0c;它专注于使用数据和算法&#xff0c;模仿人类学习的方式&#xff0c;逐步提高自身的准确性。更具体来说&#xff0c;机器学习是一门关于数据学习的科学技术&#xff0c;它能帮…

Postswigger 靶场 XSS 通关

文章目录 PostSwigger靶场XSS通关学徒&#xff1a;第一关学徒&#xff1a;第二关学徒&#xff1a;第三关学徒&#xff1a;第四关学徒&#xff1a;第五关学徒&#xff1a;第六关学徒&#xff1a;第七关学徒&#xff1a;第八关学徒&#xff1a;第九关 PostSwigger靶场XSS通关 靶…

VCSA7.0加入Windows AD域失败的处理过程

一、问题现象 vcsa7.0加入AD域时提示“Idm client exception: Error trying to join AD, error code 2453” 二、处理过程 &#xff08;一&#xff09;检查是否DNS问题 查看dns是否设置正确&#xff0c;如下&#xff1a; 1. Enable SSH on VCSA. 2. Command> shell 3…

高质量渲染效果的硬件要求!云渲染效果的作用优势

​在数字内容创作的世界里&#xff0c;渲染技术始终是提高视觉效果和最终产物质量的关键环节。无论是影视制作、游戏开发还是建筑可视化&#xff0c;高品质的渲染结果对于传达设计理念和吸引观众都至关重要。本文将讨论实现这些高质量渲染效果所需的硬件要求&#xff0c;探讨CP…

程序中关于时间和比较运算符的单词

时间 在日志中&#xff0c;我们经常碰到关于一些时间的单词缩写 比如这个Fri Dec 1 就代表了Friday &#xff08;星期五&#xff09;&#xff0c; December &#xff08;十二月&#xff09; 12月1日星期五 或者使用date查看时间的时候 dateWed Dec 13 05:55:54 PM CST 2023这…

【Hive】——DDL(CREATE TABLE)

1 CREATE TABLE 建表语法 2 Hive 数据类型 2.1 原生数据类型 2.2 复杂数据类型 2.3 Hive 隐式转换 2.4 Hive 显式转换 2.5 注意 3 SerDe机制 3.1 读写文件机制 3.2 SerDe相关语法 3.2.1 指定序列化类&#xff08;ROW FORMAT SERDE ‘’&#xff09; 3.2.2 指定分隔符&#xff0…

Shopee电商平台:跨境电商的领先者

Shopee是一家领先的跨境电商平台&#xff0c;由新加坡互联网公司Sea Group于2015年创立。自成立以来&#xff0c;Shopee凭借其强大的物流网络、安全快捷的收款方式、本地化的客服团队以及丰富的活动资源&#xff0c;赢得了全球用户的喜爱和信赖。本文将全面介绍Shopee的特点和优…

数据库运行sql文件,数据传输报错

这是什么原因啊&#xff01;太难弄了 my.cnf在/etc/my.cnf中进行设置 #最大连接数 max_connections200 #编码 character-set-serverutf8default-storage-engineINNODBsql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES[mysql] #编码 default-character-setutf8