• [技术干货] 日常工作中,你对于日志数据都是如何利用的?
    在日常工作中,各位又是如何使用日志数据呢?是简单地通过日志查询操作呢?还是将日志数据利用在运维工作中进行问题的查询?又或是将日志数据与大模型结合打造属于自己的智能运维平台?如有一个运维领域基础模型,你希望这个模型支持哪些场景的能力?你有什么场景的日志数据,需要保存3个月以上?AI是否是运维人以后必须掌握的技能?
  • [云数据迁移] 我在云迁移工作级认证上的课件看见了用LTS迁移HBase,但是我没有找到LTS的迁移在哪里
    我找到的都是用CDM做的迁移,有大佬知道怎么回事不?
  • [问题求助] test环境座席签入报100-007
    【问题来源】中讯网联    【问题简要】test环境座席签入报100-007【问题类别】座席签入【AICC解决方案版本】AICC版本:aicc22.100.spc2CTI版本:ICDV300R008C25SPC017【期望解决时间】【尽快】【问题现象描述】 使用demo以及座席软件,使用坐席工号签入都报100-007错误,周五是正常的,然后今天签入有这个问题
  • [方案分享] API方式将APP接入LTS方案介绍
    一、场景介绍1、云服务介绍云日志服务LTS:云日志服务(Log Tank Service)提供一站式日志采集、秒级搜索、海量存储、结构化处理、转储和可视化图表等功能,满足应用运维、网络日志可视化分析、等保合规和运营分析等应用场景。弹性云服务器 ECS:弹性云服务器(Elastic Cloud Server, ECS)是一种云上可随时自助获取、可弹性伸缩的计算服务。API网关 APIG:API网关(API Gateway)是为企业开发者及合作伙伴提供的高性能、高可用、高安全的API托管服务, 帮助企业轻松构建、管理和部署不同规模的API。2、场景描述需求:想要将APP的日志接入到华为云LTS。痛点:华为云LTS服务目前没有提供对外接入的API,针对APP端上传日志到华为云LTS,不能直接实现。解决方案:方式一:日志消息通过APIG上传,再通过后端转发至LTS,实现通过API接入LTS。 方式二:华为云上对应region区创建一台ECS主机,在该ECS上执行SSH Tunnel转发命令,将该ECS设置为转发主机。日志消息通过公网ip上传至ECS,再通过内网转发至LTS,实现通过API接入LTS。 二、前置条件开通华为云LTS服务三、操作步骤方式一:1、LTS配置(一)、创建日志组和日志流创建日志组和日志流操作步骤:cid:link_92、APIG配置(一)、创建专享版APIG购买实例,选择专享版:cid:link_1(二)、 创建API分组API分组相当于API的集合,您在创建API前,需要先创建API分组。参考链接:cid:link_3(三)、 创建API创建API包括定义API前后端的请求路径、参数、请求相关协议等。参考链接:cid:link_61)进入APIG控制台 - API列表 – 创建API 2)前端定义API名称:随意URL:请求方法-POST其他默认 3)安全配置类型:私有安全认证:无认证(测试环境,实际可按需选择) 4)请求参数添加header参数:Content-Type和X-Auth-Token添加完后,点击下一步进入后端配置。 5)后端配置后端服务类型:HTTP&HTTPS负载通道:不使用请求方法-POST请求协议-HTTPS后端服务地址:填写LTS的接入点IP,端口为8102----【接入点IP可在LTS控制台“主机管理 > 安装ICAgent”的安装命令中获取。 以北京四区域为例,接入点IP如下所示为100.125.12.150 路径:即LTS上传日志的API请求路径: /v2/{project_id}/lts/groups/{log_group_id}/streams/{log_stream_id}/tenant/contents----【可参考上报日志API详情:cid:link_2其他保持默认,点击完成。 (四)、 绑定域名(可选)开放API前,您需要为API分组绑定独立域名(即自定义域名),API调用者通过访问独立域名来调用您开放的API。参考链接:cid:link_43、调用API(一)、获取鉴权 获取IAM用户token(使用密码)API:cid:link_8API Explorer快速获取:cid:link_0需注意:请求参数需要携带projectID或projectName 请求成功后,从响应头里获取X-Subject-Token的值,用于下面步骤的调用API使用。(二)、API调试1)进入APIG控制台 - API列表 – 更多 - 调试: 2)在body添加要上传的日志参数----【可参考上报日志API详情:cid:link_2 3)添加header参数(填入token和content-type),点击调试。日志上传成功响应里会有report success字段返回。 (三)、发布API只有在将API发布到环境后,API才支持被调用。 参考链接:cid:link_5(四)、API调用API发布后,即可通过公网访问API了。 4、LTS控制台查看上报的日志登录LTS控制台,在日志管理,展开日志组列表,点击日志流的名称,查看日志 方式二:1、LTS配置(一)、创建日志组和日志流创建日志组和日志流操作步骤:cid:link_92、跳转机设置(一)、创建跳转机在LTS服务所在region区,创建一台ECS作为跳转机。创建ECS步骤:cid:link_7(二)、开放安全组跳转机监听的端口涉及8149、8102、8923、30200、30201、80,需要对LTS的接入点IP开放以上端口,并将80端口对所有IP开放。接入点IP可在LTS控制台“主机管理 > 安装ICAgent”的安装命令中获取。1)以北京四区域为例,接入点IP如下所示为100.125.12.150 2)安全组对100.125.12.150开放包含以上端口,并对80端口开放访问。 (三)、设置跳转规则1)在LTS控制台“主机管理 > 安装ICAgent”的安装命令中,获取SSH Tunnel转发命令 其中,跳转机私有IP处输入跳转机的内网IP,下方会自动生成SSH Tunnel转发命令。 2)复制SSH Tunnel命令后,登录到跳转机执行命令3、API调用(一)、获取鉴权获取IAM用户token(使用密码)API: cid:link_8(二)、调用API上报日志API详情:cid:link_2需注意的是,接入点IP为跳转机公网IP。即API请求路径为:POST https://{跳板机公网IP:8102}/v2/{project_id}/lts/groups/{log_group_id}/streams/{log_stream_id}/tenant/contents如下使用postman调用API示例,响应信息为“Report success”即为上报成功: 4、LTS控制台查看上报的日志登录LTS控制台,在日志管理,展开日志组列表,点击日志流的名称,查看日志
  • [Atlas300] 【Atlas 300i pro】openEuler 22.03 LTS驱动固件安装失败
    操作系统为openEuler 22.03 LTS,使用Atlas-300i-pro-npu-driver_22.0.0_linux-aarch64.run、Atlas-300i-pro-npu-driver_21.0.4_linux-aarch64.run不论是直接安装还是重构驱动包安装均失败了,查看兼容性查询助手显示Atlas 300i pro不兼容openEuler 22.03,但在驱动固件下载页面找到了Atlas-300i-pro-npu-driver_5.1.rc2_linux-aarch64.run,可以安装,但没找到相应的固件包。问题:1.如下配置所需的固件包下载哪一个适用呢?openEuler 22.03 LTS有无适配的驱动和固件?2.安装驱动出现如下截图问题,怎么解决呢?【截图信息】
  • [技术干货] 一键日志收集指导
    一键日志收集指导提供一键收集工具,部署在Host侧,针对昇腾驱动问题现场,能够一键收集维护人员定位问题所需相关故障上下文。该工具可以独立运行,也可以由下游工具调用。使用须知当前不支持minirc和500小站场景。不支持容器场景,不支持多个用户同时运行。该工具需要用户在root权限下运行。为避免日志文件占用磁盘空间,建议下载后及时删除。支持版本21.0.4及以后工具路径Driver安装目录/driver/tools/ascend_bug_report.sh示例:/usr/local/Ascend/driver/tools/ascend_bug_report.sh使用方法在具有读、写、执行权限的目录下执行如下命令:Driver安装目录/driver/tools/ascend_bug_report.sh [options]示例:/usr/local/Ascend/driver/tools/ascend_bug_report.sh [options][options]支持的参数及解释如下表:参数说明举例不指定任何参数在执行目录下,导出默认收集内容Driver安装目录/driver/tools/ascend_bug_report.sh-h或--helpHelp说明Driver安装目录/driver/tools/ascend_bug_report.sh –h-p或--path指定生成文件目录,该目录需要具有读、写、执行的权限。Driver安装目录/driver/tools/ascend_bug_report.sh –p /home/tmp/--off关闭收集指定内容。host_info:Host环境信息host_log:Host日志信息device_log:Device全量日志driver_info:驱动运行信息install_info:驱动安装信息network_info:网络配置信息Driver安装目录/driver/tools/ascend_bug_report.sh --off host_info --off host_log910芯片,由于网络配置不同可能收集日志时间较长,建议非网络问题可以关闭network_info。 运行成功后,会在指定路径下生成压缩文件“ascend_log_xxxx.tar.gz”存储日志信息,该后缀为调用工具的时间。解压文件后目录及文件如下:收集内容说明host_info当前host环境信息host_log当前host日志信息device_logDevice全量日志driver_info驱动运行信息install_info驱动安装信息network_info网络配置信息(仅支持910芯片)script_running.log工具运行日志        收集内容说明host_info: 当前host侧环境信息,如内核信息,PCIe配置,进程,槽位信息等。可以排查硬件,OS等非驱动问题。host_log: 当前host侧系统日志,如dmesg,messages,kern.log,syslog等。通常丢芯片查看加载关键函数,驱动接口调用失败等。device_log: msnpureport工具导出的device侧日志。device侧黑匣子上报的模块异常,BIOS日志,系统日志。通常可以定位芯片丢失,dsmi异常等信息。driver_info: DFX识别到的驱动运行信息。如pcie设备能力,消息通道使用情况,dma信息,中断信息等。install_info: 驱动安装日志。network_info: 网络配置信息。排查网络link问题,如ip是否配置成功,网关信息等。芯片丢失分析首先需要确认是软件问题还是硬件问题(必现问题可以确认下问题现象是否跟随环境或卡)lspci----查询pcie信息的工具          若无法查询很有可能非驱动软件问题(可能原因:硬件链路,DDR初始化失败、bios启动失败等)进一步排查可以查看dmesg | grep pci是否有相关设备bdf的打印,若未出现即代表未识别到该设备2、收集系统启动日志(查阅一键日志收集)此处主要先收集host驱动、系统日志,用于确认是系统启动丢失还是运行过程中丢失3、启动过程中丢失   绝大多数启动问题都可以通过dmesg日志及设备侧日志完成定位4、运行过程中丢失   可能为用户的非标操作主动热复位,或device跑飞了 导致核挂死
  • [openEuler] openEuler 22.03LTS 安装部署nvidia open gpu driver
    环境信息:1. 禁用开源驱动nouveaurmmod nouveauecho “blacklist nouveau” >> /etc/modprobe.d/blacklist.conf 2. 下载Nvidia 驱动源码安装时构建的内核模块必须与gsp一起使用。bin固件和用户空间NVIDIA GPU驱动程序组件来自相应的515.43.04驱动程序版本。因此在安装源码前需要安装nvidia gpu驱动。wget https://cn.download.nvidia.cn/XFree86/aarch64/515.43.04/NVIDIA-Linux-aarch64-515.43.04.run安装gpu驱动:sh ./NVIDIA-Linux-[version].run --no-kernel-modules  3. 下载Nvidia 驱动源码wget https://cn.download.nvidia.cn/XFree86/aarch64/515.43.04/NVIDIA-Linux-aarch64-515.43.04.run4. 安装gpu驱动:bash ./NVIDIA-Linux-aarch64-515.43.04.run --no-kernel-modules 5. 下载开源驱动源码git clone https://github.com/NVIDIA/open-gpu-kernel-modules.git 6. 编译源码cd open-gpu-kernel-modules-mainmake modules -j`nproc`    7. 安装源码make modules_install -j`nproc` 8. 编译安装nvidia驱动cd /lib/modules/5.10.0/kernel/drivers/video/insmod nvidia.ko 9. 查看驱动信息modinfo nvidia Agenda1. 编译nvidia开源驱动报错,无法找到/lib/modules/4.19.90-2204.3.0.0146.oe1.aarch64/build 下载内核源码包,创建软链接指向当前下载的源码路径:ln -s /usr/src/kernels/4.19.90-2205.1.0.0148.oe1.aarch64  /lib/modules/4.19.90-2204.3.0.0146.oe1.aarch64/build 2. 安装nvidia驱动报错,无法找到目录/lib/modules/5.10.0在2022/7/14使用github上最新的代码进行编译安装时,提示无法找到目录/lib/modules/5.10.0,这个是因为内核检查的是5.10.0大版本,设置软链接指向该目录即可:ln -s /lib/modules/5.10.0-60.18.0.50.oe2203.aarch64 /lib/modules/5.10.0 3. 安装nvidia驱动报错,内核签名校验失败这个是内核签名校验失败,ko已经编译完成,可以进入对应目录手动安装ko文件。cd /usr/lib/modules/${编译的内核版本}/kernel/drivers/videoinsmod nvidia.ko 4. 编译失败,出现modpost undfined error如果使用515.43.04版本的开源驱动代码,并且在aarch64上编译,会产生如下错误。这个是程序代码问题,在 515.48.07版本中已被修复。 本次安装的gpu固件驱动版本和open gpu 版本不一致,所以无法使用相关命令,后续会在安装对应版本的固件驱动和开源驱动后重新使用,然后更新文档。 
  • [问题求助] 如何在华为云使用openEuler LTS sp3
    目前我想在华为云使用openEuler LTS sp3,但是公共镜像只有openEuelr LTS。我想在华为云使用sp3,我应该如何自己上传镜像?
  • [问题求助] openEuler-22.03-LTS的repo源部分软件包无法使用
    openEuler-22.03-LTS的repodata和实际软件包的大小不一致,导致软件包无法安装。
  • [问题求助] 无法查看日志
    【功能模块】规则——数据转发——云日志【操作步骤&问题现象】1、已经创建了数据转发,把运行日志转发至云日志服务2、可是却没有看到任何的日志信息【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] MongoDB 5.3.1 for openEuler 22.03 LTS 迁移指南
    #### 环境要求 | 项目 | 说明 | | ------ | :---------------------------- | | 服务器 | TaiShan 200服务器(型号2280) | | CPU | 华为鲲鹏920处理器 | | 硬盘 | 空间尽量大,至少100G。 | | 网络 | 通外网,有在线yum源和pip源。 | #### 操作系统 | 项目 | 版本 | 备注 | | ----------------- | --------- | ------------------ | | openEuler release | 22.03 LTS | cat /etc/*-release | #### 软件依赖 | 软件 | 版本 | | ------- | ------ | | gcc | 10.3.0 | | g++ | 10.3.0 | | python | 3.9 | | mongodb | 5.3.1 | #### 环境配置 ##### 配置python pip源 安装pip ```shell yum install python-pip ``` 创建.pip目录 ```shell mkdir -p ~/.pip ``` 创建 `pip.conf` 文件 ```shell vim pip.conf ``` 填写如下配置(华为pip镜像) ```ini [global] timeout=60 trusted-host=cmc-cd-mirror.rnd.huawei.com index-url=http://cmc-cd-mirror.rnd.huawei.com/pypi/simple/ ``` #### 安装依赖 ##### 安装编译工具 ```shell yum install -y tar zip unzip gzip gcc gcc-c++ make python cmake \ libcurl-devel openssl-devel python-pip ``` #### 编译安装 ##### 下载源码 ```shell git clone https://github.com/mongodb/mongo.git ``` ##### 进入源码目录 ```shell cd /home/mongo-r5.3.1 ``` ##### 安装python依赖 ```shell python3 -m pip install -r etc/pip/compile-requirements.txt ``` ##### 编译全部内容 ```shell python buildscripts/scons.py MONGO_VERSION=5.3.1 DESTDIR=/home/mongo --disable-warnings-as-errors CFLAGS="-march=armv8-a+crc" install-all-meta -j48 ``` 1. 报错 `Couldn't find OpenSSL crypto.h header and library` 解决:安装 `openssl-devel` ```shell yum install -y openssl-devel ``` ##### 给mongodb的可执行文件创建软链接 ```shell ln -s /home/mongo/bin/mongo /usr/bin/mongo ln -s /home/mongo/bin/mongod /usr/bin/mongod ``` ##### 运行单元测试 ```shell cd /home/mongo/bin # 列出所有单元测试 ./dbtest -l # 运行单个测试 ./dbtest query_plan_ranking ``` #### 启动MongoDB ##### 防火墙配置 开放27017端口 ```shell # 暂时开放27017端口 firewall-cmd --add-port=27017/tcp # 永久开放27017端口 firewall-cmd --permanent --add-port=27017/tcp # 重启防火墙 firewall-cmd --reload ``` 或者可以直接关闭防火墙 ```shell # 暂时关闭防火墙 systemctl stop firewalld # 永久关闭防火墙 systemctl disable firewalld ``` ##### 创建相关目录 ```shell # 数据目录 mkdir -p /var/lib/mongo # 日志目录 mkdir -p /var/log/mongodb ``` ##### 前台运行 ```shell # 使用root前台运行 mongod --dbpath=/var/lib/mongo --bind_ip=0.0.0.0 --port 27017 ``` ##### 后台运行 ```shell # 使用root后台运行 mongod --dbpath=/var/lib/mongo --fork --bind_ip=0.0.0.0 --port 27017 \ --logpath=/var/log/mongodb/mongodb.log --logappend ``` ##### 使用配置文件运行 ```shell # 拷一份配置文件 cp rpm/mongod.conf /etc/mongod.conf # 使用root运行 mongod -f /etc/mongod.conf ``` #### 配置用户、配置文件、权限 ##### 创建用户和组 ```shell useradd mongod ``` ##### 安装目录授权给 mongod ```shell chown -R mongod:mongod /home/mongo ``` ##### 创建日志目录并授权 ```shell rm -rf /var/log/mongodb mkdir -p /var/log/mongodb chown -R mongod:mongod /var/log/mongodb ``` ##### 创建数据目录并授权 ```shell rm -rf /var/lib/mongo mkdir -p /var/lib/mongo chown -R mongod:mongod /var/lib/mongo ``` ##### 创建pid目录 ```shell rm -rf /var/run/mongodb mkdir -p /var/run/mongodb chown -R mongod:mongod /var/run/mongodb ``` ##### 创建配置文件并授权 ```shell # 拷一份默认配置文件 cp rpm/mongod.conf /etc/mongod.conf ``` ##### 按需修改配置文件 ```yaml # network interfaces net: port: 27017 # 这里修改为0.0.0.0,否则外部无法访问 bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting. ``` ##### 拷贝一份环境变量文件 ```shell cp rpm/mongod.sysconfig /etc/sysconfig/mongod ``` ##### 修改权限 ```shell chown mongod:mongod /etc/sysconfig/mongod ``` #### 配置服务 ##### 复制一份服务脚本 ```shell cp rpm/init.d-mongod /etc/rc.d/init.d/mongod ``` ##### 添加可执行权限 ```shell chmod 755 /etc/rc.d/init.d/mongod ``` ##### 启动服务 ```shell /etc/rc.d/init.d/mongod start ``` ##### 加入开机启动服务列表 ```shell chkconfig --add mongod # 查看开机自启服务 chkconfig --list ``` ##### 启动服务 ```shell # 重新加载配置文件 systemctl daemon-reload # 启用mongod systemctl enable mongod # 启动mongod systemctl start mongod # 查看状态 systemctl status mongod ```
  • [技术干货] OpenEuler 20.03 LTS SP3版本安装心得
    OpenEuler 20.03 LTS SP3版本安装心得安装一、安装要求:硬件兼容支持:服务器形态:机架服务器  服务器名称:TaiShan200  服务器型号:2280均衡型最小硬件要求:CPU:Kunpeng 920系列  内存:不小于4GB(为了更好的应用体验,建议不小于8GB)  硬盘:建议不小于120GB二、安装源获取:URL:repo.openeuler.org/openEuler-20.03-LTS-SP3/ISO/aarch64/找到镜像文件:File Name处找到名为:openEuler-20.03-LTS-SP3-everything-aarch64-dvd.iso  size为:15.3GiB 三、启动安装:1.登录服务器IBMC Web界面;2.选择“系统管理”处“BIOS配置”的“启动项设置”的“引导介质”设置为“光驱”,“引导介质有效期”设置为“单次有效”,而后点击保存即可;3.在服务器IBMC Web界面找到“虚拟控制台”,点击“启动虚拟控制台”选择“HTML集成远程控制台(共享)”,进入跳转界面;4.点击  查看是否为“光驱”;5.点击   选择“镜像文件处”的“…”找到之前已下载的openEuler-20.03-LTS-SP3-everything-aarch64-dvd.iso  ,而后选择连接;6.点击  选择“强制重启”进入安装引导界面(ps:进入安装引导界面需进入BIOS界面,操作如下:进入跳转界面:点击Del键或F4,进入跳转输入密码进入跳转界面后选择EXIT处选择“UEFI DVD-ROM VM 1.1.0”,因为第一启动项为光驱);7.选择“Install openEuler 20.03-LTS-SP3”进入跳转安装:设置语言-ENGLISH将显示红的位置设置完毕,软件安装处选择最小安装并选择标准安装8.磁盘分区:         选择磁盘处—custom---done---New openeuler—依次将所示的各个选项输入mount----File System选择xfsroot的密码设置别太简单,为字母数字特殊符号组合,别低于八位点击安装,等待即可;进入界面,输入localhost login:root   Password:Huawei12#$即可。输入cat /etc/os-release命令查看当前OS版本:配置一、连接mobaxterm:         1.将配置文件vim /etc/sysconfig/network-scripts/ifcfg-enp125s0f0和ifcfg-enp125s0f1中ONBOOT=no改为ONBOOT=yes,加上子网掩码与固定ip;再执行systemctl restart NetworkManager,   ping baidu.com即可         2.设置掩码ifconfig enp125s0f0 ip,再查看ifconfig | grep netmask         3.重启网卡:openEuler的命令为systemctl restart NetworkManagerPs:(收获命令:   nmcli c show:显示网卡连接信息                                     nmcli device status:显示接口信息)                           4.完成以上操作后ping ip或者ping baidu.com即可通,也可远程用mobaxterm工具连接。为了连接保持不中断在mobaxterm工具中Settings处选择SSH,然后将SSH settings处的SSH keepalive勾选即可。FAQ1. 执行su testuser切换至testuser后,执行sudo useradd testuser1和sudo userdel testuser1命令出现(账户过期或PAM配置缺少sudo的账户部分,联系管理员解决方法su testuser转到su root无法跳转的问题:1.以root修改:vim /etc/pam.d/su将auth  required  pam_wheel.so  use_uid注释掉,即可自由root切换testuser。  
  • [技术干货] VLC 3.0.16(aarch64)编译指导 for openEuler 20.03 LTS SP1
    1 简介VLC是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及DVD、音频CD、VCD及各类流媒体协议。可以播放MPEG-1、MPEG-2、MPEG-4、DivX、DVD/VCD、卫星数字电视频道、地面数字电视频道(digital terrestrial television channels)、在许多作业平台底下透过宽带IPv4、IPv6 网络播放线上影片。VLC支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影音光盘及各类流式协议。VLC也能作为unicast或multicast的流式服务器在IPv4或IPv6的高速网络连接下使用。VLC融合了FFmpeg计划的解码器与libdvdcss程序库使其有播放多媒体文件及加密DVD影碟的功能。官方链接: http://www.videolan.org/类别:播放器语言:C/C++/Objective-C/QML/Lua2 环境类别子项版本获取地址(方法) 硬件CPUIntel 5218iBMC网络Ethernet-10GEiBMC存储SATA 4TiBMC内存xxG xxxMHziBMCOSopenEuler20.03 LTS SP1cat /etc/os-releaseKernel4.19.90cat /proc/version软件GCC7.3.0参考下面安装说明 gcc -vOpenJDK 1.8.0_272参考下面安装说明VLC3.0.16参考下面安装说明3 系统依赖安装3.1 配置本地yum源注:系统联网情况下,此步骤可忽略。挂载OS镜像:mkdir /mnt/iso/mount -o loop /home/openEuler-20.03-LTS-SP1-everything-aarch64-dvd.iso /mnt/iso/执行mv /etc/yum.repos.d /etc/yum.repos.d.bak备份默认yum源,然后mkdir /etc/yum.repos.d/创建/etc/yum.repos.d/路径,执行vim /etc/yum.repos.d/local.repo文件,配置yum本地源:[local]name=localbaseurl= file:///mnt/isogpgcheck=0enabled=1运行下面的命令,使yum源配置生效:yum clean allyum makecache3.2 安装GCC等相关依赖yum安装GCC、alsa、yasm等相关依赖:sudo yum install -y gcc gcc-c++ gcc-objc++ alsa* libxml2-devel yasm nasm lua* libmodplug libmpg123 libnfs libxcb-devel libxcb snappy snappy-devel autoconf automake libtool git make cmake openssl openssl-devel zlib zlib-devel bzip2 bzip2-devel bzip2-libs readline readline-devel bison zip unzip tar tcl java-1.8.0* bison* ncurses* wget4 编译依赖安装4.1 编译安装ffmpeg-4.01、进入/hom目录获取ffmpeg-4.0源码cd /home/wget https://www.ffmpeg.org/releases/ffmpeg-4.0.tar.gz注:如果系统环境无法联网,则手动单击链接https://www.ffmpeg.org/releases/ffmpeg-4.0.tar.gz下载安装包,并上传到系统的/home/目录下。2、安装ffmpeg-4.0tar xf ffmpeg-4.0.tar.gzcd /home/ffmpeg-4.0CFLAGS=-fPIC ./configuremake -j 64make install -j 643、设置PKG_CONFIG_PATH环境变量在/etc/profile最后一行增加如下内容export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH然后执行source /etc/profile使环境变量生效。 4.2 编译安装a52dec-0.7.41、进入/hom目录获取a52dec-0.7.4源码cd /home/wget https://liba52.sourceforge.io/files/a52dec-0.7.4.tar.gz注:如果系统环境无法联网,则手动单击链接https://liba52.sourceforge.io/files/a52dec-0.7.4.tar.gz下载安装包,并上传到系统的/home/目录下。2、修改autotools/config.sub适配aarch64架构vim autotools/config.sub a.修改下述内容,第263行| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \修改后为:| x86 | aarch64 | xscale | xscalee[bl] | xstormy16 | xtensa \b.修改下述内容,第331行| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \修改后为:| x86-* | aarch64-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \3、安装a52dec-0.7.4tar xf a52dec-0.7.4.tar.gzcd /home/a52dec-0.7.4CFLAGS=-fPIC ./configure --enable-sharedmake -j 64make install -j 645 编译安装1、下载VLC 3.0.16源码wget http://get.videolan.org/vlc/3.0.16/vlc-3.0.16.tar.xztar xf vlc-3.0.16.tar.xz注:如果系统环境无法联网,则手动点击http://get.videolan.org/vlc/3.0.16/vlc-3.0.16.tar.xz下载vlc-3.0.16.tar.xz后传到系统/home/路径下。2、进入解压目录cd vlc-3.0.16/3、定义临时PKG_CONFIG_PATH变量export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH4、执行./bootstrap./bootstrap5、执行./configure./configure6、执行make或./compile编译make -j 647、执行make install编译安装make install -j 64  6 验证1、创建非root用户,以vlc为例useradd vlc2、切换到vlc用户su vlc3、查看vlc版本vlc --version注:更多帮着查看vlc --help4、使用vlc播放视频vlc ./xxx.mp4注:需要在桌面环境下执行(无桌面环境会报“window not available”错误),xxx.mp4为视频文件,如果不在当前路径则需要带绝对路径。7 参考信息http://www.videolan.org/https://github.com/videolan/vlc  8 FAQ1、编译ffmpeg-4.0报nasm/yasm not found or too old错误【详细描述】:编译ffmpeg-4.0执行./configure报nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.错误,详细报错如下:nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.If you think configure made a mistake, make sure you are using the latestversion from Git.  If the latest version fails, report the problem to theffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.Include the log file "ffbuild/config.log" produced by configure as this will helpsolve the problem.解答:方法1:先执行yum -y install yasm或yum -y install nasm安装yasm或nasm然后再次执行./configure方法2:直接执行./configure --disable-x86asm 2、编译vlc 3.0.16执行make过程报relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol等错误【详细描述】:执行make过程报relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol等错误,具体报错如下:/usr/bin/ld: /usr/local/lib/libavutil.a(log.o): relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `stderr@@GLIBC_2.17' which may bind externally can not be used when making a shared object; recompile with -fPIC/usr/bin/ld: /usr/local/lib/libavutil.a(log.o)(.text+0x28): unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `stderr@@GLIBC_2.17'/usr/bin/ld: final link failed: bad valuecollect2: error: ld returned 1 exit statusmake[4]: *** [Makefile:18807: libswscale_plugin.la] Error 1make[4]: *** Waiting for unfinished jobs..../usr/bin/ld: /usr/local/lib/libavformat.a(md5proto.o): relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `stdout@@GLIBC_2.17' which may bind externally can not be used when making a shared object; recompile with -fPIC/usr/bin/ld: /usr/local/lib/libavformat.a(md5proto.o)(.text+0xc0): unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `stdout@@GLIBC_2.17'/usr/bin/ld: final link failed: bad valuecollect2: error: ld returned 1 exit statusmake[4]: *** [Makefile:14981: libavio_plugin.la] Error 1make[4]: Leaving directory '/home/vlc-3.0.16/modules'make[3]: *** [Makefile:28009: all-recursive] Error 1make[3]: Leaving directory '/home/vlc-3.0.16/modules'make[2]: *** [Makefile:12802: all] Error 2make[2]: Leaving directory '/home/vlc-3.0.16/modules'make[1]: *** [Makefile:1559: all-recursive] Error 1make[1]: Leaving directory '/home/vlc-3.0.16'make: *** [Makefile:1446: all] Error 2解答:1)、重新编译ffmpeg-4.0,先执行CFLAGS=-fPIC ./configure,然后支持make && make install编译;2)、然后重新编译vlc 3.0.16,先执行./bootstrap,接着执行./configure,然后支持make && make install编译。 
  • [技术干货] ClickHouse v21.3.5.42-lts 搭建指南
    ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646987340697404078.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646987351800259114.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646987357265525917.png) # 1 软件介绍 ClickHouse 是俄罗斯的 Yandex 于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL 查询实时生成分析数据报告。 # 2 环境配置 硬件平台 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646985857636873637.png) 软件平台 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646985883427229002.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646985911997386642.png) # 3 系统配置 ## 3.1 关闭防火墙 ### 3.1.1 停止防火墙。 systemctl stop firewalld.service ### 3.1.2 关闭防火墙。 systemctl disable firewalld.service # 4 软件编译 ## 4.1 依赖组件安装 ### 4.1.1 通过yum源安装相关组件 apt-get install -y gcc gcc-c++ wget bison ncurses ncurses-devel libaio-devel openssl openssl-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel ## 4.2 升级GCC9.3.0 ### 4.2.1 下载ClickHouse v21.3.5.42-lts git clone –b v21.3.5.42-lts https://github.com/ClickHouse/ClickHouse.git ### 4.2.2 拉取依赖仓库源码 cd ClickHouse git submodule update –init --recursive ClickHouse依赖多个仓库,拉取耗时较长,建议空闲时间拉取 ### 4.2.3 配置环境变量。 mkdir build && cd build export CC=clang-11 export CXX=clang++-11 ### 4.2.4 修改文件。 修改contrib/CMakeLists.txt第90行,将WITH_ACLE配置为0 vi contrib/CMakeLists.txt ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646986218906482935.png) ### 4.2.5 修改文件。 复制arrow-cmake配置文件 cp contrib/thrift/build/cmake/config.h.in contrib/arrow-cmake/build/cmake/config.h.in mkversion赋权 chmod a+x contrib/openldap/build/mkversion ### 4.2.6 配置编译选项。 cmake .. –DUSE_INTERNAL_RDKAFKA_LIBRARY=ON –DENABLE_TCMALLOC=OFF –DENABLE_JEMALLOC=OFF –DHAVE_SSE42=OFF –DHAVE_SSE41=OFF –DUSE_UNWIND=OFF v21.3.5.42-lts默认不开启rdkafka支持但底层代码已适配aarch64,如需使用可配置编译选项USE_INTERNAL_RDKAFKA_LIBRARY; 该版本的unwind模块在aarch64下可能会偶发崩溃,该模块主要用于收集ClickHouse异常退出时的调用栈,大部分场景下不影响正常使用,本文档将其关闭,请根据实际需要选择 其余几个模块被关闭(OFF)的原因是相关模块不适配aarch64 配置成功如下 ![](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646986516212942883.png) ### 4.2.7 执行编译 ninja 编译成功显示如下 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646986416273839036.png) # 5 软件运行 ## 5.1 运行ClickHouse ### 5.1.1 复制配置文件 cd .. mkdir /etc/clickhouse-server cp programs/server/config.xml /etc/clickhouse-server cp programs/server/users.xml /etc/clickhouse-server 配置文件的路径请根据自身需要配置 ![](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646986854037267645.png) ### 5.1.2 启动ClickHouse ./build/programs/clickhouse-server --config-file=/etc/clickhouse-server/config.xml 配置文件的路径请根据实际情况指定 ### 5.1.3 使用客户端进行连接 ./build/programs/clickhouse-client ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646986636874322968.png) # 6 软件卸载 ## 6.1 停止ClickHouse。 ps -ef | grep clickhouse kill -9 对应的进程id ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646986963283925335.png) ## 6.2 删除ClickHouse文件夹 rm –rf /home/ClickHouse rm –rf /etc/clickhouse-server # 7 FAQ ## 7.1 编译过程出现“Syntax error”“^M”“unknown type name”之类字样报错 ![](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646987100102392958.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/11/1646987056283599400.png) 原因是代码可能是在windows机器上拉取的,相关文件格式非unix下文本格式,导致相关字符规则不同 处理方法是,针对报错文件进行处理,将其转换成unix下文本,以下以图一报错为例,其他文件可参考以下步骤 vim /home/ClickHouse/contrib/krb5/src/lib/gssapi/generic/gassapi_err_generic.h 输入 :1,$ s/^M//g 然后换行执行,注意这里的^M输入方法是 ctrl v 然后 ctrl m 之后 :set ff=unix ## 7.2 V21以下版本为添加rdkafka支持,需手动合入后续版本的补丁,可以参考以下连接对文件进行修改 https://github.com/ClickHouse/ClickHouse/pull/19369/files/2adcde89f81a69fce1f36326c4b92880f288b8dd # 8 附录 参考文献 https://clickhouse.tech/docs/en/development/build/ https://github.com/ClickHouse/ClickHouse/pull/19369/files/2adcde89f81a69fce1f36326c4b92880f288b8dd
  • [技术干货] panphlan-3.1迁移文档 for openEuler-20.03-LTS-SP1
    1 介绍PanPhlAn提供了一种鉴定,跟踪和系统发育来自宏基因组的单个菌株的方法。它使用系统发育基因组学,或在宏基因组集合中跨菌株存在/缺失基因的共存。建议的版本建议使用版本为“panphlan-3.1”。2 环境要求硬件要求硬件要求如表2-1所示。硬件要求项目说明CPUKunpeng 920 软件要求软件要求如表2-2所示。软件要求操作系统版本openEuler-20.03-LTS-SP1操作系统内核版本4.19.90-2109.1.0.0108.oe1.aarch64Python版本3.7.9Panphlan版本3.1Bowtie2版本2.41Samtools版本1.11 3 依赖库操作步骤1.     安装python3依赖pip3 install numpypip3 install scipypip3 install pandas2.     安装Bowtie2 2.41下载Bowtie2安装包“bowtie2-2.4.1-source.zip”。下载地址:https://jaist.dl.sourceforge.net/project/bowtie-bio/bowtie2/2.4.1/bowtie2-2.4.1-source.zip 具体编译安装参考如下链接:https://support.huaweicloud.com/prtg-kunpenghpcs/kunpengbowtie2_02_0002.html 3.     安装samtools1.11下载地址:https://sourceforge.net/projects/samtools/files/samtools/1.11/samtools-1.11.tar.bz2具体安装步骤参考如下链接:https://support.huaweicloud.com/prtg-kunpenghpcs/kunpenganator_02_0007.html4 安装配置操作步骤下载源码下载链接:https://github.com/SegataLab/panphlan解压tar –zxvf panphlan-3.1.tar.gz5 运行和验证5.1 下载下载宏基因组样本wget https://www.dropbox.com/s/oi26jg0v7ktlavc/panphlan_tutorial_samples.tar.bz2tar -xvjf panphlan_tutorial_samples.tar.bz2 5.2 下载参考基因组python3 panphlan_download_pangenome.py -i Eubacterium_rectale5.3 将样本映射到泛基因组mkdir map_results/python3 panphlan_map.py -i samples_fastq/CCMD34381688ST-21-0.fastq --indexes Eubacterium_rectale/Eubacterium_rectale   -p Eubacterium_rectale/Eubacterium_rectale_pangenome.tsv -o map_results/CCMD34381688ST-21-0_erectale.tsv输出如下内容代表成功:5.4 分析菌株python3 panphlan_profiling.py -i map_results --o_matrix result_profile_erectale.tsv  -p Eubacterium_rectale/Eubacterium_rectale_pangenome.tsv   --add_ref输出如下内容代表成功:可查看生成的结果文件: