【无标题】test

1 系统部署(ubuntu18.04/20.04)

1.1 安装常用工具

sudo apt update
sudo apt install -y dkms net-tools tcpflow httpry nethogs ffmpeg vim sqlite3 dstat unzip

1.2 安装ssh

sudo apt install ssh
# 修改sshd配置文件:
sudo vim /etc/ssh/sshd_config
# 将 #PermitRootLogin prohibit-password 改为: PermitRootLogin yes
# 重启sshd 使配置生效:
sudo systemctl restart sshd

1.3 安装远程桌面

# 安装vnc server
sudo apt install -y tightvncserver
# 获取xrdp安装脚本,并解压运行
wget https://c-nergy.be/downloads/xRDP/xrdp-installer-1.4.4.zip
unzip xrdp-installer-1.4.4.zip
sudo chmod +x xrdp-installer-1.4.4.sh
./xrdp-installer-1.4.4.sh

sudo apt-get install xserver-xorg-core
sudo apt-get install xserver-xorg-input-all
sudo apt-get install xorgxrdp

sudo apt install xfce4
cd && touch .xsession
echo xfce4-session >~/.xsession

1.4 禁止内核升级

#把所有的1修改为0
sudo vim /etc/apt/apt.conf.d/10periodic
sudo vim /etc/apt/apt.conf.d/20auto-upgrades
sudo reboot

2 安装显卡驱动(版本470.63.01)

2.1 禁用nouveau

  1. 创建下面文件:
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
  1. 在文件内添加以下内容:
blacklist nouveau
options nouveau modeset=0
  1. 执行以下命令使禁用生效并且重启:
sudo update-initramfs -u
sudo reboot
  1. 重启后验证是否生效(若没有输出,则禁用生效):
lsmod | grep nouveau

2.2 禁用X-Window服务

  1. 关闭图形界面:
sudo service gdm3 stop
  1. 按Ctrl+Alt+F1进入命令行界面,输入用户名和密码登陆命令行界面

2.3 安装显卡驱动

  1. 卸载原有驱动(没有则跳过):
# ppa源文件卸载
sudo apt-get remove --purge nvidia*
# runfile源文件卸载
sudo ./NVIDIA-Linux-x86_64-470.63.01.run --uninstall
  1. 安装依赖:
sudo apt install gcc g++
sudo apt install make
  1. 进入驱动所在目录,修改驱动权限:
sudo chmod +x ./NVIDIA-Linux-x86_64-470.63.01.run
  1. 进入驱动所在目录,输入命令进行安装:
sudo ./NVIDIA-Linux-x86_64-470.63.01.run -no-x-check -no-nouveau-check -no-opengl-files
  1. 安装成功后重启电脑:
sudo reboot
  1. 验证安装(出现电脑GPU信息则成功):
nvidia-smi

3 安装docker-nvidia

3.1 安装docker-ce

  1. 首先依次执行以下命令(反斜杠\代表一行,只是换行写更清晰),把docker仓库加进到apt里:
sudo apt-get update
  1. Install packages to allow apt to use a repository over HTTP:
sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
  1. Add Docker’s official GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. 添加key:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  1. 更新apt:
sudo apt-get update
  1. 安装docker-ce:
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

3.2 安装docker-nvidia2:

  1. 添加源(如果源添加失败查看3.离线安装):
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -

curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update --fix-missing

sudo apt-get install -y nvidia-container-toolkit
  1. 安装nvidia-docker:
sudo apt-get install -y nvidia-docker2

sudo systemctl restart docker
  1. 离线安装:
https://github.com/NVIDIA/libnvidia-container/tree/gh-pages/stable/ubuntu18.04/amd64
下载安装所需包,并执行安装命令
sudo dpkg -i libnvidia-container1_1.11.0-1_amd64.deb
sudo dpkg -i libnvidia-container-tools_1.11.0-1_amd64.deb
sudo dpkg -i nvidia-container-toolkit-base_1.11.0-1_amd64.deb
sudo dpkg -i nvidia-container-toolkit_1.11.0-1_amd64.deb
sudo dpkg -i nvidia-docker2_2.11.0-1_all.deb
  1. 设置docker日志文件大小:
# 打开文件/etc/docker/daemon.json
# 添加下列内容
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"}
  1. 重启docker:
