前言

在Docker安装apache hop 首先确保Docker已经安装和运行Java 11 JDK

安装文档参考:https://blog.csdn.net/Chia_Hung_Yeh/article/details/121060990

一、使用Docker 安装部署

1、拉取镜像

推荐使用下面的web版本

docker pull apache/hop:latest
docker pull apache/hop-web:latest

2、部署

a、简单部署(不使用用户名密码)

docker run -p 8080:8080 apache/hop-web:latest

b、使用用户名密码和相关数据库配置的部署

docker文件映射参考:

docker run -it  -p 24001:8080 \
-v /home/hop-web/config:/config/ \
-v /home/hop-web/plugins:/usr/local/tomcat/plugins/ \
-v /home/hop-web/lib:/usr/local/tomcat/lib/ \
apache/hop-web:latest

c、实际部署(使用用户名和密码已经同步数据库)

参考:

https://hop.apache.org/manual/latest/installation-configuration.html

https://hop.apache.org/manual/latest/hop-gui/hop-web.html(主要)

https://hop.apache.org/manual/latest/database/databases/mysql.html(主要)

https://blog.csdn.net/qq_51322266/article/details/125408967

1)在根目录home文件夹下hop-web增加配置文件,配置参考153Linux服务器上的配置

2)运行下面的docker 命令

在home/hop-web文件夹下创建config、logs、plugins三个文件夹(推荐这种)

docker run -it  -p 24001:8080 \
-v /home/hop-web/config:/config/ \
-v /home/hop-web/logs:/usr/local/tomcat/logs/ \
-v /home/hop-web/plugins/databases/mysql/lib:/usr/local/tomcat/plugins/databases/mysql/lib/ \
-v /home/hop-web/plugins/databases/mssql/lib:/usr/local/tomcat/plugins/databases/mssql/lib/ \
-v /home/hop-web/plugins/databases/oracle/lib:/usr/local/tomcat/plugins/databases/oracle/lib/ \
apache/hop-web:latest

部署成功后,浏览器打开如:http://192.168.1.153:24001/ui地址填写用户名密码登录

当然可以先创建一个简单部署的临时容器

a、把容器里的文件复制到宿主机上

docker cp c728f91ee95d:/usr/local/tomcat/webapps /home/hop

b、删除该临时容器

docker stop c728f91ee95d
docker rm c728f91ee95d

c、创建一个新的容器并挂载宿主机文件

docker run -it  -p 24001:8080 \
-v /home/hop-web/config:/config/ \
-v /home/hop-web/logs:/usr/local/tomcat/logs/ \
-v /home/hop-web/webapps:/usr/local/tomcat/webapps/ \
-v /home/hop-web/plugins/databases/mysql/lib:/usr/local/tomcat/plugins/databases/mysql/lib/ \
-v /home/hop-web/plugins/databases/mssql/lib:/usr/local/tomcat/plugins/databases/mssql/lib/ \
-v /home/hop-web/plugins/databases/oracle/lib:/usr/local/tomcat/plugins/databases/oracle/lib/ \
apache/hop-web:latest

官方文档:Hop Web :: Apache Hop

二、使用apache/hop-web

参考文章:

https://www.modb.pro/db/623848

https://blog.csdn.net/ym5209999/article/details/126009271

1、创建项目

官网文档:Projects & Environments :: Apache Hop

1)点击顶部菜单栏的P+按钮,弹出新增项目对话框界面

2)填写对应的项目名称和保存路径等,然后点击OK保存项目,项目路径一般保存在projects文件夹下和default文件夹同级,如下图第二张

2、数据库连接

1)点击左上角“+”号,选择“Relational Database Connection”进入数据库连接界面

2)参照下图输入数据库连接相关信息

3)测试连接及保存当前数据库连接,X按钮会提示保存该数据库连接点击保存

4)保存完成后,在左侧“Relational Database Connection”中,会出现新建的数据库连接信息

3、创建管道-示例

官网文档:Pipelines :: Apache Hop

管道控件使用说明文档:Transform Plugins :: Apache Hop

1)选择上面创建的项目名称,点击左上角“+”号,选择“Pipeline”进入新增管道界面

2)在页面空白处点击鼠标左键,弹出对话框选择对应的控件,点击确定

3)在鼠标左键点击控件下方的文字,弹出对话框,在对话框中填写对应的内容,点击保存

4)同步骤2,创建一个新的控件(比如Insert/update),鼠标左键点击前面创建的控件图标,在弹出的对话框中选择Create hop箭头图标,然后再鼠标左键连接后面创建的控件

5)同步骤3,点击后面创建的控件,弹出对话框,在对话框中填写对应的内容,点击保存

6)保存管道文件,保存的文件最好是在该项目文件所在文件路径的子级

7)打开管道文件

8)运行管道文件

4、创建工作流-示例

官方文档:Untitled :: Apache Hop

工作流控件使用说明文档:Untitled :: Apache Hop

1)选择上面创建的项目名称,点击左上角“+”号,选择“Workflow”进入新增管道界面

2)在页面空白处点击鼠标左键,弹出对话框选择Pipelin控件,点击确定

3)鼠标左键点击Pipelin控件下方的文字,在弹出框点击"Browse..."浏览选择管道文件,点击OK

4)同步骤2,选择Success控件

5)控件连接,鼠标左键点击前面创建的控件图标,在弹出的对话框中选择Create hop箭头图标,然后再鼠标左键连接后面创建的控件

6)保存工作流文件

7)运行工作流文件

ETL之apache hop系列2-hop web安装和入门的更多相关文章

  1. Apache Shiro系列三,概述 —— 10分钟入门

     一.介绍 看完这个10分钟入门之后,你就知道如何在你的应用程序中引入和使用Shiro.以后你再在自己的应用程序中使用Shiro,也应该可以在10分钟内搞定. 二.概述 关于Shiro的废话就不多说了 ...

  2. 【Apache KafKa系列之一】KafKa安装部署

    kafka是一种高吞吐量的分布式发布订阅消息系统,她有如下特性: 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能. 高吞吐量:即使是非常普通的 ...

  3. kubernetes系列(十六) - Helm安装和入门

    1. helm简介 1.1 为什么需要helm 1.2 helm中几个概念 1.3 helm用途 2. helm安装 3. helm的基本使用 3.1 安装chart仓库里面的chart 3.2 创建 ...

  4. Apache Shiro系列之五,概述 —— 配置

    Shiro设计的初衷就是可以运行于任何环境:无论是简单的命令行应用程序还是复杂的企业集群应用.由于运行环境的多样性,所以有多种配置机制可用于配置,本节我们将介绍Shiro内核支持的这几种配置机制.   ...

  5. Apache Shiro系列四,概述 —— Shiro的架构

    Shiro的设计目标就是让应用程序的安全管理更简单.更直观.     软件系统一般是基于用户故事来做设计.也就是我们会基于一个客户如何与这个软件系统交互来设计用户界面和服务接口.比如,你可能会说:“如 ...

  6. kubernetes系列(十七) - 通过helm安装dashboard详细教程

    1. 前提条件 2. 配置https证书为secret 3. dashboard安装 3.1 helm拉取dashboard的chart 3.2 配置dashboard的chart包配置 3.3 he ...

  7. nginx高性能WEB服务器系列之一简介及安装

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

  8. Apache Kafka监控之Kafka Web Console

    Kafka Web Console:是一款开源的系统,源码的地址在https://github.com/claudemamo/kafka-web-console中.Kafka Web Console也 ...

  9. apache kafka系列之Producer处理逻辑

     最近研究producer的负载均衡策略,,,,我在librdkafka里边用代码实现了partition 值的轮询方法,,,但是在现场验证时,他的负载均衡不起作用,,,所以来找找原因: 下文是一篇描 ...

  10. 【ABAP系列】SAP Web Dynpro 技术简介

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP Web Dynpro 技 ...

随机推荐

  1. idea构建grpc项目

    转载请注明出处: 安装protocbuf插件 idea 建议下载一个 protobuf的插件, 可以有代码提示. 这里直接去pluging里搜就行了. 在idea的plugins中搜索proto,然后 ...

  2. 如何基于G6进行双树流转绘制?

    1. 背景 业务背景:CRM系统随着各业务条线对线索精细化分配的诉求逐渐增加,各个条线的流向规则会越来越复杂,各个条线甚至整个CRM的线索流转规则急需一种树形的可视化的图来表达. 技术背景:在开发之前 ...

  3. celery笔记一之celery介绍、启动和运行结果跟踪

    本文首发于公众号:Hunter后端 原文链接:celery笔记一之celery介绍.启动和运行结果跟踪 本篇笔记内容如下: celery 介绍 celery 准备 celery 启动和异步任务的运行 ...

  4. 4、数据库:MySQL部署 - 系统部署系列文章

    MySQL数据库在其它博文中有介绍,包括学习规划系列.今天就讲讲MySQL的部署事情. 一.先下载MySQL数据库: 到下面这个网址去下载数据库,这里下载的社区版: https://dev.mysql ...

  5. Vue——vuex使用、Router使用、localstorage、sessionstorage和cookie

    vuex使用 # vuex :状态管理器--->存数据(变量)的地方,所有组件都可以操作 在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理( ...

  6. 搭建springbootweb环境

    搭建springboot环境(idea环境) 实现步骤: 1.基础环境配置 2.maven配置 3.编写第一个程序helloworld(可能有两个小问题) 4.运行(jar包运行,命令行运行) 一.基 ...

  7. 一文读懂什么是AIGC?

    目录 AIGC概念 AIGC发展历史 在早期萌芽阶段(1950s~1990s) 在沉淀累积阶段(1990s~2010s) 在快速发展阶段(2010s~至今) ChatGPT AIGC能做什么? 电子商 ...

  8. 1.4 编写简易ShellCode弹窗

    在前面的章节中相信读者已经学会了使用Metasploit工具生成自己的ShellCode代码片段了,本章将继续深入探索关于ShellCode的相关知识体系,ShellCode 通常是指一个原始的可执行 ...

  9. 介绍Vue router的history模式以及如何配置history模式

    引言 Vue router给我们提供了两种路由模式,分别是hash模式和history模式.其中默认是使用hash模式,即URL中带有一个#符号,但是处于业务或个人喜爱的差别,Vue router也提 ...

  10. vue3中父组件与组件之间参数传递,使用(defineProps/defineEmits),涉及属性传递,对象传递,数组传递,以及事件传递

    Vue3 中子父组件之间的通信 一.父组件传递参数到子组件 采用defineProps 传递属性 父组件: <template> <div> <h1>这是父组件&l ...