开源元数据管理平台Datahub最新版本0.10.5——安装部署手册(附离线安装包)
大家好,我是独孤风。
开源元数据管理平台Datahub近期得到了飞速的发展。已经更新到了0.10.5的版本,来咨询我的小伙伴也越来越多,特别是安装过程有很多问题。本文经过和群里大伙伴的共同讨论,总结出安装部署Datahub最新版本的部署手册,希望能帮助到大家。
文章较长,建议收藏点赞在看后,再仔细阅读。具体安装问题,以及安装包获取,可以在文末申请加入Datahub学习群进行咨询。
本文档版权归大数据流动所有,抄袭必究。
正文开始:
本文所使用操作系统是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——安装部署手册(附离线安装包)的更多相关文章
- 用 Love2D 实现法线贴图的例程(到最新版本 0.10.1)
用 Love2D 实现法线贴图的例程(到最新版本 0.10.1) 概述 一般来说, 复杂的光照模型会被用在 3D 游戏中, 以产生逼真的效果, 不过也有些开发者研究出一些代码可以在 2D 游戏中使用这 ...
- Hadoop生态元数据管理平台——Atlas2.3.0发布!
大家好,我是独孤风. 今天我们来聊一下另一个元数据管理平台Apache Atlas.Atlas其实有一些年头了,是在2015年的时候就开源. 相对于Datahub来说,Atlas显得有一些" ...
- 一站式元数据治理平台——Datahub入门宝典
随着数字化转型的工作推进,数据治理的工作已经被越来越多的公司提上了日程.作为新一代的元数据管理平台,Datahub在近一年的时间里发展迅猛,大有取代老牌元数据管理工具Atlas之势.国内Datahub ...
- 2019你该掌握的开源日志管理平台ELK STACK
转载于https://www.vtlab.io/?p=217 在企业级开源日志管理平台ELK VS GRAYLOG一文中,我简单阐述了日志管理平台对技术人员的重要性,并把ELK Stack和Gra ...
- 性能工具 stream 最新版本5.10 The STREAM benchmark
官网下载最新性能工具 stream 最新版本5.10 https://github.com/jeffhammond/STREAM 官网下载最新性能工具 stream 最新版本5.10 http:/ ...
- ElasticSearch 5.0.0 集群安装部署文档
1. 搭建环境 3台物理机 操作系统 centos7 es1 192.168.31.141 4g内存 2核 es2 192.168.31.142 4g内存 2核 es3 ...
- Visual Studio2019下载最新离线安装包
首先可以参考微软官方的离线安装说明-->点击这里打开 =================================================================== 1. ...
- Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考
操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...
- Visual Studio 2017 Enterprise 发布 15.4 版本,离线安装包百度网盘下载。
Visual Studio 2017 于2017年10月13日发布 15.4 版本.该版本包含多项生产力改进,支持 .NET Standard 2.0 ,并且可以开启 Xamarin Live Pla ...
- Visual Studio 2017 发布 15.5 版本,百度网盘离线安装包下载。
Visual Studio 2017 15.5 版本已正式发布,同时发布的还有 Visual Studio for Mac 7.3 .此次更新包含主要性能改进,新特性以及 bug 修复.发行说明中文版 ...
随机推荐
- HTML中meta标签的那些属性
<meta> 标签是 HTML 中用于描述网页元信息的元素.它位于 <head> 部分,不会显示在页面内容中,但对于浏览器.搜索引擎等具有重要作用.主要作用有:定义文档的字符编 ...
- 基于APM模式的异步实现及跨线程操作窗体或控件方法的实现示例
最近在一家某电力外派公司开发相关于GIS的功能,在实现代码的过程中出现了一些常见的问题比如: 1.跨线程执行窗体或控件操作(直接使用委拖) 2.异步模式执行某长时间耗时方法 经过一系列摸索可算找到解决 ...
- [OS/Linux] Linux核心参数:net.core.somaxconn(高并发场景核心参数)
0 序言 近期工作在搞压力测试,我负责开发维护的.基于sring-cloud-gateway的大数据网关微服务,其底层是基于spring-webflux-->reactor-netty--> ...
- 2022-02-24:k8s安装rabbitmq,yaml如何写?
2022-02-24:k8s安装rabbitmq,yaml如何写? 答案2022-02-24: yaml如下: apiVersion: apps/v1 kind: Deployment metadat ...
- 一文读懂面试官都在问的Fastjson漏洞
Fastjson1.2.24-RCE漏洞 漏洞简介 fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符 ...
- 2014年蓝桥杯C/C++大学B组省赛真题(奇怪的分式)
题目描述: 上小学的时候,小明经常自己发明新算法.一次,老师出的题目是:1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)老师刚想批评他,转念一想 ...
- Doris(七) -- 修改表、动态和临时分区、join的优化
修改表 修改表名 -- 1.将名为 table1 的表修改为 table2 ALTER TABLE table1 RENAME table2; -- 示例 ALTER TABLE aggregate_ ...
- Python-Loguru:让记录日志更装13
" 今天勇哥来介绍一款让日志记录在 Python 中变得更加轻松愉快的库--Loguru.它提供了强大的功能和简洁的接口,使我们能够以更加灵活和直观的方式记录和管理日志信息,据说比loggi ...
- .Net7矢量化的性能优化
前言 矢量化是性能优化的重要技术,也是寄托硬件层面的优化技术.本篇来看下. 概括 一:矢量化支持的问题: 矢量化的System.Runtime.Intrinsics.X86.Sse2.MoveMask ...
- 19.详解AQS家族的成员:CountDownLatch
关注王有志,一个分享硬核Java技术的互金摸鱼侠 欢迎你加入Java人的提桶跑路群:共同富裕的Java人 今天我们来聊一聊AQS家族中的另一个重要成员CountDownLatch.关于CountDow ...