元数据管理Datahub基于Docker进行部署

news2024/11/15 17:33:37

目录

  • 1. 服务器要求
  • 2. 安装Docker
  • 3. 安装jq
  • 4. 安装python3
  • 5. 安装docker-compose v1(deprecated,为了兼容性)
    • 5.1 安装virtualenv
    • 5.2 安装docker-compose
  • 6. 安装datahub(在docker-compose-v1-py虚拟环境下)
  • 7. 访问Web页面,然后导入测试元数据
  • 8. 删除datahub的所有containers、volumes、networks

1. 服务器要求

要求至少有4G的内存分配给Datahub

2. 安装Docker

Docker的安装请参考我的博客centos7基于yum repository方式安装docker和卸载docker

这里安装的是Docker当前最新版,docker-ce-20.10.17、docker-ce-cli-20.10.17、containerd.io-1.6.6

3. 安装jq

jq简介:jq是一个命令行JSON解析器,使用它来进行切片、过滤、映射和转换结构化数据。类似linux的sed工具

我这里安装的是当前最新版1.6

[root@datahub ~]# wget https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64
[root@datahub ~]#
[root@datahub ~]# mv jq-linux64 jq
[root@datahub ~]# 
[root@datahub ~]# chmod +x jq
[root@datahub ~]# 
[root@datahub ~]# cp jq /usr/bin
[root@datahub ~]# 
[root@datahub ~]# jq
jq - commandline JSON processor [version 1.6]

Usage:	jq [options] <jq filter> [file...]
	jq [options] --args <jq filter> [strings...]
	jq [options] --jsonargs <jq filter> [JSON_TEXTS...]

jq is a tool for processing JSON inputs, applying the given filter to
its JSON text inputs and producing the filter's results as JSON on
standard output.

The simplest filter is ., which copies jq's input to its output
unmodified (except for formatting, but note that IEEE754 is used
for number representation internally, with all that that implies).

For more advanced filters see the jq(1) manpage ("man jq")
and/or https://stedolan.github.io/jq

Example:

	$ echo '{"foo": 0}' | jq .
	{
		"foo": 0
	}

For a listing of options, use jq --help.
[root@datahub ~]# 

4. 安装python3

要求是安装python3.6+。python的安装请参考centos7同时安装Python2和Python3

我这里安装的是当前最新版python3.10.5

5. 安装docker-compose v1(deprecated,为了兼容性)

需要python的pip工具。安装的docker-compose v1是当前的最新版v1.29.2。为了避免和python的依赖包环境冲突,这里使用virtualenv方式进行安装

5.1 安装virtualenv

[root@datahub ~]# pip3 install --upgrade pip
[root@datahub ~]#
[root@datahub ~]# pip3 install virtualenv
[root@datahub ~]#
[root@datahub ~]# /root/python-3.10.5/bin/virtualenv docker-compose-v1-py --python=/root/python-3.10.5/bin/python3
[root@datahub ~]#

会在当前目录生成虚拟的python3.10.5环境目录docker-compose-v1-py

进入docker-compose-v1-py虚拟环境

[root@datahub ~]# . docker-compose-v1-py/bin/activate
(docker-compose-v1-py) [root@datahub ~]# 
(docker-compose-v1-py) [root@datahub ~]# deactivate
[root@datahub ~]#

5.2 安装docker-compose

(docker-compose-v1-py) [root@datahub ~]# pip3 install --upgrade pip
(docker-compose-v1-py) [root@datahub ~]#
(docker-compose-v1-py) [root@datahub ~]# pip3 install docker-compose

6. 安装datahub(在docker-compose-v1-py虚拟环境下)

先安装datahub的安装包

