大家好,我是独孤风。

开源元数据管理平台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导致的。

如何解决

解决方法有以下几种:

  1. 升级OpenSSL到1.1.1或更高版本。
  2. 使用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——安装部署手册(附离线安装包)的更多相关文章

  1. 用 Love2D 实现法线贴图的例程(到最新版本 0.10.1)

    用 Love2D 实现法线贴图的例程(到最新版本 0.10.1) 概述 一般来说, 复杂的光照模型会被用在 3D 游戏中, 以产生逼真的效果, 不过也有些开发者研究出一些代码可以在 2D 游戏中使用这 ...

  2. Hadoop生态元数据管理平台——Atlas2.3.0发布!

    大家好,我是独孤风. 今天我们来聊一下另一个元数据管理平台Apache Atlas.Atlas其实有一些年头了,是在2015年的时候就开源. 相对于Datahub来说,Atlas显得有一些" ...

  3. 一站式元数据治理平台——Datahub入门宝典

    随着数字化转型的工作推进,数据治理的工作已经被越来越多的公司提上了日程.作为新一代的元数据管理平台,Datahub在近一年的时间里发展迅猛,大有取代老牌元数据管理工具Atlas之势.国内Datahub ...

  4. 2019你该掌握的开源日志管理平台ELK STACK

    转载于https://www.vtlab.io/?p=217   在企业级开源日志管理平台ELK VS GRAYLOG一文中,我简单阐述了日志管理平台对技术人员的重要性,并把ELK Stack和Gra ...

  5. 性能工具 stream 最新版本5.10 The STREAM benchmark

    官网下载最新性能工具 stream 最新版本5.10 https://github.com/jeffhammond/STREAM 官网下载最新性能工具 stream 最新版本5.10   http:/ ...

  6. ElasticSearch 5.0.0 集群安装部署文档

    1.  搭建环境 3台物理机 操作系统 centos7 es1   192.168.31.141   4g内存   2核 es2   192.168.31.142   4g内存   2核 es3    ...

  7. Visual Studio2019下载最新离线安装包

    首先可以参考微软官方的离线安装说明-->点击这里打开 =================================================================== 1. ...

  8. Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

    操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...

  9. Visual Studio 2017 Enterprise 发布 15.4 版本,离线安装包百度网盘下载。

    Visual Studio 2017 于2017年10月13日发布 15.4 版本.该版本包含多项生产力改进,支持 .NET Standard 2.0 ,并且可以开启 Xamarin Live Pla ...

  10. Visual Studio 2017 发布 15.5 版本,百度网盘离线安装包下载。

    Visual Studio 2017 15.5 版本已正式发布,同时发布的还有 Visual Studio for Mac 7.3 .此次更新包含主要性能改进,新特性以及 bug 修复.发行说明中文版 ...

随机推荐

  1. dp杂题选做

    树的数量 题目其实挺简单的,难点在于状态的设计(其实也没多难). 令 \(f_i\) 表示 \(i\) 个点的 \(m\) 叉树的数量,发现无法转移.设 \(g_{i,j}\) 表示根节点所在子树内有 ...

  2. 从原理到应用,人人都懂的ChatGPT指南

    作者:京东科技 何雨航 引言 如何充分发挥ChatGPT潜能,已是众多企业关注的焦点.但是,这种变化对员工来说未必是好事情.IBM计划用AI替代7800个工作岗位,游戏公司使用MidJourney削减 ...

  3. mysql-高级功能(触发器、存储过程、视图、事务)

    目录 触发器-created trigger 1.触发器分为六种情况 2.语法结构 3.创建触发器 4.查询/删除触发器 存储过程-created procedure 1.创建存储过程 2.使用存储过 ...

  4. 计算机网络 VRRP和DHCP

    目录 一.vrrp概念 二.vrrp工作过程 三.vrrp优先级 四.vrrp实验 五.DHCP概念 六.DHCP工作过程 七.DHCP实验 一.vrrp概念 概念:称虚拟路由器冗余协议,当网关路由器 ...

  5. idea过期解决

    用作用作发现过期了,苦恼,好办直接 搞个code 就行 MNQ043JMTU-eyJsaWNlbnNlSWQiOiJNTlEwNDNKTVRVIiwibGljZW5zZWVOYW1lIjoiR1VPI ...

  6. 文心一言 VS 讯飞星火 VS chatgpt (24)-- 算法导论4.2 6题

    六.用Strassen 算法作为子进程来进行一个 knn 矩阵和一个nkn 矩阵相乘,最快需要花费多长时间?对两个输入矩阵规模互换的情况,回答相同的问题. 文心一言: Strassen 算法是一种用于 ...

  7. 我们的智能化应用是需要自动驾驶(Autopilot)还是副驾驶(Copilot)

    自动驾驶Autopilot 是一个知识密集且科技含量很高的技术,不基于点什么很难把它讲的相对清楚. 副驾驶 Copilot 是一种由 AI 提供支持的数字助理,旨在为用户提供针对一系列任务和活动的个性 ...

  8. CAPL 脚本基本语句

    CAPL(Communication Access Programming Language)是一种用于汽车通信网络分析和仿真的脚本语言.以下是CAPL脚本的基本语句: 1.变量声明 variable ...

  9. ChatGPT教我用200行代码写一个简版Vue框架 - OpenTiny

    AI 是未来最好的老师 最近,我正在准备一份关于 Vue 基础的学习材料.期间我突发奇想:能否利用现在热门的 ChatGPT 帮我创建学习内容?其实 Vue 本身不难学,特别是基础用法,但是,如果你想 ...

  10. 怎么利用大厂的API将大段音频转成文本

    日常办公中,我们经常要开会和写会议纪要.传统模式下,我们需要非常认真地听会议中每一句话,记下自己认为的核心的话,并在会后经过多次修改形成会议纪要.现在,聪明人已 经不那么干了,借助几百块的讯飞录音笔, ...