MeterSphere 的安装需要安装虚拟机,Centos7 以上版本,我选择了 CentOS-7-x86_64-DVD-2009.iso
电脑上本来就有 Vmware,直接新建虚拟机,虚拟机建好了,但在启动虚拟机时出现了如下图的问题,找到 解决 Vmware Workstation 与 Device Guard 不兼容的办法如下。出现的问题如下图:
我的电脑里没有 Hyper-V 服务,于是为了打开这个服务,新建文本文档 > 粘贴以下 > 更名为 Hyper.cmd > 右键管理员身份运行,运行到最后,输入 Y 进行电脑重启。
重启之后,控制面板 > 程序和功能 > 打开或关闭 Windows 功能 > 关闭 Hyper-V > 选择不重启。
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
键盘 win + x > Windows Powershell (管理员) > 输入以下命令、回车 > 然后重启电脑。
bcdedit /set hypervisorlaunchtype off
键盘 win + r > 输入gpedit.msc > 回车打开本地组策略编辑器。
(由于我是 win10 家庭版,没有组策略,于是为了打开这个组策略,新建文本文档 > 输入以下内容 > 扩展名改为 cmd > 右键管理员身份运行)
@echo off
pushd "%~dp0"
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"
pause
打开组策略后,转到本地计算机策略 > 计算机配置 > 管理模板 > 系统 > Device Guard > 禁用“打开基于虚拟化的安全设置”。
(但是 win10 家庭版没有 Device Guard 这个模组设计,键盘 win + r > 输入 regedit > 回车打开注册表 > 把 HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ DeviceGuard 的值设为0,重启电脑,来禁用该模组)
以上设置完之后,打开 Vmware,运行安装好的虚拟机,但是我蓝屏重启,我真的无语,网上搜解决办法,只能是安装更高版本的虚拟机。
但当我打开浏览器搜索 MeterSphere 需要的虚拟机版本,结果发现了这一篇好文章——Windows 中部署 - MeterSphere 文档,这篇文章说可以在 Windows 中部署 MeterSphere,我决定试一试(=_=)。官方文章首页如下图:
WSL 是一种在 windows 上运行 Linux 环境的技术名称。
管理员身份运行如下两条命令 > 重启操作系统。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
下载并安装:适用于 x64 计算机的 WSL2 Linux 内核更新包。
管理员身份运行如下一条命令,设置WSL2为默认版本。
wsl --set-default-version 2
在 Mincrosoft Store 中下载安装 Ubuntu,我之前竟然下载过hhh。
管理员身份运行如下命令,Ubuntu 显示版本 2 即可,不显示请参考 Windows 中部署 - MeterSphere 文档的 2.4 一条。Ubuntu 检测 WSL 版本显示情况如下图:
这个之前也下载过hhhhh,没有下载过请参考 Windows 中部署 - MeterSphere 文档的 2.5 一条。
打开 Ubuntu 后,执行如下命令切换到 root 用户:
sudo su
之后都在这个 root 用户下运行(TxT)。
打开 Docker 时出现如下图所示问题,这是之前取消 Hyper-V 服务的后果(TxT),又打开控制面板勾选上 Hyper-V 服务 > 重启电脑,果然还是出现这个问题,因为我之前不仅在控制面板中关闭了这个服务,还在命令行中关闭了(微笑)。
现在要在命令行中开启,管理员身份运行命令如下 > 重启电脑。
bcdedit /set hypervisorlaunchtype auto
报错消失啦!!!(Docker 左下角从黄色转变绿色的小鲸鱼多可爱!)
但是又出现了这个问题:
应该跟我之前链接过有关,现在失效了,但是不影响本次 MeteerSphere 安装进程,我们不管这个,继续本步骤 Docker 设置。
打开 Docker 后,点开右上角 Settings 图标,Resources > WSL INTEGRATION > 勾选如下,点击右下角 Apply & Restart,如下图:
下载链接:开源社区 - FIT2CLOUD 飞致云。
我下载的是这个版本,如下图:
在 Ubuntu 中,以 root 用户执行如下命令(记得改一下路径):
# 假设安装包存放路径为 c:\metersphere-offline-installer-v2.10.0.tar.gz
cd /mnt/c
# 解压安装包
tar zxvf metersphere-offline-installer-v2.10.0.tar.gz
我的是放在了 E:\MeterSphere 文件夹下,所以我执行的命令如下图:
想整的请参考 Windows 中部署 - MeterSphere 文档的 2.9 一条。
在 Ubuntu 中,接着执行如下命令(记得改路径):
# 进入安装包目录
cd metersphere-offline-installer-v2.10.0
# 运行安装脚本
/bin/bash install.sh # 这条我运行出错了,没出错当我没说
我执行的命令如下图:
执行第二条命令的时候遇到了如下问题,看图片末尾:
结果前面加个 sudo 就好了(微笑)。
# 运行安装脚本
sudo /bin/bash install.sh
但在发现只要加 sudo 就可以了之前,我走了不少弯路,比如一直在解决 docker-compose 版本与 Docker Engine 版本不匹配的问题,解决这个不匹配的问题时,最后我使用的是官方提供的如下的解决办法:
但是我个人实际运行的命令是这样的:
sudo cp metersphere-offline-installer-v2.10.1-lts/docker/bin/docker-compose /usr/bin/
sudo chmod +x /usr/bin/docker-compose
我的运行命令情况截图如下:
然后才执行的 sudo /bin/bash install.sh
又出现问题了,如下图:
删掉 mysql 这个实例就好了,提到哪个就删掉哪个实例,先运行如下命令查看所有实例:
# 查看所有实例,这条命令可以看到 mysql 这个实例前面对应的码
docker ps -a
删掉 mysql 实例,利用 mysql 这一行前面的那一串码来删除,比如我的是:
docker rm 86064f799ccc
再次执行 sudo /bin/bash install.sh
,成功啦!!
安装成功后,运行 msctl status
查看后台服务运行状况,待所有服务运行状态都为 healthy 后,则通过浏览器访问 MeterSphere。
地址: http://目标服务器IP地址:服务运行端口
用户名: admin
密码: metersphere
打开网页之后(我可太激动了):
呜呜呜欢迎你:
总之,我下载 MeterSphere 的过程很复杂,大致就是从虚拟机 > 解决因为 win10 家庭版带来的虚拟机问题 > 发现了官方说可以在 windows 上安装部署的文档(果然遇事不决先看官方(微笑))(中间还遇到了很多网络的问题)
OkokookK!