Datahub稳定版本0.10.4安装指南(独孤风版本)
阅读原文时间:2023年10月18日阅读:1

大家好,我是独孤风,大数据流动的作者。

曾几何时,我在第一次安装JDK环境的时候也遇到了不小的麻烦,当时还有朋友就因为这个环境问题觉得自己根本不是编程的料,选择了放弃。当时有个段子说,“如果不是JDK环境没搞定,我一定是一个编程天才”。权当一笑,但是环境问题确实是个大问题。

开源元数据管理平台Datahub,目前已经出到了0.10.5版本,但是目前最稳定的版本还是0.10.4。

但是在安装Datahub的过程中,大家都遇到了不小的问题。

比如安装datahub去github访问配置文件卡死;

去docker拉取datahub镜像反复重试,最后失败;

每次启动datahub都会去更新镜像,非常麻烦;

等等。。。

官网文档写的是建议我们用最新的版本调试,有head版来安装,但殊不知网络问题就困住了很多人。

所以如果你连datahub的环境都还没搞定,建议仔细阅读这篇文章。

文章较长,建议收藏点赞在看后,再仔细阅读。具体安装问题,以及安装包获取,可以在文末申请加入Datahub学习群进行咨询。

本文档版权归大数据流动所有,抄袭必究。

首先要说的是,本次安装所用的安装包,我都做了下载,如果网络不好的同学,可以先把包下载好,再做安装。

好的,下面我们正式开始安装~

我们第一件要做的事是搞定python3环境。

首先要下载好依赖,这个可以通过yum安装,包都比较下,一般的网速没有问题。

如果这个也卡,可以考虑换成国内的yum源。

切换国内yum源。

1、cd /etc/yum.repos.d/

2、备份⼀下:cp CentOS-Base.repo CentOS-Base.repo.bak

3、下载阿⾥云镜像到本地:

 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

4、清除yum的缓存

   yum clean all

   yum makecache

5、yum install -y ntpdate

随后使用命令将这些依赖安装好。

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

其次要有一个名为Python-3.8.3.tgz的安装包,这个可以用我的,网速可以自行下载。

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

后面的安装过程一样。

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

最后修改系统python指向。

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-20.10.0.tgz和docker-compose-Linuxx86_64,这个可以用我的,网速可以自行下载。

docker-compose需要去github下载,可能会慢。

#下载docker-20.10.0包
https://download.docker.com/linux/static/stable/x86_64/docker-版本.tgz
#下载docker-compose对应系统的包
https://github.com/docker/compose/releases/download/版本/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

mkdir -p ~/.docker/cli-plugins
cp docker-compose-Linuxx86_64 ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose
docker compose version

显示出版本就是成功!这一步通过的同学,我们进入写一个阶段~

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

修改pip为国内的源

cd ~
mkdir .pip
cd .pip
vim pip.conf
#设置如下
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn

先检查环境

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

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

WARNING: Skipping datahub as it is not installed.

安装依赖包。

(cli向下兼容0.10.5版本也没问题)

pip3 install acryl-datahub==0.10.5

查看版本情况。

python -m datahub version

显示出版本就是成功!这一步通过的同学,我们进入写一个阶段~

镜像下载,接下来是下载镜像,我们知道datahub的组件依赖较多,一共十几个GB,需要耐心下载。但镜像是通用的,可以直接load进去,也可以用下载好的镜像包。

这是最关键的一步,大部分小伙伴卡在这。

在github中的配置文件这里记录了要下载镜像的信息 linkedin/datahub/master/docker/quickstart/docker-composewithout-neo4j.quickstart.yml。

要注意:

1、由于这个配置里版本写的是head,也就是说每次启动都要去看最新镜像,而镜像经常变化,就导致每次都下载。

2、docker的机制是如果本地已经有了这个镜像就不会下载了。

3、截止发文,目前的datahub刚刚release了0.10.4版本,也就是说0.10.4这个版本不会再变化了,一次下载,就不要再下载了。

所以只要将我的datahub镜像包下载下来,再结合我的配置文件,docker-composewithout-neo4j-dugufeng.quickstart.yml

(我已经把所有版本号都修改好了)。

就可以解决这些问题,并且datahub稳定运行。

先把我镜像包下载好。然后上传服务器,将其他的镜像也都load进来。

docker load -i elasticsearch7.10.1.tar
docker load -i cp-schema-registry.tar
docker load -i cp-zookeeper.tar
。。。

最后执行docker images,看看是不是所有镜像都正常了。

随后正常启动datahub,一定要用独孤风的配置文件版本。

python -m datahub docker quickstart --quickstart-compose-file ./docker-compose-without-neo4j-dugufeng.quickstart.yml

神奇发生,datahub直接启动啦。

大家不要再卡在环境上了,抓紧实践起来吧~

关注大数据流动,后台回复“Datahub安装”,申请加入Datahub学习资料群,帮助小白安装好Datahub。

先声明一下,为防止抄袭和广告党,加入学习群象征性收费9.9元。加入群后禁止一切广告,群里定期分享Datahub相关资料,并将长期分享Datahub各版本安装包,一次进群,获得永久权益。

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

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