开源元数据管理平台Datahub最新版本0.10.5——安装部署手册(附离线安装包)
大家好,我是独孤风。
开源元数据管理平台Datahub近期得到了飞速的发展。已经更新到了0.10.5的版本,来咨询我的小伙伴也越来越多,特别是安装过程有很多问题。本文经过和群里大伙伴的共同讨论,总结出安装部署Datahub最新版本的部署手册,希望能帮助到大家。
文章较长,建议收藏点赞在看后,再仔细阅读。具体安装问题,以及安装包获取,可以在文末申请加入Datahub学习群进行咨询。
本文档版权归大数据流动所有,抄袭必究。
正文共: 6173字 19图
预计阅读时间: 16分钟
正文开始:
本文所使用操作系统是CentOS7。这也是大多数生产机器的选择。
本文所选择的Python的版本为3.8.3,Docker版本为20.10.0,都可以很好的支持Datahub的安装。
Datahub下载的最新0.10.5版本,这是目前功能最完善也最稳定的版本。考虑到有些同学没有类似的CentOS环境,本文将从虚拟机搭建,CentOS 7安装,Python3安装, Docker安装,Datahub安装,启动Datahub六部分来进行,并将安装过程中遇到的问题进行整理。文章目录结构如下:
一、虚拟机搭建
要想有一个本地稳定的调试环境,就必须安装虚拟机,本文使用的是Win10系统的Hyper-V管理器,也 是一个系统自带的虚拟机工具,非常的方便。安装之前先下载一个CentOS镜像,我这边用的是CentOS-7-x86_64-DVD-2009.iso。可以去官网下载:https://www.centos.org/download/。 网速不好的同学可以加入Datahub学习交流群,获取Datahub所有安装资料下载包。加入方式,关注 大数据流动,后台回复 “加群”。首先,打开Hyper-V管理器。可以搜索一下,有的话直接打开。没有的话是系统默认没有开启这个服务。
在这里选择把Hyper-V的管理工具和平台都打开。
然后我们打开Hyper-V管理工具,新建一个虚拟机。需要指定名称和位置,需要保证安装位置有足够大的空间。
选择虚拟机代数,选第一代。分配内存,这个后面也是可以修改的。考虑到Datahub的基本需要,还有电脑的配置,我这里选择 4096MB。(补充一下,datahub建议内存就是4GB,所以这里我后来做了修改,建议5GB以上)
随后选好硬盘,网络。导入镜像。
完成虚拟机创建。
这样的话,虚拟机安装完成,我们可以有一个稳定的环境来运行datahub了。但是目前这个虚拟机里边是没有操作系统的,需要安装。
二、CentOS 7安装
启动Hyper-V管理器。打开刚刚新建的虚拟机,然后点击启动。选择 install centos 7 正常安装 CentOS 7 的流程。
随后选择语言,时区等等。安装过程中设置一下密码。并牢记。
安装完成之后点击重启。CentOS7 安装完成,可以正常使用了!
三、Python3安装
由于CentOS7默认的python环境是python2,这里我们需要去安装一下Python3,来支持Datahub。
可以通过如下路径下载,并解压Python3安装包。网络不佳的同学,可以直接用我的安装包,已经下载好。
wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
tar -zxvf Python-3.8.3.tgz
随后需要下载一堆依赖,不然安装Python3会报各种问题。
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.3
./configure --prefix=/usr/local/python3
make && make install
有如下显示证明安装成功。有一点错误都是不对的,赶紧解决。
make install此过程较漫长,耐心等待,此时python3已经安装成功,我们进行一些基本设置就可以了。
修改系统默认python指向,默认pip指向,注意,这样改完会系统yum不可用,需要修复一下。
rm -rf /usr/bin/python ln -s /usr/local/python3/bin/python3 /usr/bin/python rm -rf /usr/bin/pip ln -s /usr/local/python3/bin/pip3 /usr/bin/pip python -V pip -V
四、 Docker安装
首先下载docker安装包,同样,网络不佳的同学,可以直接用我的安装包,已经下载好。上传上去就行了。
#下载docker-20.10.0包
https://download.docker.com/linux/static/stable/x86_64/docker-20.10.0.tgz
#下载docker-compose对应系统的包
https://github.com/docker/compose/releases/download/1.29.1/docker-compose-Linuxx86_64
解压安装docker。
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
安装docker-compose
将docker-compose上传到服务器/usr/local/bin/里面:
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
安装docker-compose
#下载docker-compose到/usr/local/bin/目录。
# 给docker compose 目录授权
sudo chmod +x /usr/local/bin/docker-compose
# 查看一下version,显示有版本号那就说明安装成功了
docker-compose version
version一下,有这样的显示就对了。
五、Datahub安装
依赖安装,Datahub需要依赖大量的python包,好在pip都有集成,可以很方便安装。当然网速是个问题,建议选择合适的源。
先检查环境
python3 -m pip uninstall datahub acryl-datahub || true # sanity check - ok if it
fails
检查环境 收到这样的提示说明没有问题。
WARNING: Skipping datahub as it is not installed.
安装依赖包。
pip3 install acryl-datahub==0.10.5
查看版本情况。
python -m datahub version
显示为0.10.5.
镜像下载,接下来是下载镜像,我们知道datahub的组件依赖较多,一共有11个,所以需要用docker先把镜像pull下来。
镜像较大,一共十几个GB,需要耐心下载。镜像是通用的,可以直接load进去,也可以用下载好的镜像包。我这边已上传云盘。
查看下配置文件,在github中 linkedin/datahub/master/docker/quickstart/docker-composewithout-neo4j.quickstart.yml。
这里详细记录了镜像的版本及获取。
随后进行镜像拉取。
docker pull confluentinc/cp-kafka:7.4.0
docker pull confluentinc/cp-zookeeper:7.4.0
docker pull elasticsearch:7.10.1
docker pull mysql:5.7
。。。
一定按照配置文件耐心下载下来。
最后执行docker image,要保证镜像都是完整的。
六、启动Datahub
万事具备,就差启动。
启动命令如下,这个过程可能会卡住,因为要去github拉那个配置来启动。
python -m datahub docker quickstart
docker-compose -p datahub
所以我们可以选择本地读配置文件启动的方式。
python -m datahub docker quickstart --quickstart-compose-file ./docker-composewithout-neo4j.quickstart.yml
docker-compose -p datahub -f ./docker-compose-without-neo4j.quickstart.yml up -
如果启动失败,需要排查下镜像是不是有问题。我在这块遇到了很多坑~ 由于网络问题,很有可能导致打的tar包是一个不完整的包。可以单独启动容器调试一下,命令如下:
docker run --name kafka -d confluentinc/cp-kafka:7.4.0
还有一些docker命令
查看启动的容器
docker ps
停止容器
docker stop confluentinc/cp-kafka:7.4.0
执行命令后,如果没有报错证明没有问题。
访问IP:9002,启动成功啦!!
爬坑记录
1、ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL
urllib3在导入时发生ImportError,是由于urllib3 v2.0只支持OpenSSL 1.1.1及以上版本,而当前系统中的ssl模块使用的OpenSSL版本低于1.1.1导致的。
如何解决 解决方法有以下几种:
升级OpenSSL到1.1.1或更高版本。
使用urllib3 v1.x版本。
2、ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock
docker没有正常启动,按照docker自启动进行配置。
3、提示 Fetching docker-compose file https://raw.githubusercontent.com/datahub-project/datahub/master/docker/quickstart/docker-compose-without-neo4j.quickstart.yml from GitHub 卡住了
连接github网络发生问题,可以下载下来配置文件,或者用我给大家准备好的。
4、requests.exceptions.SSLError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /datahub-project/datahub/master/docker/quickstart/docker-compose-without-neo4j.quickstart.yml
同样的问题,重试次数太多,连接github网络发生问题。
5、安装python报错,miss 。。。
大概率是依赖包没安装全,用yum命令重新安装下。
加群方式
关注大数据流动,后台回复“Datahub学习资料”,申请加入Datahub学习资料群。
先声明一下,为防止抄袭和广告党,加入学习群收费。加入群后禁止一切广告,群里定期分享Datahub相关资料,并将长期分享Datahub各版本安装包,一次进群,获得永久权益。
但如果是学生党,不勉强,备注一下,可以直接申请进入。
感谢大家的支持,非诚勿扰~
相关文章:

开源元数据管理平台Datahub最新版本0.10.5——安装部署手册(附离线安装包)
大家好,我是独孤风。 开源元数据管理平台Datahub近期得到了飞速的发展。已经更新到了0.10.5的版本,来咨询我的小伙伴也越来越多,特别是安装过程有很多问题。本文经过和群里大伙伴的共同讨论,总结出安装部署Datahub最新版本的部署手…...

归并排序——“数据结构与算法”
各位CSDN的uu们好呀,今天,小雅兰的内容仍然是数据结构与算法专栏的排序呀,下面,让我们进入归并排序的世界吧!!! 归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种…...

C语言笔试题训练【第一天】
目录 第一题 第二题 第三题 第四题 第五题 大家好,我是纪宁。 从今天开始博主会日更一些经典的C语言笔试题,持续20天左右。题目类型为5道选择题加2道编程题,希望能和大家一起进步。 第一题 1.读程序,下面程序正确的输出是&…...
计算语言模型计算每秒钟生成的token数量it/s
在 main() 函数的stream循环中,我们可以计算每秒钟生成的token数量,然后输出 it/s。在流式生成过程中,我们可以使用Python的time模块来计算速度。在测试时,生成速度会受到多个因素的影响,包括设备性能、模型大小、输入…...
Clickhouse调研
1、独立组件个数(按进程) 默认情况下是1个;如果需要使用副本机制,需要依赖zookeeper;如果需要监控功能,还得依赖第三方监控系统。 2、单机部署 很好的支持单机运行,并且单机情况下查询入库性能不错(通过其提供的示例数据进行体验)。 3、窗口函数 Clickhouse没有显示…...

