作者:恩慈
背景:由于某客户需要建立sparksql的血缘关系,于是提出了datahub,由于网上关于datahub资料较少,因此这里做以记录。
datahub作为一个元数据管理平台,可以对数据资产进行有效的组织,还可以帮助数据专业人员收集、组织、访问和丰富元数据,以支持数据治理,下面我来介绍下如何部署datahub。
一、python3安装
Datahub需要Python3的支持,而CentOS7默认安装的是Python2,所以需要安装Python3。
1.下载软件包
(1)下载并解压Python3
命令如下:
wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz
tar -zxf Python-3.9.9.tgz
(2)安装python3依赖包
使用yum安装ptyhon的依赖包,命令如下:
yum install --downloadonly --downloaddir=./python3.9.9 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
2.安装python3
(1)安装python3依赖包
rpm -Uvh ./*.rpm --nodeps --force
(2)安装python3
mkdir /usr/local/python3
cd Python-3.9.9
./configure --prefix=/usr/local/python3
make && make install
有如下显示则表示安装成功
(3)修改配置
修改系统默认python指向,默认pip指向
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 --version
pip --version
因为yum支持python2,因次要修复yum
vi /usr/bin/yum
把 #! /usr/bin/python 修改为 #! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把 #! /usr/bin/python 修改为 #! /usr/bin/python2
vi /usr/bin/yum-config-manager
#!/usr/bin/python 改为 #!/usr/bin/python2 (没有的不用修改)
二、Datahub安装
1.下载datahub依赖包
pip3 download acryl-datahub==0.8.40 -d /opt/datahub/software/datahub-package(自定义路径)
检查环境
python3 -m pip uninstall datahub acryl-datahub || true # sanity check - ok if it fails
检查环境 收到这样的提示说明没有问题
2.安装datahub
python3 -m pip install --upgrade pip wheel setuptools
python3 -m pip install --upgrade acryl-datahub
python3 -m datahub version
三、docker安装
1.下载docker安装包
下载docker-20.10.0包
https://download.docker.com/linux/static/stable/x86_64/docker-20.10.0.tgz
下载docker-compose对应系统的包
下载docker-composean安装包
https://github.com/docker/compose/releases选择2.20.2版本
2.安装docker
tar -zxf docker-20.10.0.tgz
将解压出来的docker文件内容移动到 /usr/bin/ 目录
cp docker/* /usr/bin/
查看docker版本
docker version
3.配置docker
配置Docker开机自启动服务
vi /etc/systemd/system/docker.service
添加如下内容:
[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
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
4.安装docker-compose
将3.1下载的docker-compose放到/usr/local/bin/里面
给docker compose 目录授权
chmod +x /usr/local/bin/docker-compose
查看一下version,显示有版本号那就说明安装成功了
docker-compose version
四、Datahub启动
1.镜像包下载
下载的包在https://github.com/datahub-project/datahub/blob/master/docker/quickstart/docker-compose-without-neo4j.quickstart.yml文件中的image行
如下图红框中所示:
例:docker pull confluentinc/cp-kafka:7.4.0
docker save confluentinc/cp-kafka:7.4.0 -o kafka.tar(名字自定义)
2.镜像包导入
将包上传至节点并使用 docker load -i xxx.tar 进行加载
如:docker load -i kafka.tar
使用docker images 查看是否成功
其他镜像也依次传入
3.启动Datahub
下载docker-compose-without-neo4j.quickstart.yml 文件
下载地址:https://github.com/datahub-project/datahub/blob/master/docker/quickstart/docker-compose-without-neo4j.quickstart.yml
执行如下命令启动datahub
datahub docker quickstart --quickstart-compose-file ./docker-compose-without-neo4j.quickstart.yml --no-pull-images
参数说明:
–quickstart-compose-file 指定启动时加载的yml文件
–no-pull-images 使用本地加载镜像不去外网更新,4.1和4.2已经加载过镜像了,可以节省约6小时
如果失败可以使用这个命令
docker-compose -f docker-compose-without-neo4j.start.yml up -d
(未执行4.2章节的话执行时间就会比较长)
登陆datahub
登陆用户和密码为datahub/datahub
更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw