ETL之apache hop系列3-hop Server环境部署与客户端发布管道工作流
前言
该文档主要是apache hop 2.5的 Windows 10和Linux docker环境部署和客户端发布工作流和管道的相关内容
不使用Docker直接使用应用程序包,下载压缩包文件后,需要解压缩文件并使用以下命令启动 Hop GUI:
在 Linux 上:
./hop-gui.sh
在 Windows 上(需要JDK11):
Hop-gui.bat
一、Windows 10系统部署
1.1、官网下载apache hop 2.5压缩包
下载地址:https://hop.apache.org/download/ 选择apache-hop-client-2.5.0.zip
1.2、解压文件,把里面的hop文件夹剪切或复制到系统其他文件夹下比如 C:\Program Files (x86)\hop
1.3、下载java 11 JDK,并设置环境变量(多个java版本SDK)
1)jdk下载地址
OpenJDK下载地址:http://jdk.java.net/
OracleJDK下载地址:https://www.oracle.com/java/technol
2)Java安装的地址
3)删除 C:\Windows\System32 下三个文件
在第一次安装jdk时,自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到了C:\Windows\System32目录,由于这个目录在Windows环境变量中的优先级高于JAVA_HOME设置的环境变量优先级。所以将C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个可执行文件 删除即可。
4)设置系统环境变量,新增如红色框中的四个环境变量
5)设置环境变量path
6)删除系统环境变量Path上面两个Oracle\Java\javapath变量
参考文章:
https://zhuanlan.zhihu.com/p/442291304
https://blog.csdn.net/m0_38090004/article/details/90610525(推荐)
1.4、Hop Server添加数据库连接驱动包
添加数据库连接驱动包,在hop安装的根目录下的plugins\databases下选择对应版本的数据库比如mysql,进入mysql文件夹选择lib文件夹,把数据库连接驱动包上传到这个文件夹(数据库驱动包已经在hop-web2.5安装入门那里已经下载过了,拷贝过来即可)
1.5、运行 hop-gui、hop-run、hop-server
Hop Web ,Hop Gui fat client 是帮助数据工程师通过可视化方式设计数据清洗流程的。
Hop run是本地命令行,来执行设计好的数据清洗流程的。
Hop server是管理和执行本地或远程的数据清洗流程的
1)双击运行hop-gui.bat,弹出hop-gui客户端界面,这里可以设计建模管道和工作流,和hop-web的功能基本是一样的(重点)
2)运行hop-run,在hop根目录下打开cmd命令行,执行下面命令,其中samples是项目,${PROJECT_HOME}/transforms/switch-case-basic.hpl是管道的路径
hop-run.bat -j samples -r local -f ${PROJECT_HOME}/transforms/switch-case-basic.hpl
3)运行hop-server,在hop根目录下打开cmd命令行,执行下面命令 比如ip地址:192.168.1.102 端口8080 (重点)
hop-server.bat 192.168.1.102 8080
设置用户名和密码,不设置用户名和密码默认都是cluster
hop-server.bat 192.168.1.102 8080 -u admin -p 123456(设置密码不成功)
使用浏览器访问 http://192.168.1.102:8080 ,输入用户名cluster,密码:cluster
最后展示:
二、Linux CentOS 7环境下 docker部署
2.1 下载镜像,截至目前是latest是2.5.0,也可以指定tag的版本
docker pull apache/hop:latest
#指定版本
docker pull apache/hop:2.5.0
2.2、运行容器
推荐使用第二种,第三种也能用
1)第一种:最简单的运行hop-server容器,默认用户名密码都是cluster,它还需要在/opt/hop/plugins/databases安装数据库驱动包参考第二种
docker run -d \
-p 8080:8080 \
-e HOP_SERVER_PORT=8080 \
apache/hop
2)第二种:设置用户名密码
在Linux系统的home目录下建hop文件夹,在hop文件夹里建三个文件夹,分别是config,audit,plugins
docker run -d -p 8080:8080 \
-e HOP_SERVER_PORT=8080 \
-e HOP_SERVER_USER=admin \
-e HOP_SERVER_PASS=admin \
--name my-hop-server \
apache/hop:latest
使用docker ps 查看my-hop-server的容器id,比如是c728f91ee95d,通过下图可以看出,文件路径主要在/opt/hop/plugins上
a、把容器里的文件复制到宿主机上
docker cp c728f91ee95d:/opt/hop/plugins /home/hop
b、参考windows 10系统部署,添加数据库连接驱动包在 /home/hop/plugins/databases里添加对应的数据库连接驱动包,它相当于上文中Windows 10环境安装下的plugins\databases文件夹
c、把宿主机上的文件复制到容器里去
docker cp /home/hop/plugins c728f91ee95d:/opt/hop
d、重启该容器
docker restart c728f91ee95d
3)第三种:设置用户名密码,并把容器里的文件挂载到宿主机中,日志默认存储在内存中
在Linux系统的home目录下建hop文件夹,在hop文件夹里建三个文件夹,分别是config,audit,plugins,
这个容器是运行不成功的
~~docker run -d --privileged=true -p 18182:8080 ~~
~~-v /home/hop/config:/opt/hop/config/ ~~
~~-v /home/hop/audit:/opt/hop/audit/ ~~
~~-v /home/hop/plugins:/opt/hop/plugins/ ~~
~~-e HOP_SERVER_PORT=8080 ~~
~~-e HOP_SERVER_USER=admin ~~
~~-e HOP_SERVER_PASS=admin ~~
~~--name my-hop-server ~~
apache/hop:latest
采用下面的代码在Linux系统的home目录下建hop文件夹,在hop文件夹下创建hop.err.log文件,再创建files文件夹,在files文件夹下分别创建
jdbc、metadata、demoProject三个文件夹
/home/hop/files/jdbc/
/home/hop/files/demoProject/
/home/hop/files/metadata/
/home/hop/hop.err.log
其中 jdbc文件夹里装的是数据库连接驱动包,它相当于上文中Windows 10环境安装下的hop\plugins\databases这个databases文件夹,metadata文件夹相当于hop\config\metadata文件夹,
把Windows10环境中的databases和metadata文件夹里的所有文件分别拷贝到Linux系统对应的/home/hop/files/jdbc/ 和/home/hop/files/metadata/两个文件夹中
-d 可以改-it都可以
docker run -d --privileged=true -p 18183:8080 \
-v /home/hop/hop.err.log:/opt/hop/hop.err.log/ \
-v /home/hop/files:/files/ \
-e HOP_SERVER_PORT=8080 \
-e HOP_SERVER_USER=admin \
-e HOP_SERVER_PASS=admin \
-e HOP_PROJECT_FOLDER=/files \
-e HOP_SERVER_METADATA_FOLDER=/files/metadata \
-e HOP_SHARED_JDBC_FOLDER=/files/jdbc \
-e HOP_PROJECT_NAME=demoProject \
-e HOP_ENVIRONMENT_NAME=Local \
--name my-hop-server3 \
apache/hop:latest
官方介绍文档:
Web Services in Apache Hop :: Apache Hop
Docker container :: Apache Hop
三、把在客户端上设计的工作流和管道发布到hop-server中
参考:https://blog.csdn.net/liuxianwen1990/article/details/122980028
3.1、在该项目的元数据里Hop Server创建一个服务
3.2、在该项目的元数据里Pipeline Run Configuration创建一个管道配置,配置如下图所示
官方文档:
Pipeline Run Configuration :: Apache Hop
Pipeline Run Configurations :: Apache Hop
3.3、在该项目的元数据里Workflow Run Configuration创建一个工作流配置,配置如下图所示
官方文档:
Workflow Run Config :: Apache Hop
Workflow Run Configurations :: Apache Hop
3.4、打开要发布到Hop Server的管道和工作流
3.5、打开hop server 的地址如http://192.168.1.102:8080/hop/status/ ,运行的示意图
详情页面
3.6、调用Hop Server接口
接口调用官方文档:Hop Server Web Services Overview :: Apache Hop
1)调用getPipelineStatus 接口获取管道状态 比如:http://192.168.1.102:8080/hop/pipelineStatus/?name=>&id=
PostMan调用接口示意图,授权这边的用户名和密码就是Hop Server上设置的用户名密码
2)调用startPipeline 接口启动管道 比如:http://192.168.1.102:8080/hop/startPipeline?name=
接口调用成功
ETL之apache hop系列3-hop Server环境部署与客户端发布管道工作流的更多相关文章
- 【Apache KafKa系列之一】KafKa安装部署
kafka是一种高吞吐量的分布式发布订阅消息系统,她有如下特性: 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能. 高吞吐量:即使是非常普通的 ...
- Jmeter系列(1)- 环境部署
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 官网下载Jmeter http://j ...
- nagios系列(一)centos6.5环境部署nagios服务端
nagios软件安装包存放目录:/home/oldboy/tools nagios服务安装目录:/usr/local/nagios 1.配置yum源 echo "------ step 1: ...
- 系列三VisualSvn Server
原文:系列三VisualSvn Server VisualSvn Server介绍 1 .VisualSvn Server VisualSvn Server是免费的,而VisualSvn是收费的.V ...
- apache kafka系列之Producer处理逻辑
最近研究producer的负载均衡策略,,,,我在librdkafka里边用代码实现了partition 值的轮询方法,,,但是在现场验证时,他的负载均衡不起作用,,,所以来找找原因: 下文是一篇描 ...
- Apache Shiro系列之五,概述 —— 配置
Shiro设计的初衷就是可以运行于任何环境:无论是简单的命令行应用程序还是复杂的企业集群应用.由于运行环境的多样性,所以有多种配置机制可用于配置,本节我们将介绍Shiro内核支持的这几种配置机制. ...
- Apache Shiro系列四,概述 —— Shiro的架构
Shiro的设计目标就是让应用程序的安全管理更简单.更直观. 软件系统一般是基于用户故事来做设计.也就是我们会基于一个客户如何与这个软件系统交互来设计用户界面和服务接口.比如,你可能会说:“如 ...
- Apache Shiro系列三,概述 —— 10分钟入门
一.介绍 看完这个10分钟入门之后,你就知道如何在你的应用程序中引入和使用Shiro.以后你再在自己的应用程序中使用Shiro,也应该可以在10分钟内搞定. 二.概述 关于Shiro的废话就不多说了 ...
- hbase(ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet)
今天启动clouder manager集群时候hbase list出现 (ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException ...
- PHP如何让apache支持.htaccess 解决Internal Server Error The server …错误
TP框架 打开 www.newtp.com/index.php/Home/Index/abc出现 如下错误: Internal Server Error The server encountered ...
随机推荐
- vue全家桶进阶之路29:Element Plus
Element Plus是一个用于Vue.js的UI组件库,为开发人员提供了一组可重用和可定制化的组件,用于构建现代Web应用程序.它是流行的Element UI库的扩展,重点是提高性能和可访问性. ...
- 声音好听,颜值能打,基于PaddleGAN给人工智能AI语音模型配上动态画面(Python3.10)
借助So-vits我们可以自己训练五花八门的音色模型,然后复刻想要欣赏的任意歌曲,实现点歌自由,但有时候却又总觉得少了点什么,没错,缺少了画面,只闻其声,却不见其人,本次我们让AI川普的歌声和他伟岸的 ...
- Burpsuite抓包工具的使用
一.打开工具 1处箭头为 代理127.0.0.1 端口8080 2处箭头为 证书 将证书ca下载到桌面上 选择第一个 选择下载到桌面即可 可以修改其后缀为der 此即为证书文件 此处使用火狐浏览器为示 ...
- 查看svn本地账户和密码
最近由于抗击疫情需要远程办公,协同就必不可少了,都知道svn一般公司都是走内网,然而目前要连接公司svn就得重新指定地址,今日在重新指定时然我,输入用户名和密码一下子蒙了,平时一旦连接后就不需要再次输 ...
- Java的Atomic原子类
Java SDK 并发包里提供了丰富的原子类,我们可以将其分为五个类别,这五个类别提供的方法基本上是相似的,并且每个类别都有若干原子类. 对基本数据类型的变量值进行原子更新: 对对象变量的指向进行原子 ...
- 1 msql的安装和配置
1.检测系统是否已经安装过mysql或其依赖,若已装过要先将其删除,否则第4步使用yum安装时会报错: yum list installed | grep mysql mysql-libs.i686 ...
- 一分钟学一个 Linux 命令 - pwd
前言 大家好,我是 god23bin.欢迎大家继续围观<一分钟学一个 Linux 命令>,每天只需一分钟,记住一个 Linux 命令不成问题.本篇文章将聚焦于 pwd 命令,一个超级简单又 ...
- C温故补缺(十八):网络编程
计算机网络 参考:TCP三次握手详解. OSI模型 简单分层: 其中,链路层还可以分出物理层和数据链路层.应用层可以分出会话层,表示层和应用层. 七层模型: 链路层:只是物理的比特流和简单封装的数据帧 ...
- node版本问题:Error: error:0308010C:digital envelope routines::unsupported
前言 出现这个错误是因为 node.js V17及以后版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响. 在node.j ...
- Rust 语言风靡学术界
AWS 将 Rust 编译器团队负责人收入麾下的新闻让开发者们再次聚焦于这门兼具安全性与高性能的编程语言.近日,著名科学期刊 Nature 刊登了一篇文章,表明 Rust 语言也正在成为学术界最受欢迎 ...