sudo systemctl daemon-reload
sudo systemctl restart docker

3.3 安装docker-compose

  1. 下载docker-compose文件
sudo curl -L "https://github.com/docker/compose/releases/download/v2.14.1/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
  1. 下载完成后,将可执行权限应用于文件:
sudo chmod +x /usr/local/bin/docker-compose
  1. 要验证安装是否成功,请运行以下命令,该命令将打印Compose版本:
docker-compose --version
  1. docker命令去 sudo(可选):
sudo gpasswd -a $USER docker
newgrp docker

3.4 破解GPU卡:

  1. 获取补丁文件:
sudo git clone https://github.com/keylase/nvidia-patch.git
cd nvida-patch && sudo bash ./patch.sh
  1. 提示以下信息则说明打补丁完成:
Detected nvidia driver version: 470.63.01
Attention! Backup not found. Copying current libnvidia-encode.so to backup.
18b4249e6513b77a69b26c3212c5779736d749a3  /opt/nvidia/libnvidia-encode-backup/libnvidia-encode.so.470.63.01
29da0846e54cc1de195ed2efa4aa01388d469a48  /usr/lib/x86_64-linux-gnu/libnvidia-encode.so.470.63.01
Patched!
  1. 回滚(如果出问题可以回滚到原始版本):
sudo bash ./patch.sh -r

4 启动服务

注意:宿主机工作目录应该为/home/username/work

4.1 开启zlmediakit

docker run -itd --name zlmediakit -p 1935:1935 -p 8070:80 -p 8554:554 -p 8443:443 -v C:\z\zlmediakit:/opt/media/bin/log zlmediakit/zlmediakit:master

