经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Linux/Shell » 查看文章
开源元数据管理平台Datahub最新版本0.10.5——安装部署手册(附离线安装包)
来源:cnblogs  作者:独孤风  时间:2023/8/2 9:17:50  对本文有异议

大家好,我是独孤风。

开源元数据管理平台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安装包。网络不佳的同学,可以直接用我的安装包,已经下载好。

  1. wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
  2. tar -zxvf Python-3.8.3.tgz

随后需要下载一堆依赖,不然安装Python3会报各种问题。

  1. 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的编译,如果包都安装完全,不会出问题。

  1. mkdir /usr/local/python3
  2. cd Python-3.8.3
  3. ./configure --prefix=/usr/local/python3
  4. make && make install

有如下显示证明安装成功。有一点错误都是不对的,赶紧解决。

make install此过程较漫长,耐心等待,此时python3已经安装成功,我们进行一些基本设置就可以了。

修改系统默认python指向,默认pip指向,注意,这样改完会系统yum不可用,需要修复一下。

  1. rm -rf /usr/bin/python
  2. ln -s /usr/local/python3/bin/python3 /usr/bin/python
  3. rm -rf /usr/bin/pip
  4. ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
  5. python -V
  6. pip -V

四、 Docker安装

首先下载docker安装包,同样,网络不佳的同学,可以直接用我的安装包,已经下载好。上传上去就行了。

  1. #下载docker-20.10.0包
  2. https://download.docker.com/linux/static/stable/x86_64/docker-20.10.0.tgz
  3. #下载docker-compose对应系统的包
  4. https://github.com/docker/compose/releases/download/1.29.1/docker-compose-Linuxx86_64

解压安装docker。

  1. tar -zxvf docker-20.10.0.tgz
  2. #将解压出来的docker文件内容移动到 /usr/bin/ 目录下
  3. cp docker/* /usr/bin/
  4. #查看docker版本
  5. docker version
  6. #查看docker信息
  7. docker info

配置docker。

  1. 配置Docker开机自启动服务
  2. #添加docker.service文件
  3. vi /etc/systemd/system/docker.service
  4. #按i插入模式,复制如下内容:
  5. [Unit]
  6. Description=Docker Application Container Engine
  7. Documentation=https://docs.docker.com
  8. After=network-online.target firewalld.service
  9. Wants=network-online.target
  10. [Service]
  11. Type=notify
  12. # the default is not to use systemd for cgroups because the delegate issues
  13. still
  14. # exists and systemd currently does not support the cgroup feature set required
  15. # for containers run by docker
  16. ExecStart=/usr/bin/dockerd
  17. ExecReload=/bin/kill -s HUP $MAINPID
  18. # Having non-zero Limit*s causes performance problems due to accounting overhead
  19. # in the kernel. We recommend using cgroups to do container-local accounting.
  20. LimitNOFILE=infinity
  21. LimitNPROC=infinity
  22. 安装docker-compose
  23. docker-compose上传到服务器/usr/local/bin/里面:
  24. LimitCORE=infinity
  25. # Uncomment TasksMax if your systemd version supports it.
  26. # Only systemd 226 and above support this version.
  27. #TasksMax=infinity
  28. TimeoutStartSec=0
  29. # set delegate yes so that systemd does not reset the cgroups of docker
  30. containers
  31. Delegate=yes
  32. # kill only the docker process, not all processes in the cgroup
  33. KillMode=process
  34. # restart the docker process if it exits prematurely
  35. Restart=on-failure
  36. StartLimitBurst=3
  37. StartLimitInterval=60s
  38. [Install]
  39. WantedBy=multi-user.target
  40. #添加文件可执行权限
  41. chmod +x /etc/systemd/system/docker.service
  42. #重新加载配置文件
  43. systemctl daemon-reload
  44. #启动Docker
  45. systemctl start docker
  46. #查看docker启动状态
  47. systemctl status docker
  48. #查看启动容器
  49. docker ps
  50. #设置开机自启动
  51. systemctl enable docker.service
  52. #查看docker开机启动状态 enabled:开启, disabled:关闭
  53. systemctl is-enabled docker.service

安装docker-compose

  1. #下载docker-compose到/usr/local/bin/目录。
  2. # 给docker compose 目录授权
  3. sudo chmod +x /usr/local/bin/docker-compose
  4. # 查看一下version,显示有版本号那就说明安装成功了
  5. docker-compose version

version一下,有这样的显示就对了。

五、Datahub安装

依赖安装,Datahub需要依赖大量的python包,好在pip都有集成,可以很方便安装。当然网速是个问题,建议选择合适的源。

先检查环境

  1. python3 -m pip uninstall datahub acryl-datahub || true # sanity check - ok if it
  2. fails

检查环境 收到这样的提示说明没有问题。

  1. WARNING: Skipping datahub as it is not installed.

安装依赖包。

  1. pip3 install acryl-datahub==0.10.5

查看版本情况。

  1. python -m datahub version

显示为0.10.5.

镜像下载,接下来是下载镜像,我们知道datahub的组件依赖较多,一共有11个,所以需要用docker先把镜像pull下来。

镜像较大,一共十几个GB,需要耐心下载。镜像是通用的,可以直接load进去,也可以用下载好的镜像包。我这边已上传云盘。

查看下配置文件,在github中 linkedin/datahub/master/docker/quickstart/docker-composewithout-neo4j.quickstart.yml。

这里详细记录了镜像的版本及获取。

随后进行镜像拉取。

  1. docker pull confluentinc/cp-kafka:7.4.0
  2. docker pull confluentinc/cp-zookeeper:7.4.0
  3. docker pull elasticsearch:7.10.1
  4. docker pull mysql:5.7
  5. 。。。

一定按照配置文件耐心下载下来。

最后执行docker image,要保证镜像都是完整的。

六、启动Datahub

万事具备,就差启动。

启动命令如下,这个过程可能会卡住,因为要去github拉那个配置来启动。

  1. python -m datahub docker quickstart
  2. docker-compose -p datahub

所以我们可以选择本地读配置文件启动的方式。

  1. python -m datahub docker quickstart --quickstart-compose-file ./docker-composewithout-neo4j.quickstart.yml
  2. docker-compose -p datahub -f ./docker-compose-without-neo4j.quickstart.yml up -

如果启动失败,需要排查下镜像是不是有问题。我在这块遇到了很多坑~ 由于网络问题,很有可能导致打的tar包是一个不完整的包。 可以单独启动容器调试一下,命令如下:

  1. docker run --name kafka -d confluentinc/cp-kafka:7.4.0

还有一些docker命令

  1. 查看启动的容器
  2. docker ps
  3. 停止容器
  4. 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各版本安装包,一次进群,获得永久权益。

但如果是学生党,不勉强,备注一下,可以直接申请进入。

感谢大家的支持,非诚勿扰~

原文链接:https://www.cnblogs.com/tree1123/p/17599599.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号