02.Redis实现添加缓存功能
学习目标: 提示:学习如何利用Redis实现添加缓存功能 学习产出: 流程图 1. 准备pom环境 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId&g…...

【1.2】Java微服务:SpringCloud概论
✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: 微服务 ✨特色专栏: 知识分享 &#x…...

右键文件夹 ------- 打开 vscode的方法
1、右键vscode点击属性 2、这是地址栏,一会复制即可 3、新建一个txt文件,将这个复制进去 Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\VSCode] "Open with Code" "Icon""D:\\Microsoft VS Code\\Code.exe"[HKE…...

小程序原生实现左右锚点联动
效果 wxml <view classbox><scroll-view scroll-y scroll-with-animation style"width:25%"><view classnav><view wx:for"{{navList}}" wx:keyindex class"title {{index active ?select:}}"data-index{{index}} bin…...

STM32 低功耗-睡眠模式
STM32 睡眠模式 文章目录 STM32 睡眠模式第1章 低功耗模式简介第2章 睡眠模式简介2.1 进入睡眠模式2.1 退出睡眠模式 第3章 睡眠模式代码示例总结 第1章 低功耗模式简介 在 STM32 的正常工作中,具有四种工作模式:运行、睡眠、停止和待机模式。 在系统或…...

IDEA用Gradle构建项目时,lombok插件无效的解决办法
Lombok 可用来帮助开发人员消除 Java 的重复代码,尤其是对于简单的 Java 对象(POJO),比如说getter/setter/toString等方法的编写。它通过注解实现这一目的。 正确使用姿势 一、安装Lombok插件 菜单栏File -> Settings ->…...

基于方向编码的模板匹配算法matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ........................................................................... %选择移动个…...

shell centos 7 一键部署 KVM软件脚本
这个脚本有限地方还需要完善下 设计思路: 1、创建检查内核函数 check_kernel() 2、创建升级内核函数 update_kernel() 3、创建检查是否支持虚拟化函数 check_virtual() 4、创建检查操作系统函数 check_system() 5、创建检查网络函数 check_network() 6…...

64 # 实现一个 http-server
准备工作 上一节实现了通过 commander 的配置获取到用户的参数,下面完成借用 promise 写成类的方法一节没有完成的任务,实现一个 http-server,https://www.npmjs.com/package/http-server,http-server 是一个简单的零配置命令行静…...

HCIP作业3
题目 配置IP地址 R1 [r1]int g0/0/1 [r1-GigabitEthernet0/0/1]ip add 192.168.1.1 24 [r1-Serial4/0/0]ip add 12.1.1.1 24 R2 [r2]int s4/0/0 [r2-Serial4/0/0]ip add 12.1.1.2 24 [r2-Serial4/0/0]int s4/0/1 [r2-Serial4/0/1]ip add 32.1.1.1 24 [r2-Serial4/0/1]in…...

【测试学习三】软件测试的生命周期 BUG的相关知识
目录 一、软件测试的生命周期(重要) 🍑1、软件的生命周期? 🍑2、软件测试的生命周期? 二、关于BUG 🍑1、如何描述与定义一个BUG?(了解) 🍑2…...
git rebase 的坑儿
1 同步远程仓库 git pull --rebase拉取远程分支之后如果没有冲突直接使用 git rebase --continue若有冲突, 解决冲突, 一般是使用当前的更改, 因为传入的更改是你本地的更改 然后使用 git add 提交冲突 此处千万别使用 git commit --amend 最后使用 git rebase --continu…...

SSM(Vue3+ElementPlus+Axios+SSM前后端分离)【四】
文章目录 SSM(Vue3ElementPlusAxiosSSM前后端分离)--基础环境搭建【四】项目介绍项目功能/界面● SSM 整合项目界面 创建表,使用逆向工程生成Bean、XxxMapper 和XxxMapper.xml1. 创建furns_ssm 数据库和furns 表使用MyBatis Generator 逆向工程生成bean mapper 接口…...

iPhone 8 Plus透明屏应用范围详解
iPhone 8 Plus是苹果公司于2017年推出的一款智能手机,它采用了全新的玻璃机身设计,支持无线充电,并且搭载了更强大的A11仿生芯片。 而透明屏则是一种新型的屏幕技术,可以使手机屏幕呈现出透明的效果。 透明屏是一种将屏幕背后的元…...
【前端面试手撕题】instanceof、Array.map、Array.filter、Array.reduce、_objectCreate
FED6 instanceof 描述 请补全JavaScript代码,要求以Boolean的形式返回第一个实例参数是否在第二个函数参数的原型链上。 <!DOCTYPE html> <html><head><meta charset"UTF-8"><style>/* 填写样式 */</style> </h…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...