docker run -d -p 1935:1935 -p 8080:80 -p 8554:554 -p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp
–name zlmediakit `
zlmediakit/zlmediakit:master

4.2 开启zimg

docker run -itd -p 4869:4869 -v C:\z\zlmediakit:/zimg/bin/img --name zimg wangyp0701/zimg-ubuntu

4.3 开启zabbix

  1. 下载项目文件:
git clone https://github.com/zabbix/zabbix-docker.git
  1. 进入项目文件夹,启动zabbix
cd zabbix-docker
docker-compose -f docker-compose_v3_ubuntu_mysql_latest.yaml up -d
  1. 创建主机:
1.登陆zabbix网页: http://192.168.0.88:80
用户名: Admin     密码: zabbix
2.选择'配置' -> '主机' -> '创建主机'
3.输入主机名(coal) 选择主机群组(Linux servers), 点击添加

4.4 开启分析服务

  1. 准备所需项目文件:
(a)从压缩包获取
unzip control_streamux.zip
(b)从svn上获取
svn co --username 用户名 http://192.168.0.101/svn/hybors/develop/software/coal_management_system/analysis_system/control_streamux
  1. 进入项目文件control_streamux文件夹中,删除以下文件:
sudo rm -rf db.sqlite3
  1. 从ftp上下载最新的algorithm文件放在control_streamux文件夹:
wget ftp://192.168.0.101/software/Dev/coal_management_system/PyCodec/ -r
  1. 进入Dockerfile所在目录,在终端中建立镜像:
docker build -t coal:版本号 .
  1. 修改settings.py文件:
          1. ssh 连接参数 改为管理程序宿主机信息
            SSH_HOSTNAME = '192.168.0.52'   # 服务器ip
            SSH_PORT = 22   # 服务器端口
            SSH_USERNAME = 'root'    # 用户名
            SSH_PASSWORD = 'dell-123'    # 密码
          2. SRS server 改为zlmediakit部署机器的信息
            SRS_IP = "192.168.0.52"
            SRS_PORT = "8070"
          3. Zabbix 信息  改为zabbix部署机器信息
            ZABBIX_HOST_NAME = 'coal'
            # zabbix 服务器访问地址
            ZABBIX_SERVER = 'http://192.168.0.52'
            ZABBIX_SERVER_NO_HTTP = '192.168.0.52'
          4. Zimg 信息 改为zimg部署机器信息
            # zimg server
            ZIMG_IP = "192.168.0.52"
            ZIMG_PORT = "4869"
  1. 开启程序:
docker run --privileged=true --gpus all -itd --name coal2 -p 8002:8000 -p 8003:8001 -p 5566:5566 -v /[宿主机用户目录]:/root/coal/control -w /root/coal/control/ coal:[版本号]

4.5 转换模型

  1. 修改model2trt.py文件,取消需要使用的功能代码注释:
cd algorithm
vim model2trt.py
  1. 进入容器装换模型:
docker exec -it coal2 bash
cd algorithm
export LD_LIBRARY_PATH=/root/coal/control/algorithm/Codec/PyCodec/lib/:$LD_LIBRARY_PATH
python3 model2trt.py
  1. 将新生成的模型文件放入指定目录中
cp model_dir/trt_model/* ../model_dir/trt_model/
  1. 退出容器,重启容器
exit
docker restart coal2

4.6 开启管理服务

  1. 准备所需项目文件:
(a)从压缩包获取
unzip manager.zip
(b)从svn上获取
svn co --username 用户名 http://192.168.0.101/svn/hybors/develop/software/coal_management_system/coal_management_system
svn co --username 用户名 http://192.168.0.101/svn/hybors/develop/software/coal_management_system/videostream
svn co --username 用户名 http://192.168.0.101/svn/hybors/develop/software/coal_management_system/manage.py
  1. 修改settings.py文件:
          1. ssh 连接参数 改为管理程序宿主机信息
            SSH_HOSTNAME = '192.168.0.52'   # 服务器ip
            SSH_PORT = 22   # 服务器端口
            SSH_USERNAME = 'root'    # 用户名
            SSH_PASSWORD = 'dell-123'    # 密码
          2. SRS server 改为zlmediakit部署机器的信息
            SRS_IP = "192.168.0.52"
            SRS_PORT = "8070"
          3. Zabbix 信息  改为zabbix部署机器信息
            ZABBIX_HOST_NAME = 'coal'
            # zabbix 服务器访问地址
            ZABBIX_SERVER = 'http://192.168.0.52'
          4. zlmediakit 服务ip与端口,secret
            ZLMEDIAKIT_IP = "192.168.0.52"
            ZLMEDIAKIT_PORT = "8070"
          5. 管理模块所在ip与端口
            MANAGEMENT_IP = "192.168.0.52"
            MANAGEMENT_PORT = "8000"
  1. 开启程序:
docker run --privileged=true --gpus all -itd --name coal -p 8000:8000 -p 8001:8001 -p 5555:5566 -v /[宿主机用户目录]:/root/coal/control -w /root/coal/control/ coal:[版本号]
  1. 修改数据库:
sudo sqlite3 db.sqlite3
# ip为部署zabbix服务机器信息
INSERT INTO zabbix_server VALUES (1,"ip",80);
# ip为部署分析服务机器信息,诺有多台,添加多个,只需更改序号1和ip
INSERT INTO system_info VALUES (1,"ip",8002,0,"31.1%","1000/1005","170/476","1.1/12","2022-11-18 09:31:10.299231");
  1. 获取启动脚本:
docker cp coal:/root/run.sh .
  1. 修改启动脚本:
将celery启动命令中'control'改为 'coal_management_system'
  1. 放回启动脚本,重启容器:
docker cp run.sh coal:/root/run.sh
docker restart coal

4.7 启动web服务

  1. 获取文件:
svn co --username 用户名 http://192.168.0.101/svn/hybors/develop/software/coal_management_system/web_manage
  1. 创建数据库:
docker run -itd --name webmysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0
  1. 配置数据库:
将文件导入容器
docker cp new.sql webmysql:/
进入容器
docker exec -it webmysql bash
进入数据库
mysql -uroot -p
create database webdb;
exit
将new.sql文件导入数据库webdb中
mysql -u root -p webdb < new.sql
  1. 修改配置文件application.properties:
#web网页端口
server.port=8080
# 接口请求(管理服务机器信息)
hybs.http.address= http://192.168.0.52:8000/
# 主库数据源(ip为数据库所在机器信息)
spring.datasource.druid.master.url=jdbc:mysql://ip:3307/webdb?
useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
  1. 进入web文件夹,将前端 dist.zip 包解压出来:
unzip dist.zip
  1. 进入Dockerfile所在目录,在终端中建立镜像:
docker build -t web:版本号 .
  1. 开启程序
docker run --privileged=true -itd --name web -p 8088:8088 -v /[宿主机用户目录]:/root/data web:v1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值