1、安装docker

# 安装工具
sudo yum install -y yum-utils
# 添加yum仓库配置
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.rep
# 更新yum缓存
sudo yum makecache fast
# 安装docker
yum install -y docker-ce docker-ce-cli containerd.io
# 查看安装状态
docker info
# 执行以下命令新建配置国内源加速
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
],
"max-concurrent-downloads": 10,
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"data-root": "/var/lib/docker"
}
EOF
# 启动服务
systemctl start docker
# 设置开机自启
systemctl enable docker
# 查看状态
systemctl status docker

2、Docker安装minio

# 拉取镜像
docker pull minio/minio
# 运行容器,如果9000端口被占用请修改
docker run -d -p 9000:9000 --name minio \
-e "MINIO_ACCESS_KEY=minio" \
-e "MINIO_SECRET_KEY=minio123" \
-v /opt/minio/data:/data \
-v /opt/minio/config:/root/.minio \
minio/minio server /data \
--console-address ":9000" --address ":9090"

3、访问minio界面

  • 地址:<安装节点ip>:9000
  • 用户名:minio
  • 密码:minio123
  • 创建Bucket:点击Create Bucket 输入名称 mlflow 并创建

4、安装Anaconda3

# 拉取包
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh # 安装命令,一路回车+yes
bash Anaconda3-2021.11-Linux-x86_64.sh # 将conda添加至环境变量
vim /etc/profole
# 在文件底部添加,注意根据实际修改的anaconda安装路径
export PATH=/root/anaconda3/bin:$PATH
# 使环境变量生效
source /etc/profile # 修改为清华源,否则创建环境会因网络情况缓慢或者失败
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes

5、创建激活conda环境

# 创建conda环境并安装python3.8,时间比较长请耐心等待
conda create -n mlflow-1.11.0 python==3.8
# 如果出现以下提示请耐心等待系统自动尝试下一个镜像源:Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source. # 注意开启新终端,执行以下命令激活conda环境
conda activate mlflow-1.11.0

6、安装所需依赖包

# 依次执行安装mlfow tracking server python需要的依赖包
pip install mlflow==1.11.0
pip install mysqlclient==1.4.6
pip install boto3

7、启动mlflow tracking server

# 暴露出minio url以及需要的ID和KEY,因为mlflow tracking server在上传模型文件时需要
export AWS_ACCESS_KEY_ID=minio
export AWS_SECRET_ACCESS_KEY=minio123
export MLFLOW_S3_ENDPOINT_URL=http://localhost:9000 # 在MySQL中创建库mlflow
create database if not exists `mlflow`; # 启动mlflow server,注意根据实际情况修改mysql信息
mlflow server \
--backend-store-uri mysql://<mysql用户名>:'<mysql密码>'@localhost/mlflow \
--host 0.0.0.0 -p 5002 \
--default-artifact-root s3://mlflow

8、启动可能出现的问题

