1、安装docker

  1. # 安装工具
  2. sudo yum install -y yum-utils
  3. # 添加yum仓库配置
  4. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  5. sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.rep
  6. # 更新yum缓存
  7. sudo yum makecache fast
  8. # 安装docker
  9. yum install -y docker-ce docker-ce-cli containerd.io
  10. # 查看安装状态
  11. docker info
  12. # 执行以下命令新建配置国内源加速
  13. cat <<EOF > /etc/docker/daemon.json
  14. {
  15. "registry-mirrors": [
  16. "https://docker.mirrors.ustc.edu.cn",
  17. "http://hub-mirror.c.163.com"
  18. ],
  19. "max-concurrent-downloads": 10,
  20. "log-driver": "json-file",
  21. "log-level": "warn",
  22. "log-opts": {
  23. "max-size": "10m",
  24. "max-file": "3"
  25. },
  26. "data-root": "/var/lib/docker"
  27. }
  28. EOF
  29. # 启动服务
  30. systemctl start docker
  31. # 设置开机自启
  32. systemctl enable docker
  33. # 查看状态
  34. systemctl status docker

2、Docker安装minio

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

3、访问minio界面

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

4、安装Anaconda3

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

5、创建激活conda环境

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

6、安装所需依赖包

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

7、启动mlflow tracking server

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

8、启动可能出现的问题

  1. # 问题一:
  2. TypeError: Descriptors cannot not be created directly.
  3. 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.
  4. If you cannot immediately regenerate your protos, some other possible workarounds are:
  5. 1. Downgrade the protobuf package to 3.20.x or lower.
  6. 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
  7. # 原因是protobuf版本问题,解决方案是在当前canda环境先卸载再指定版本安装
  8. pip uninstall protobuf
  9. pip install protobuf==3.19.0
  10. # 问题二:
  11. ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory
  12. # 原因是在/usr/lib64/中没有libmysqlclient.so.20,解决方案是找到当前系统中libmysqlclient.so.20的路径,然后创建一个软连接到/usr/lib64/libmysqlclient.so.20
  13. [root@node1 ~]# find / -name "libmysqlclient.so.20"
  14. /usr/local/mysql/lib/libmysqlclient.so.20
  15. [root@node1 ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20
  16. # 问题三:
  17. sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")
  18. # 原因是找不到tmp下的mysql.sock文件,解决方案是需要找到mysql.sock所在的目录,然后建立/tmp/mysql.sock软连接到该文件上
  19. [root@node1 ~]# find / -name "mysql.sock"
  20. /var/lib/mysql/mysql.sock
  21. [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. 面试突击77:Spring 依赖注入有几种?各有什么优缺点?

    IoC 和 DI 是 Spring 中最重要的两个概念,其中 IoC(Inversion of Control)为控制反转的思想,而 DI(Dependency Injection)依赖注入为其(Io ...

  2. PicGo+GitHub 图床搭建

    前言 用GitHub搭建图床,在很久之前我就有了解,但由于市面上有挺多免费的图床,比如我之前一直在用的 路过图床,所以一直懒得动手搭建GitHub图床.一直到前两天我在完善博客的相册时,发现 路过图床 ...

  3. redis-hash命令

    一.HDEL key field [field ...] 从 key 指定的哈希集中移除指定的域.在哈希集中不存在的域将被忽略. 如果 key 指定的哈希集不存在,它将被认为是一个空的哈希集,该命令将 ...

  4. LOJ6029「雅礼集训 2017 Day1」市场 (线段树)

    题面 从前有一个学校,在 O n e I n D a r k \rm OneInDark OneInDark 到任之前风气都是非常良好的,自从他来了之后,发布了一系列奇怪的要求,挟制了整个学校,导致风 ...

  5. scp复制发送文件夹到其他服务器上

    简述scp: scp是secure copy的简写,是linux系统下基于ssh登陆进行安全的远程文件拷贝命令. 写法: scp [可选参数] 登录名@地址:源路径  目标路径. 举例:scp -r ...

  6. Shell第四章《正则表达式》

    一.前言 1.1.名词解释 正则表达式(regular expression, RE)是一种字符模式,用于在查找过程中匹配指定的字符.在大多数程序里,正则表达式都被置于两个正斜杠之间:例如/l[oO] ...

  7. KFS replicator安装(KES-KES)

    源端 一.安装前置配置 1.创建安装用户 groupadd flysync useradd flysync -g flysync -G kingbase passwd flysync 2.上传安装文件 ...

  8. C语言大作业---学生信息管理系统

    xxxx信息管理系统 简介 因为大作业规定的踩分项就那么多,为了不浪费时间 + 得分,就写成这样.现在看看,命名不规范,书写风格糟糕,全塞在一个源代码中······ 不过,应付大作业是没问题的 实验报 ...

  9. 从Spring Cloud微服务视角理解Kubernetes

  10. 6.使用nexus3配置yum私有仓库

    yum相较于rpm,能够更好地解决安装软件时的依赖包问题,使用yum安装更简单更方便.搭建本地YUM源服务器,可以避免升级安装软件时占用公网带宽:有了本地YUM源服务器,可以解决无法连接Interne ...