前言
该文档主要是apache hop 2.5的 Windows 10和Linux docker环境部署和客户端发布工作流和管道的相关内容
不使用Docker直接使用应用程序包,下载压缩包文件后,需要解压缩文件并使用以下命令启动 Hop GUI:
在 Linux 上:
./hop-gui.sh
在 Windows 上(需要JDK11):
Hop-gui.bat
下载地址:https://hop.apache.org/download/ 选择apache-hop-client-2.5.0.zip
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(推荐)
添加数据库连接驱动包,在hop安装的根目录下的plugins\databases下选择对应版本的数据库比如mysql,进入mysql文件夹选择lib文件夹,把数据库连接驱动包上传到这个文件夹(数据库驱动包已经在hop-web2.5安装入门那里已经下载过了,拷贝过来即可)
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
最后展示:
docker pull apache/hop:latest
#指定版本
docker pull apache/hop:2.5.0
推荐使用第二种,第三种也能用
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
参考:https://blog.csdn.net/liuxianwen1990/article/details/122980028
官方文档:
Pipeline Run Configuration :: Apache Hop
Pipeline Run Configurations :: Apache Hop
官方文档:
Workflow Run Config :: Apache Hop
Workflow Run Configurations :: Apache Hop
详情页面
接口调用官方文档: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=
接口调用成功
手机扫一扫
移动阅读更方便
你可能感兴趣的文章