大家好,我是独孤风,大数据流动的作者。
曾几何时,我在第一次安装JDK环境的时候也遇到了不小的麻烦,当时还有朋友就因为这个环境问题觉得自己根本不是编程的料,选择了放弃。当时有个段子说,“如果不是JDK环境没搞定,我一定是一个编程天才”。权当一笑,但是环境问题确实是个大问题。
开源元数据管理平台Datahub,目前已经出到了0.10.5版本,但是目前最稳定的版本还是0.10.4。
但是在安装Datahub的过程中,大家都遇到了不小的问题。
比如安装datahub去github访问配置文件卡死;
去docker拉取datahub镜像反复重试,最后失败;
每次启动datahub都会去更新镜像,非常麻烦;
等等。。。
官网文档写的是建议我们用最新的版本调试,有head版来安装,但殊不知网络问题就困住了很多人。
所以如果你连datahub的环境都还没搞定,建议仔细阅读这篇文章。
文章较长,建议收藏点赞在看后,再仔细阅读。具体安装问题,以及安装包获取,可以在文末申请加入Datahub学习群进行咨询。
本文档版权归大数据流动所有,抄袭必究。
大数据流动
专注于大数据、数据治理、人工智能知识分享; 长期组织CDMP国际数据治理认证训练营; 定期发布数据治理,元数据管理技术实践文章; 提供大数据入门,数据治理,Datahub等学习交流群; 作者独孤风一直在学习路上。大数据流动,学习永不止步
187篇原创内容
公众号
正文共: 4996字 6图
预计阅读时间: 13分钟
首先要说的是,本次安装所用的安装包,我都做了下载,如果网络不好的同学,可以先把包下载好,再做安装。
好的,下面我们正式开始安装~
一、安装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直接启动啦。
访问ip:9002,一切正常!
大家不要再卡在环境上了,抓紧实践起来吧~