(docker-compose-v1-py) [root@datahub ~]# pip3 install --upgrade pip wheel setuptools
(docker-compose-v1-py) [root@datahub ~]# pip3 uninstall datahub acryl-datahub || true
(docker-compose-v1-py) [root@datahub ~]# pip3 install --upgrade acryl-datahub
......省略部分......
Installing collected packages: types-termcolor, types-Deprecated, termcolor, tabulate, ratelimiter, pytz, mypy-extensions, wrapt, tzdata, typing-extensions, toml, stackprinter, python-utils, python-dateutil, pyparsing, psutil, markupsafe, humanfriendly, expandvars, entrypoints, click, avro, typing-inspect, pytz-deprecation-shim, pydantic, progressbar2, packaging, mixpanel, Deprecated, click-default-group, tzlocal, avro-gen3, acryl-datahub
Successfully installed Deprecated-1.2.13 acryl-datahub-0.8.38 avro-1.10.2 avro-gen3-0.7.4 click-8.1.3 click-default-group-1.2.2 entrypoints-0.4 expandvars-0.9.0 humanfriendly-10.0 markupsafe-2.0.1 mixpanel-4.9.0 mypy-extensions-0.4.3 packaging-21.3 progressbar2-4.0.0 psutil-5.9.1 pydantic-1.9.1 pyparsing-3.0.9 python-dateutil-2.8.2 python-utils-3.3.3 pytz-2022.1 pytz-deprecation-shim-0.1.0.post0 ratelimiter-1.2.0.post0 stackprinter-0.2.6 tabulate-0.8.9 termcolor-1.1.0 toml-0.10.2 types-Deprecated-1.2.8 types-termcolor-1.1.4 typing-extensions-4.2.0 typing-inspect-0.7.1 tzdata-2022.1 tzlocal-4.2 wrapt-1.14.1
(docker-compose-v1-py) [root@datahub ~]#
(docker-compose-v1-py) [root@datahub ~]# python3 -m datahub version
DataHub CLI version: 0.8.38
Python version: 3.10.5 (main, Jun 18 2022, 17:36:43) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
(docker-compose-v1-py) [root@datahub ~]# 

安装的是当前最新的datahub 0.8.38

再启动datahub。如果重启服务器,容器都会停止运行,重新运行python3 -m datahub docker quickstart命令启动容器就可以了,之前同步的元数据不会丢失

(docker-compose-v1-py) [root@datahub ~]# wget https://raw.githubusercontent.com/datahub-project/datahub/v0.8.38/docker/quickstart/docker-compose.quickstart.yml
(docker-compose-v1-py) [root@datahub ~]#
(docker-compose-v1-py) [root@datahub ~]# python3 -m datahub docker quickstart --quickstart-compose-file /root/docker-compose.quickstart.yml
Pulling elasticsearch          ... done
Pulling elasticsearch-setup    ... done
Pulling mysql                  ... done
Pulling datahub-gms            ... done
Pulling datahub-frontend-react ... done
Pulling datahub-actions        ... done
Pulling mysql-setup            ... done
Pulling neo4j                  ... done
Pulling zookeeper              ... done
Pulling broker                 ... done
Pulling schema-registry        ... done
Pulling kafka-setup            ... done

Creating network "datahub_network" with the default driver
Creating volume "datahub_broker" with default driver
Creating volume "datahub_esdata" with default driver
Creating volume "datahub_mysqldata" with default driver
Creating volume "datahub_neo4jdata" with default driver
Creating volume "datahub_zkdata" with default driver
Creating neo4j         ... done
Creating mysql         ... done
Creating elasticsearch ... done
Creating zookeeper           ... done
Creating mysql-setup         ... done
Creating datahub-gms         ... done
Creating elasticsearch-setup       ... done
Creating broker                    ... done
Creating datahub-frontend-react    ... done
Creating datahub_datahub-actions_1 ... done
Creating schema-registry           ... done
Creating kafka-setup               ... done
......省略部分......
✔ DataHub is now running
Ingest some demo data using `datahub docker ingest-sample-data`,
or head to http://localhost:9002 (username: datahub, password: datahub) to play around with the frontend.
Need support? Get in touch on Slack: https://slack.datahubproject.io/
(docker-compose-v1-py) [root@datahub ~]#