# 问题一:
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
1. Downgrade the protobuf package to 3.20.x or lower.
2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
# 原因是protobuf版本问题,解决方案是在当前canda环境先卸载再指定版本安装
pip uninstall protobuf
pip install protobuf==3.19.0 # 问题二:
ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory
# 原因是在/usr/lib64/中没有libmysqlclient.so.20,解决方案是找到当前系统中libmysqlclient.so.20的路径,然后创建一个软连接到/usr/lib64/libmysqlclient.so.20
[root@node1 ~]# find / -name "libmysqlclient.so.20"
/usr/local/mysql/lib/libmysqlclient.so.20
[root@node1 ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20 # 问题三:
sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")
# 原因是找不到tmp下的mysql.sock文件,解决方案是需要找到mysql.sock所在的目录,然后建立/tmp/mysql.sock软连接到该文件上
[root@node1 ~]# find / -name "mysql.sock"
/var/lib/mysql/mysql.sock
[root@node1 ~]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

mlflow详细安装部署的更多相关文章

  1. Nginx Windows详细安装部署教程

    一.Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ramble ...

  2. (转载)Nginx Windows详细安装部署教程

    本文转载自:https://www.cnblogs.com/taiyonghai/p/9402734.html 一.Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服 ...

  3. ELK详细安装部署

    一.前言 ​ 日志主要包括系统日志和应用程序日志,运维和开发人员可以通过日志了解服务器中软硬件的信息,检查应用程序或系统的故障,了解故障出现的原因,以便解决问题.分析日志可以更清楚的了解服务器的状态和 ...

  4. Nginx详细安装部署教程

    一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...

  5. Nginx Linux详细安装部署教程

    一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...

  6. Nginx 详细安装部署教程

    一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...

  7. Nginx详细安装部署教程(转)

    一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...

  8. HBase的详细安装部署

    一.部署 1.Zookeeper正常部署,并且启动 2.Hadoop正常部署,并且启动 3.Hbase的解压 解压HBase到指定目录 tar -xvf  /HBase.tar.gz -C /airP ...

  9. Storm集群安装部署步骤【详细版】

    作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2012/11/30/how ...

随机推荐

  1. Express 项目,res.cookie() 设置 Cookie 无法被保存在浏览器的 Application 中

    res.cookie() 给客户端响应头封装的 Cookie 无法被保存在客户端浏览器的 Application 中,只能在 Set-Cookie 中看到有这个值: 在前后端分离项目中,存在跨域问题, ...

  2. PowerPoint 常识备忘录

    一句科普 插入超链接时所链接的目标不能是幻灯片中的某个对象.可以给文本.图形等对象添加超链接,链接的对象可以是文件或网页,不能是幻灯片中的某个对象. 名词解释 视图 视图指的是显示幻灯片的方式.视图的 ...

  3. Redis 哨兵机制

    概述 由一个或多个 Sentinel(哨兵)实例组成的 Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的 ...

  4. 认识Chrome扩展插件

    1.前言 现如今的时代,绝大多数人都要跟浏览器打交道的,说到浏览器那肯定是Chrome浏览器一家独大,具体数据请看 知名流量监测机构 Statcounter 公布了 7 月份全球桌面浏览器市场份额,主 ...

  5. 微信小程序/校园社区论坛/微信云开发/云函数

    一.框架来源 1.非常非常感谢B站up主"梦千的曾哥哥"的开源框架. 没有他就没有这个小程序.如果有想做的同学,可以直接移步他的视频那里开始学习.我水平不够,就不教具体怎么配置环境 ...

  6. 学习ASP.NET Core Blazor编程系列一——综述

    一.NET 6概述 .NET 6 是微软统一.Net Core与.Net Framework 两大框架的第二个版本,微软在 .NET 5 中开始进行这两大框架的统一之路. .NET 6 将作为长期支持 ...

  7. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(17)-Fiddler如何充当第三者,再识AutoResponder标签-下篇

    1.简介 上一篇宏哥主要讲解的一些在电脑端的操作和应用,今天宏哥讲解和分享一下,在移动端的操作和应用.其实移动端和PC端都是一样的操作,按照宏哥前边抓取移动端包设置好,就可以开始实战了. 2.界面功能 ...

  8. rh358 005 dhcp dhcp6 打印机 ansible配置dhcp和打印机

    部署dhcp服务器 主机发送Discover报文 目标为广播地址 同一网段的dhcp收到报文后,dhcp响应一个offer报文 offer报文:dhcp自己的ip地址.和客户端ip以及使用周期,和客户 ...

  9. Nginx几种负载均衡方式介绍

    Nginx几种负载均衡方式介绍 前言 负载均衡就是Nginx将请求分摊到不同的服务器中,保证服务的可用性,缓解服务压力,保证服务的响应速度,即使某一个应用服务不可用,也可以保证业务的正常进行,并且方便 ...

  10. .NET 7 RC1 正式发布

    从年初2 月份发布第一个预览版,经历7个预览版后,Microsoft 西雅图时间9月14日发布了 .NET 7 RC 1:https://devblogs.microsoft.com/dotnet/a ...