鲲鹏近3个月热门问题和解决方案整理

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

本文同时参与 「掘力星计划」   ,赢取创作大礼包,挑战创作激励金

前言

华为云鲲鹏云服务器计算开放全栈能力,通过开放鲲鹏主板2.0,持续投入开源操作系统 openEuler和开源数据库 openGauss,开放鲲鹏应用使能套件 BoostKit 与鲲鹏开发套件 DevKit,加速计算产业创新。本文整理了最近3个月的热门问题和相关的答案汇总。

正文

问题一、使用鲲鹏性能分析工具出现服务器内部错误提示

问题描述:使用鲲鹏性能分析工具web页面,使用web创建工程任务进行全景分析&出现服务器内部错误提示,采集信息结果出不来。

解决

首先,获取日志信息。

具体步骤如下:

步骤一、用 tunadmin 登录,按照如下操作,打开 debug 级别日志,具体操作可以参考下图:

步骤二、然后进入日志下载页面,下载日志,具体操作可以参考下图:

步骤三、确认下工具是否启动正常。

使用如下命令进行检查:

ps -ef | grep magent

ps -ef | grep mallumad

ps -ef | grep gunicorn

看看有没有返回正常。

步骤四、看看 /opt/hyper_tuner/sys_perf/logs 下面的几个文件是否有报错信息。

最终确认引发这些问题的原因是服务器配置较低,引发了一些不常见的小问题。

类似问题:

1)登录鲲鹏性能分析工具web页面出现服务器错误提示。

2)通过web页面使用鲲鹏性能分析工具出现服务器内部错误提示,请问如何解决。

问题二、安装鲲鹏代码迁移工具出现解压缩安装失败和 rpmdb open failed 问题

问题描述:安装鲲鹏代码迁移工具&选择下载后的镜像。

报错信息:

  1. 解压缩安装失败和 rpmdb 打开失败,截图如下:

  1. 没有可用的镜像源,截图如下:

  1. 重新配置rpmdb出现错误,截图如下:

解决

步骤一、重新安装 unzip,可能出现如下问题:

步骤二、如果出现上述问题,很可能是在安装 Python 的虚拟环境时出了问题,造成代码迁移工具安装报错。服务器由于使用网络镜像源,造成配置了本地镜像源后版本对不上,所以本地镜像源在安装 rpm-build 时出错。因此,将服务器的依赖镜像源切换为网络镜像源后,再重新安装工具即可。

问题三、安装鲲鹏代码迁移工具配置操作系统对应的镜像源后出现安装失败

问题描述:安装鲲鹏代码迁移工具过程中进入镜像源配置模式,默认选择本地镜像源,使用通过上传到服务器路径下的镜像源,出现错误,但是之前也配置过镜像源了。

重现步骤:

  1. 配置yum源,截图如下:

  2. 选择选项一后,截图如下:

  1. 安装错误并提示错误信息,截图如下:

解决

分析下图可以得知 rpm 数据库出了些问题,可能是这个原因导致 yum 出错,最终报了个镜像问题。

执行如下命令再重新安装:

rm -f /var/lib/rpm/__db*

rpm --rebuilddb

问题四、DPDK19.11 获取不到 hns3网卡端口

问题描述:鲲泰服务器使用 DPDK19.11的 vfio-pci 驱动或者 igb_uio 驱动绑定 hns3 网卡后, DPDK 获取不到网卡端口号。但是,vfio-pci 驱动的 SMMU 已在 BIOS 开启。

报错截图:

解决

步骤一、首先要确定用的什么 Raid 卡,需要支持虚拟化的 Raid 卡。

需要说明的是泰山服务器加载 vfio-pci 需要 BIOS 使能 SMMU,需要特定的 RAID 卡才支持开启SMMU;如果由于 raid 卡原因无法使能 SMMU,规避方法是加载 vfio 时附加参数:modprobe vfio enable_unsafe_noiommu_mode=1;modprobe vfio-pci(该参数需要内核支持,EulerOS V2R8 和Centos7.6 默认内核是支持的)。