7. 访问Web页面,然后导入测试元数据

然后访问http://datahub:9092,用户名和密码为datahub/datahub。如下所示

datahub

然后导入一些官方提供的测试元数据

(docker-compose-v1-py) [root@datahub ~]# python3 -m datahub docker ingest-sample-data
Downloading sample data...
Downloaded to /tmp/tmpn3k2a_di.json
Starting ingestion...
[2022-06-19 10:24:34,830] INFO     {datahub.ingestion.run.pipeline:102} - sink wrote workunit file:///tmp/tmpn3k2a_di.json:0
[2022-06-19 10:24:35,075] INFO     {datahub.ingestion.run.pipeline:102} - sink wrote workunit file:///tmp/tmpn3k2a_di.json:1
[2022-06-19 10:24:35,395] INFO     {datahub.ingestion.run.pipeline:102} - sink wrote workunit file:///tmp/tmpn3k2a_di.json:2
......省略部分......
[2022-06-19 10:24:58,419] INFO     {datahub.ingestion.run.pipeline:102} - sink wrote workunit file:///tmp/tmpn3k2a_di.json:94
[2022-06-19 10:24:58,578] INFO     {datahub.ingestion.run.pipeline:102} - sink wrote workunit file:///tmp/tmpn3k2a_di.json:95
[2022-06-19 10:24:58,727] INFO     {datahub.ingestion.run.pipeline:102} - sink wrote workunit file:///tmp/tmpn3k2a_di.json:96

Source (file) report:
{'workunits_produced': 97,
 'workunit_ids': ['file:///tmp/tmpn3k2a_di.json:0',
                  'file:///tmp/tmpn3k2a_di.json:1',
                  'file:///tmp/tmpn3k2a_di.json:2',
......省略部分......
                  'file:///tmp/tmpn3k2a_di.json:94',
                  'file:///tmp/tmpn3k2a_di.json:95',
                  'file:///tmp/tmpn3k2a_di.json:96'],
 'warnings': {},
 'failures': {},
 'cli_version': '0.8.38',
 'cli_entry_location': '/root/docker-compose-v1-py/lib/python3.10/site-packages/datahub/__init__.py',
 'py_version': '3.10.5 (main, Jun 18 2022, 17:36:43) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]',
 'py_exec_path': '/root/docker-compose-v1-py/bin/python3',
 'os_details': 'Linux-3.10.0-1160.66.1.el7.x86_64-x86_64-with-glibc2.17'}
Sink (datahub-rest) report:
{'records_written': 97,
 'warnings': [],
 'failures': [],
 'downstream_start_time': datetime.datetime(2022, 6, 19, 10, 24, 34, 550628),
 'downstream_end_time': datetime.datetime(2022, 6, 19, 10, 24, 58, 727050),
 'downstream_total_latency_in_seconds': 24.176422,
 'gms_version': 'v0.8.38'}

Pipeline finished successfully producing 97 workunits
(docker-compose-v1-py) [root@datahub ~]#

8. 删除datahub的所有containers、volumes、networks

如果还没有导入我们自己的元数据,可以使用如下命令清除Datahub的所有containers、volumes、networks(包括我们刚刚导入的官方提供的测试元数据)

(docker-compose-v1-py) [root@datahub ~]# python3 -m datahub docker nuke
Removing containers in the datahub project
Removing volumes in the datahub project
Removing networks in the datahub project
(docker-compose-v1-py) [root@datahub ~]#

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

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

相关文章

数字孪生的概念是什么【深度】

数字孪生技术最早提出是用于航空航天领域&#xff0c;美国 NASA 指出“一个数字孪生&#xff0c;是一种集成化了的多种物理量、多种空间尺度的运载工具或系统的仿真&#xff0c;该仿真使用了当前最为有效的物理模型、传感器数据的更新、飞行的历史等等&#xff0c;来镜像出其对…

C语言C++中与接收、输出字符相关的问题

C语言中&#xff0c;在使用scanf("%c",&data);读取一个字符时&#xff0c;有时会遇到scanf吞回车符的情况。 这里搜到几种常用的解决方法&#xff1a; 1.在scanf()中使用’\n’屏蔽回车符号。 scanf("\n%c",&c);2.在scanf()格式串最前面添加空格&…

【Linux】缓冲区的理解

文章目录什么是缓冲区&#xff1f;为什么要有缓冲区&#xff1f;缓冲区刷新策略请看下面代码&#xff1a;接着上篇【Linux】文件操作|文件描述符|重定向 什么是缓冲区&#xff1f; 我们口中说的缓冲区&#xff0c;一般指的是用户级语言层面给我们提供的缓冲区。本质就是一段…

nRF24L01芯片(模块)介绍

nRF24L01芯片&#xff08;模块&#xff09;简介nRF24L01是由NORDIC生产的工作在2.4GHz~2.5GHz的ISM 频段的单片无线收发器芯片。无线收发器包括&#xff1a;频率发生器、增强型“SchockBurst”模式控制器、功率放大器、晶体振荡器、调制器和解调器。输出功率频道选择和协议的设…

使用 K8S 部署 RSS 全套自托管解决方案- RssHub + Tiny Tiny Rss

前言 什么是 RSS? RSS 是一种描述和同步网站内容的格式&#xff0c;是使用最广泛的 XML 应用。RSS 搭建了信息迅速传播的一个技术平台&#xff0c;使得每个人都成为潜在的信息提供者。发布一个 RSS 文件后&#xff0c;这个 RSS Feed 中包含的信息就能直接被其他站点调用&…

【MySQL】SQL查询语句在MySQL中的执行过程

文章目录1.MYSQL基础架构2.连接器3.查询缓存4.解析SQL5.执行SQL5.1 预处理器5.2 优化器5.3 执行器6.总结1.MYSQL基础架构 连接器&#xff1a;建立连接、管理链接、校验用户身份查询缓存&#xff1a; 查询语句如果命中查询缓存则直接返回&#xff0c;否则继续往下执行。&#xf…

基于Java+SpringBoot+vue+element疫情物资捐赠分配系统设计和实现

基于JavaSpringBootvueelement疫情物资捐赠分配系统设计和实现 &#x1f345; 作者主页 超级帅帅吴 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; 文章目录基于JavaSpringBootvueelement疫情物资捐赠分配…

不能你说对不起,别人就一定要说没关系——与九迁沟通他的冲动和错误

今天的事情是最近三天九迁与他奶奶之间发生的事情。先说前面在谈事件&#xff0c;这个事情的发生&#xff0c;首先说明我母亲的身体还可以&#xff0c;没有被感染&#xff0c;因为还能和孩子生气&#xff0c;说明熊胆粉确实是在起作用&#xff0c;关于熊胆粉的文章请看&#xf…

FGH40N60SMD 600V 80A 349W 逆变器高频IGBT单管

FGH40N60SMD 600V 80A 349W 逆变器高频IGBT单管 &#xff0c;为光伏逆变器、UPS、焊机、通讯、ESS 和 PFC 等低导通和开关损耗至关重要的应用提供最佳性能。IGBT单管系列&#xff1a;FGH40N60SMDFGH60N60SMDFGH75T65SHD-F155 NGTB40N120FL2WG特性&#xff1a;1.最大结温 T[siz…

C++:二叉树题进阶(三种非递归遍历、二叉搜索树OJ题)

