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

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

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

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

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

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

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

等等。。。

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

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

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

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

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

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

一、安装Python3环境

我们第一件要做的事是搞定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的安装需要两个包,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客户端安装

依赖安装,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镜像安装

镜像下载,接下来是下载镜像,我们知道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各版本安装包,一次进群,获得永久权益。

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

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

Datahub稳定版本0.10.4安装指南(独孤风版本)的更多相关文章

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

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

  2. Microsoft.Bcl.Build 1.0.10 稳定版发布

    Microsoft.Bcl.Build 1.0.10 稳定版发布 解决了之前 1.0.8 在未下载相应的Nuget Package 的情况下项目无法加载的情况 但由于 Microsoft.Net.Ht ...

  3. CentOS 7.2mini版本下编译安装php7.0.10+MySQL5.7.14+Nginx1.10

    一.安装前的准备工作 1.yum update    #更新系统 2.yum install gcc gcc-c++ autoconf automake cmake bison m4 libxml2  ...

  4. CentOS 7.2mini版本下编译安装php7.0.10+MySQL5.7.14+Nginx1.10.1

    一.安装前的准备工作 1.yum update    #更新系统 1.1)vi /etc/selinux/config #  禁止SELINUX,设置SELINUX=disabled 2.yum in ...

  5. 【vue-waring】element UI 由版本1.4.12 升级到element-ui@2.0.10

    遇到的问题:element UI   由版本1.4.12 升级到element-ui@2.0.10    cnpm run dev 运行后的waring 状态:解决(相关资料的方法对我没什么用) 解决 ...

  6. Office2010安装需要MSXML版本6.10.1129.0的方法

    今天给朋友装Office2010,由于朋友之前使用的是绿化版的0ffice2007,所以卸载后安装Office遇到了若要安装Office2010,需要在计算机上安装MSXML版本6.10.1129.0 ...

  7. office2010安装需MSXML版本6.10.1129.0详解解

    https://blog.csdn.net/qq_40824474/article/details/82390606 office2010安装提示报错 由于下列原因,安装程序无法继续,需要计算机安装M ...

  8. 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8、0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口)

    不多说,直接上干货! 至于为什么,要写这篇博客以及安装Kafka-manager? 问题详情 无奈于,在kafka里没有一个较好自带的web ui.启动后无法观看,并且不友好.所以,需安装一个第三方的 ...

  9. (数据科学学习手札129)geopandas 0.10版本重要新特性一览

    本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 就在前不久,我们非常熟悉的Python地理 ...

  10. Linux下安装redis的详细过程(redis版本为4.0.10)

    1.安装redis步骤 1.推荐进入到linux路径/usr/local/src 2.$ wget http://download.redis.io/releases/redis-4.0.10.tar ...

随机推荐

  1. 【Redis】Setninel 哨兵机制

    一.Sentinel 哨兵工作原理 Redis在2.6+以后引入哨兵机制,在2.8版本后趋于稳定状态,在生产环境中建议使用2.8版本以上的sentinel服务.sentinel集群用于监控redis集 ...

  2. 简单工厂模式(Static Factory Method)

    创建性设计模式--简单工厂模式(Static Factory method) 模式动机 只需要知道参数的名字则可得到相应的对象 软件开发时,有时需要创建一些来自于相同父类的类的实例.可以专门定义一个类 ...

  3. 2023-04-24:用go语言重写ffmpeg的muxing.c示例。

    2023-04-24:用go语言重写ffmpeg的muxing.c示例. 答案2022-04-24: 本程序的大体过程如下: 打开输出文件并写入头部信息. 添加音频和视频流,并为每个流创建 AVCod ...

  4. 2022-02-25:k8s安装zookeeper,yaml如何写?找份北京的golang后端工作,35岁,有人收我吗?

    2022-02-25:k8s安装zookeeper,yaml如何写?找份北京的golang后端工作,35岁,有人收我吗? 答案2022-02-25: yaml如下: apiVersion: apps/ ...

  5. Django context must be a dict rather than UserProfile.

    context must be a dict rather than UserProfile. # 主页@login_requireddef index(request): data={} data ...

  6. HTML5网页游戏开发

    HTML概述 互联网上的应用程序被称为Web应用程序,web应用程序使用Web文档(网页)来表示用户界面,Web文档都遵循html格式,html5是最新的html标准 HTML基础 HTML是Hype ...

  7. Java 世界的法外狂徒:反射

    概述 反射(Reflection)机制是指在运行时动态地获取类的信息以及操作类的成员(字段.方法.构造函数等)的能力.通过反射,我们可以在编译时期未知具体类型的情况下,通过运行时的动态查找和调用. 虽 ...

  8. 02、SECS-II 通信协议介绍

    这里我们先学习 SECS-II 协议,给我的感受是先学完 SECS-II 协议,再去学习 SECS-I 和 HSMS 协议更加容易理解,所以这里我先介绍 SECS-II 协议. 文章的内容基本上来自参 ...

  9. 基于.NetCore开发博客项目 StarBlog - (28) 开发友情链接相关接口

    前言 之前介绍的友情链接功能,只实现了友情链接的展示和管理接口. 还缺失友情链接申请.审核管理.通知,现在把这块功能补全. Model 什么的之前那篇文章都有,本文直接补全逻辑代码~ 详见: 基于.N ...

  10. Java流程控制和循环(基础语法学习)

    一.流程控制 1.定义 ​ 在一个Java程序中,各条语句的执行对程序的结果有直接影响,也就是说 各个语句的执行顺序对程序的结果有直接影响. ​ 在程序中 ,可能出现不同的执行顺序,必须 自上而下顺序 ...