用户反馈使用的是如下配置:

02:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID Tri-Mode SAS3508 (rev 01) 78:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21) b8:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21)

截图如下:

加载了vfio-pci的网卡驱动后, 还是找不到dpdk网卡端口。

步骤二、确定当前使用的是什么系统,内核版本是多少。

系统: ubuntu18.04 内核版本: Linux ubuntu 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:42:54 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux。

升级内核版本到5.5以上版本。

步骤三、使用板载网卡虚拟端口方式

使用板载网卡,用 dpdk-devbind.sh 脚本接管网卡, 然后调用 nb_ports = rte_eth_dev_count_avail() 函数时, 获取网卡端口号为0。

步骤四、确认万兆网卡

可能是因为使用 hns3 千兆电口网卡,通过查看 dpdk 源码,发现 dpdk 不支持 hns3 千兆电口网卡。

问题五、使用鲲鹏代码迁移工具对python源码文件进行源码迁移

问题描述:将 windows 下的 python 类型源码进行上传,因为 python 是跨平台的语言,进行直接上传&分析报告显示没有需要迁移的内容,是不支持 python 源码迁移吗?但是 python 语言也是跨平台的,为什么分析报告出不来?

报错截图:

1.

2.

解决

步骤一、尝试在鲲鹏平台上运行

工具是支持python代码迁移的,python是跨平台的高级语言,除非python里面调用了windows的库,否则一般是不需要修改代码的。

步骤二、用户提出新的问题:如果调用了windows的库的话,那么分析会失败吗,还是说会给分析报告建议修改代码,就是因为鲲鹏平台上不支持才会给出报告提出建议的吧?

回答:因为代码迁移工具没有扫描到要迁移的内容,所以就不会再生产报告了。

步骤三、用户提出新的问题:如果要迁移的源码文件是一个项目工程,其实就是pythonweb项目,里面有html语言会有影响吗?

回答:html,css,js都不会影响,不需要迁移。

问题六、docker启服务,数据库连接不上

报错截图:

解决

步骤一、SpringBoot 连接提示 Communications link failure

报错信息如下:

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

    at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[mysql-connector-java-8.0.20.jar:8.0.20]

    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-java-8.0.20.jar:8.0.20]

    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-

    .....

    .....

    .....

    .....

    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:199) ~[junit-platform-launcher-1.6.2.jar:1.6.2]

    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:132) ~[junit-platform-launcher-1.6.2.jar:1.6.2]

    at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:74) ~[junit5-rt.jar:na]

    at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) ~[junit-rt.jar:na]

    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) ~[junit-rt.jar:na]

    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) ~[junit-rt.jar:na]

Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure

需要注意的是 MySQL 在高版本时需要指明是否进行 SSL 连接。

参考资料:

不建议在没有服务器身份验证的情况下建立SSL连接。根据MySQL 5.5.45+、5.6.26+和5.7.6+的要求,如果不设置显式选项,则必须建立默认的SSL连接。需要通过设置useSSL=false来显式禁用SSL,或者设置useSSL=true并为服务器证书验证提供信任存储。

用参数 useSSL=true 进行尝试,发现还是报一样的错误,当使用 useSSL=false 时,就可以进行连接了。也就是 jdbc:mysql://192.168.221.201:3306/jdbc?useSSL=false,不过为什么要这样连接,暂时没弄清楚,只知道时版本和兼容的原因。

步骤二、默认使用了class com.zaxxer.hikari.HikariDataSource

SpringBoot2.3默认使用class com.zaxxer.hikari.HikariDataSource,如何更改为像视频中的那样,使用tomcat 的数据源呢?参考如下配置文件:

spring:

datasource:

username: root

password: 123456

url: jdbc:mysql://192.168.221.201:3306/jdbc?serverTimezone=GMT&useSSL=false

driver-class-name: com.mysql.cj.jdbc.Driver

initialization-mode: always