lc 606 根据二叉树创建字符串 给你二叉树的根节点 root &#xff0c;请你采用前序遍历的方式&#xff0c;将二叉树转化为一个由括号和整数组成的字符串&#xff0c;返回构造出的字符串。 空节点使用一对空括号对 “()” 表示&#xff0c;转化后需要省略所有不影响字符串与原始…

C++4:C++中的动态内存管理

目录 C内存管理方式 new/delete操作内置类型&#xff1a; new/delete操作自定义类型&#xff1a; new和delete的底层实现&#xff1a; operator new与operator delete函数 定位new 内存泄漏 动态内存管理&#xff0c;早些我们接触C语言的时候就已经在很熟练的游玩在堆上开…

QGIS加载谷歌地图(google map)方法

目录第一步第二步将Google提供的网络地图&#xff0c;包括地图和卫星影像等&#xff0c;作为图层加载到QGIS中&#xff0c;有时可辅助地学分析。QGIS已经提供了OpenStreetMap&#xff0c;在 “XYZ Tiles” 里面加载即可。 谷歌街道地图&#xff1a;http://mt2.google.com/vt/ly…

缓冲区的深刻理解

代码&&现象 先来看一份代码 #include <stdio.h> #include <string.h> #include <unistd.h> int main() {//C Libraryprintf("hello printf\n");fprintf(stdout, "hello fprintf\n");const char *s1 "hello fwrite\n&quo…

微信公众号开发以及测试公众号菜单配置

微信公众号开发测试号申请测试号配置公众号菜单配置1、获取access_token2、新增自定义菜单微信扫描关注公众号微信公众平台测试号申请 1、测试号申请 开发的时候需要一个个人的公众号调试&#xff0c;所以使用微信测试号进行。 1、微信测试号申请地址: https://mp.weixin.qq.c…

用于野外精确人体姿态估计的自适应多视图融合

用于野外精确人体姿态估计的自适应多视图融合 Abstract AdaFuse&#xff1a;一种自适应的多视图融合方法&#xff0c;利用可见视图中的特征增强被遮挡视图中的特征核心&#xff1a;确定两个视图之间的点-点对应关系 通过研究热图表示的稀疏性 我们还学习了一个自适应的融合…

ArcGIS基础实验操作100例--实验48按分区划分矢量图层

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 高级编辑篇--实验48 按分区划分矢量图层 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;…

属于 PingCAP 用户和开发者的 2022 年度记忆

2022 年&#xff0c;我们一起穿越了许多荆棘时刻&#xff0c;面对着前所未有的不确定性。在这些挑战面前&#xff0c;我们发现技术和开发者扮演了重要角色。 技术为我们提供了穿越周期的桥梁&#xff0c;开发者帮助我们更好地应对挑战&#xff0c;解决问题并赋予这个世界更多创…

Qt——项目:翻转金币游戏

目录 一.示例演示 二.制作思路 &#xff08;一&#xff09;.准备资源及总体框架 &#xff08;二&#xff09;.开始窗口 &#xff08;三&#xff09;.选择关卡窗口 &#xff08;四&#xff09;.游戏窗口 &#xff08;五&#xff09;.优化 三.实现代码 &#xff08;一&a…

电脑系统格式化需不需要重装系统

​有小伙伴反应系统中毒无法彻底杀毒&#xff0c;不知道格式化需不需要重装系统吗那么下面小编给大家说说并且带来格式化重装系统步骤图解。 工具/原料&#xff1a; 系统版本&#xff1a;windows10系统 品牌型号&#xff1a;惠普战66五代 软件版本&#xff1a; 方法/步骤&…

【LeetCode】1802. 有界数组中指定下标处的最大值

1802. 有界数组中指定下标处的最大值 题目描述 给你三个正整数 n、index 和 maxSum 。你需要构造一个同时满足下述所有条件的数组 nums&#xff08;下标 从 0 开始 计数&#xff09;&#xff1a; nums.length nnums[i] 是 正整数 &#xff0c;其中 0 < i < nabs(nums…