大家好,我是独孤风,大数据流动的作者。
曾几何时,我在第一次安装JDK环境的时候也遇到了不小的麻烦,当时还有朋友就因为这个环境问题觉得自己根本不是编程的料,选择了放弃。当时有个段子说,“如果不是JDK环境没搞定,我一定是一个编程天才”。权当一笑,但是环境问题确实是个大问题。
开源元数据管理平台Datahub,目前已经出到了0.10.5版本,但是目前最稳定的版本还是0.10.4。
但是在安装Datahub的过程中,大家都遇到了不小的问题。
比如安装datahub去github访问配置文件卡死;
去docker拉取datahub镜像反复重试,最后失败;
每次启动datahub都会去更新镜像,非常麻烦;
等等。。。
官网文档写的是建议我们用最新的版本调试,有head版来安装,但殊不知网络问题就困住了很多人。
所以如果你连datahub的环境都还没搞定,建议仔细阅读这篇文章。
文章较长,建议收藏点赞在看后,再仔细阅读。具体安装问题,以及安装包获取,可以在文末申请加入Datahub学习群进行咨询。
本文档版权归大数据流动所有,抄袭必究。
正文共: 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,一切正常!
大家不要再卡在环境上了,抓紧实践起来吧~
加群方式
关注大数据流动,后台回复“Datahub安装”,申请加入Datahub学习资料群,帮助小白安装好Datahub。
先声明一下,为防止抄袭和广告党,加入学习群象征性收费9.9元。加入群后禁止一切广告,群里定期分享Datahub相关资料,并将长期分享Datahub各版本安装包,一次进群,获得永久权益。
但如果是学生党,不勉强,备注一下,可以直接申请进入。
感谢大家的支持,非诚勿扰~