type: org.apache.tomcat.jdbc.pool.DataSource

将 type: org.apache.tomcat.jdbc.pool.DataSource 写入 spring.datasource 即可。

问题七、鲲鹏代码迁移工具不支持 windows 软件代码的扫描、分析、迁移,那用户使用的是windows系统下的软件和代码,这怎么解决?

问题描述:鲲鹏代码迁移工具不支持 windows 软件代码的扫描、分析、迁移,仅支持 X86 linux 到kunpeng linux,那用户是使用 windows 系统的话,是需要在本地配置环境吗?

问题截图:

解决

首先需要明确是,目前工具不能满足 windows 到 linux 的迁移。windows 代码的迁移不仅涉及 x86到 aarch64 架构上的迁移,还涉及 windows 到 linux 的代码迁移,那么就涉及到代码调用了windows 的库/环境等一系列问题,暂时还不支持的。

步骤一、先将代码可以在 x86 的 linux 环境编译成功并跑通,再使用工具做从 x86 到 kunpeng 的迁移。另外,如果可以替换为相同功能在Linux系统使用的软件,另外如果现有 windows 软件有对应 Linux 版本也可以直接迁移到鲲鹏。

步骤二、windows下的应用迁移,具体应用具体分析。例如:java开发的应用,使用组件支持跨平台(如tomcat,mysql),可平滑从windows迁移到Linux上。又如:C#开发的应用,使用组件不支持跨平台使用(如:sql Server),迁移可能会涉及代码修改,组件替换等工作量。

问题八、鲲鹏性能分析工具使用vscode插件配置服务端配置不成功

问题描述:服务器是官网免费申请的云环境,工具已经在环境安装好了的,配置远端服务器&配置失败。

问题截图:

解决

步骤一、首先尝试使用 https://ip: 端口 在浏览器处尝试是否能访问。

步骤二、如果能访问,检查下是否因为 VS CODE 处开启了代理。

类似问题:

1)安装鲲鹏分析工具后能够通过web登录,但无法通过vscode登录。

问题九、鲲鹏性能分析功能安装完之后给出了性能工具分析web地址,为什么无法访问

问题描述:通过命令安装鲲鹏性能分析工具服务器给出web地址之后&无法访问鲲鹏性能分析工具web地址。

问题截图:

解决

步骤一、如果你这个服务器是租用的公网服务器的话,需要使用公网IP访问,如果是局域网可以使用工具给出的IP访问。另外,在安装过程中,会提示你输入外部IP(Please enter the server external ip(mapping IP))这个需要输入公网IP,如果有的话。

步骤二、查看端口防火墙开了没有。

问题十、华为产品鲲鹏性能分析工具出现问题,通过远程连接云服务器解压软件包,执行命令出现问题

问题描述:打开xshell远程连接服务器解压软件包,执行 ./install.sh 命令&出现 Hyper-tuner has been installed,也就是没有显示选择安装工具等回显信息,比如系统性能分析和java性能分析工具。

问题截图:

解决

这个提示说明你的服务器已经安装过Hyper-Tuner。如果要重装的话,要先卸载原来的版本。

问题十一、TS200-2280服务器安装操作系统

问题描述:TS200-2280服务器安装Euler操作系统如何安装,是否有提供安装教程呢?

解决

OS安装可以参考以下链接:

support.huawei.com/enterprise/…

docs.openeuler.org/zh/docs/20.…

developer.huaweicloud.com/euleros/kno…

其中,重点可以参考链接3。

结尾

关于鲲鹏服务器的相关问题,大家可以到华为云社区的鲲鹏论坛版块进行反馈和资料查找,在提问前可以先搜索论坛内的内容,也许已经存在了相关问题的解决方法。本文整理了鲲鹏论坛中最近3个月的热门问题和相关的答案汇总,其中有很多类似甚至相同的问题,希望大家通过鲲鹏论坛不断的学习成长。

猜你喜欢

转载自juejin.im/post/7018577304171315237