元数据管理平台Datahub0.10.5版本安装部署与导入各种元数据手册

news2024/11/23 20:24:05

官网文档连接

DataHub Quickstart Guide | DataHub (datahubproject.io)

本文所选择的Python的版本为3.8.16,Docker版本为20.10.0,Datahub为0.10.5版本

python必须为3.7以上的版本。0.10.5不支持以下的版本

如果要使用web上的 添加数据源  直接调用的python和pip命令 需要把环境变量设置过去。不能用python3

安装python3

需要注意的一点是datahub需要openssl1.11以上。所以在安装python3的时候就提前配置好,可以看下这个文档

python报错:ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1_Mumunu-的博客-CSDN博客

下载,并解压Python3安装包

wget https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tgz
tar -zxvf Python-3.8.11.tgz

下载一堆依赖

yum install -y zlib-devel bzip2-devel \
openssl-devel ncurses-devel epel-release gcc gcc-c++ xz-devel readline-devel \
gdbm-devel sqlite-devel tk-devel db4-devel libpcap-devel libffi-devel

进行Python3的编译

mkdir /usr/local/python3
cd Python-3.8.16
./configure --prefix=/usr/local/python3
make && make install

然后部署docker

#下载docker-20.10.0包
https://download.docker.com/linux/static/stable/x86_64/docker-20.10.0.tgz
#下载docker-compose对应系统的包
curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose
tar -zxvf docker-20.10.0.tgz
#将解压出来的docker文件内容移动到 /usr/bin/ 目录下
cp docker/* /usr/bin/
#查看docker版本
docker version
#查看docker信息
docker info

配置docker

配置Docker开机自启动服务
#添加docker.service文件
vi /etc/systemd/system/docker.service
#按i插入模式,复制如下内容:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
#添加文件可执行权限
chmod +x /etc/systemd/system/docker.service
#重新加载配置文件
systemctl daemon-reload
#启动Docker
systemctl start docker
#查看docker启动状态
systemctl status docker
#查看启动容器
docker ps
#设置开机自启动
systemctl enable docker.service
#查看docker开机启动状态 enabled:开启, disabled:关闭
systemctl is-enabled docker.service

安装Datahub

pip3 install acryl-datahub==0.10.5

查看版本情况。

python3 -m datahub version

 接下来是下载镜像,镜像较大,一共十几个GB,需要耐心下载

我们选择本地读配置文件启动

python3 -m datahub docker quickstart --quickstart-compose-file ./docker-compose.consumers-without-neo4j.quickstart.yml
docker-compose -p datahub -f ./docker-compose.consumers-without-neo4j.quickstart.yml up -

这个文件从https://github.com/datahub-project/datahub/tree/master/docker/quickstart
下载

执行命令后,如果没有报错证明没有问题。

确认一下有没有启动这么多容器。没有就重启一次

访问IP:9002,启动成功

一些基本命令

#启动
docker-compose -p datahub -f ./docker-compose.consumers-without-neo4j.quickstart.yml up -
#停止
docker-compose -p datahub -f ./docker-compose.consumers-without-neo4j.quickstart.yml stop

查看有哪些插件
python3 -m datahub check plugins --verbose

缺少插件的时候安装对应插件
pip3 install 'acryl-datahub[数据源]'
例如
pip3 install 'acryl-datahub[mysql]'

导入hive元数据

首先把部署datahub的机器上添加keyberos客户端环境

安装kerberos客户端
yum -y install krb5-libs krb5-workstation
 
同步KDC配置
scp hadoop102:/etc/krb5.conf /etc/krb5.conf
scp hadoop102:/etc/security/keytab/ranger_all_publc.keytab /etc/security/keytab/
 
验证能否连接到服务
kinit -kt /etc/security/keytab/ranger_all_publc.keytab  hadoop/hadoop102@ZHT.COM

 配置hive数据源就不使用web界面配置了,不然会报错在kerberos数据库没有相应的授权,猜测应该是在datahub的docker环境中没有相应的授权

 
安装sasl 不然后边会报错少这个包
yum install cyrus-sasl  cyrus-sasl-lib  cyrus-sasl-plain cyrus-sasl-devel cyrus-sasl-gssapi  cyrus-sasl-md5
 
pip install sasl
 
安装hive插件
pip install 'acryl-datahub[hive]'
 
 
配置hive相应的yml 并保存成 hive.yml
 
 

source:
  type: hive
  config:
    host_port: xxxx:10000
    database: test 
    username: hive
    options:
      connect_args:
        auth: KERBEROS
        kerberos_service_name: hive
        scheme: 'hive+https'
sink:
  type: "datahub-rest"
  config:
    server: 'http://IP:8080'
    token: 如果有就写


 
之后导入python -m  datahub --debug ingest -c hive.yml
也可以把debug去掉 。不然日志太多
 
脚本定时导入hive数据
 
 
import os
import subprocess
 
yml_files = [f for f in os.listdir('/root/datalineage') if f.endswith('.yml')]
 
 
for file in yml_files:
    cmd = f"python3 -m datahub ingest -c {file}"   
    subprocess.run(cmd, shell=True, check=True)

导入mysql元数据

安装hive插件
pip install 'acryl-datahub[mysql]'
 
 
配置相应的yml 并保存成 mysql.yml
  
source:
  type: mysql
  config:
    # Coordinates
    host_port: master:3306
    database: dolphinscheduler
    # Credentials
    username: root
    password: lovol
    # If you need to use SSL with MySQL:
    # options:
    #   connect_args:
    #     ssl_ca: "path_to/server-ca.pem"
    #     ssl_cert: "path_to/client-cert.pem"
    #     ssl_key: "path_to/client-key.pem"
sink:
  # sink configs
  type: datahub-rest
  config:
    server: http://slave1:8080


 
之后导入python -m  datahub --debug ingest -c mysql.yml
 

不过我用这个没导入成功。我用的web 界面

 

选择mysql 填入基本信息。都是字面意思。无坑 next 就好了。开始执行的时候可以看看日志。查一下是不是有什么问题。注意web直接调用的python和pip命令 需要把环境变量设置过去。不能用python3

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

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

相关文章

开源分布式存储系统(HDFS、Ceph)架构分析

文章目录 中间控制节点架构-HDFSNameNode节点分析DataNode节点分析SecondNameNode节点分析Client分析 完全无中心架构-CephCeph Monitor分析Ceph OSD分析Ceph Manager分析Ceph Clients分析 小结HDFS优点缺点 Ceph优点缺点 参考 中间控制节点架构-HDFS 以HDFS( Hado…

五、点击切换、滚动切换、键盘切换

简介 通过事件改变当前展示的信息组件&#xff0c;交互的事件有点击上下切换、鼠标轮动上下切换、键盘上下键切换。欢迎访问个人的简历网站预览效果 本章涉及修改与新增的文件&#xff1a;App.vue、public 一、鼠标点击上下箭头切换 <template><div class"a…

Learn Prompt-Prompt 高级技巧:Agent的颠覆性影响

OpenAI联合创始人Andrej Karpathy在一个开发者活动上发表讲话&#xff0c;谈及了他和OpenAI对AI Agents的看法。他将过去开发 AI Agents 的困难与现在依靠新技术工具而带来的新机会进行了对比。Andrej Karpathy 认为普通人、创业者和极客在构建 AI Agents 方面相比 OpenAI 这样…

还有一天活动就开始我定好闹钟准时上线

&#xff08;整理衣服&#xff09;&#xff08;大步流星走上台&#xff09;&#xff08;拿起麦克风&#xff09;&#xff08;激情发言&#xff09;请大家&#xff08;热泪盈眶&#xff09;&#xff08;哽咽&#xff09;关注&#xff08;流泪&#xff09;&#xff08;擦眼泪&…

蓝桥杯打卡Day11

文章目录 最长上升子序列最长上升子序列II 一、最长上升子序列IO链接 本题思路:本题是一关于dp问题中的一个类型是最长上升子序列问题&#xff0c;首先我们将状态表示出来&#xff1a;f[i]表示以a[i]结尾的最大的上升序列。状态计算&#xff08;集合划分&#xff09;&#xf…

如何防盗版软件

有多少公司&#xff0c;至今都无法摆脱被盗版软件支配的恐惧&#xff1f; 其实大多数时候&#xff0c;企业都是被动当了大冤种&#xff0c;因为他们也并不会主动要求员工使用破解软件。实在是架不住有些不懂版权的、心存侥幸的员工私下里使用。只要公司联网&#xff0c;就一定…

猫头虎博主第5️⃣期赠书活动:《Java官方编程手册(第12版·Java 17)套装上下册》

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

JK405R-SOP16录音芯片ic方案的常见问题集锦包含录音长度功耗以及外挂spiflash

目录 问题1 1、KT405R是什么&#xff1f; 具备哪些功能&#xff1f; 有什么特色&#xff1f; 问题2 2、KT405R录音的机制是怎样的&#xff1f; 问题3 3、KT405R的供电电压详细说明&#xff1f;以及功耗控制手段 问题4 4、KT405R支持多段录音&#xff1f;每段时长如何划…

招商信诺人寿基于 Apache Doris 统一 OLAP 技术栈实践

本文导读&#xff1a; 当前&#xff0c;大数据、人工智能、云计算等技术应用正在推动保险科技发展&#xff0c;加速保险行业数字化进程。在这一背景下&#xff0c;招商信诺不断探索如何将多元数据融合扩充&#xff0c;以赋能代理人掌握更加详实的用户线索&#xff0c;并将智能…

mysql redis的区别

.mysql和redis的数据库类型 mysql是关系型数据库&#xff0c;主要用于存放持久化数据&#xff0c;将数据存储在硬盘中&#xff0c;读取速度较慢。 redis是NOSQL&#xff0c;即非关系型数据库&#xff0c;也是缓存数据库&#xff0c;即将数据存储在缓存中&#xff0c;缓存的读取…

Stm32_点灯

利用HAL库基本语法实现C8T6点灯操作 引脚配置 PB3、4 、5 //设置为output PB6、7 设置Input且为上拉初始化代码&#xff1a; 由于3、4、5引脚默认输出为0灯泡默认点亮所以要将他们初始化为1 void Inint(){//初始化灯泡函数熄灭HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PI…

无涯教程-JavaScript - RADIANS函数

描述 RADIANS函数将度数转换为弧度。度和弧度之间的转换是通过以下关系式计算的 180度π弧度 其中π是数学常数,PI3.14159265358979 ... 语法 RADIANS (angle)争论 Argument描述Required/OptionalAngleAn angle in degrees that you want to convert.Required 适用性 E…

主动写入流对@ResponseBody注解的影响 | 京东云技术团队

问题回溯 2023年Q2某日运营反馈一个问题&#xff0c;商品系统商家中心某批量工具模板无法下载&#xff0c;导致功能无法使用&#xff08;因为模板是动态变化的&#xff09; 商家中心报错&#xff08;JSON串&#xff09;&#xff1a; {"code":-1,"msg":&…

http概念

概念&#xff1a;HTTP&#xff0c;hyper text transfer protocol&#xff0c;超文本传输协议&#xff0c;规定了浏览器和服务器之间数据传输的规则。 特点&#xff1a; 1.基于TCP协议&#xff1a;面向连接&#xff0c;安全。 2.基于请求-响应模型的&#xff1a;一次请求对应一…

2.求循环小数

题目 对于任意的真分数 N/M &#xff08; 0 < N < M &#xff09;&#xff0c;均可以求出对应的小数。如果采用链表表示各个小数&#xff0c;对于循环节采用循环链表表示&#xff0c;则所有分数均可以表示为如下链表形式。 输入&#xff1a; N M 输出&#xff1a; 转换…

内容创作者如何下载头条号西瓜视频的视频

如果你是一位科技博客作者或是视频创作专家&#xff0c;我相信你必然会遇到这样的问题&#xff1a; 如何将头条号的西瓜视频的视频下载下来&#xff1f; 对于这个问题&#xff0c;其实并不存在所谓的标准答案&#xff0c;因为头条号和西瓜视频并没有提供官方支持的下载方式。…

文件外发流程如何设置,才能进行事前事中事后管控呢?

随着信息技术的快速发展&#xff0c;企业内部数据的安全性成为业务运行过程中的关键问题之一。尤其是对于那些包含商业秘密、客户数据以及机密文件等敏感信息的企业而言&#xff0c;文件的外发往往会导致严重的商业损失和声誉损害。根据IBM的数据报告&#xff0c;2022年全球数据…

【二叉搜索树】将二叉搜索树变平衡-力扣 1382 题

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

一文解析 Python 读取配置文件的常用方法!

在程序运行使用当中&#xff0c;尤其是框架设计中&#xff0c;配置文件是必不可少的&#xff0c;配置文件的存在能够放置参数或者选项设置&#xff0c;使得程序更加灵活可用&#xff0c;下面就来介绍 Python 读取配置文件的常用方法。 常用的配置文件种类有很多&#xff0c;甚至…

【Nginx27】Nginx学习:代理模块(一)基本配置与概念

Nginx学习&#xff1a;代理模块&#xff08;一&#xff09;基本配置与概念 来了来了它来了。要说 Nginx 最早最出名的名头是什么&#xff1f;相信不少老码农马上就会想到&#xff0c;最开始&#xff0c;Nginx 的名头就是一款性能最高的 反向代理 服务器。现在其实也是&#xff…