华为应用开发学习笔记

解压命令

.tartar -xvf 解压

.gzgzip -d 或者 gunzip 解压

.tar.gz.tgztar -xzf 解压

.bz2bzip2 -d 或者用 bunzip2 解压

.tar.bz2tar -xjf 解压

.Zuncompress 解压

.tar.Ztar -xZf 解压

.tar.xzjxvf 解压

.rarunrar e 解压

.zipunzip 解压


使用rpmbuild命令将源码打包成rpm包。


公共镜像:常见的标准操作系统镜像。

私有镜像:个人镜像,仅用户自己可见。

共享镜像:由其他用户共享的私有镜像。

市场镜像:提供预装操作系统、应用环境和各类软件的优质第三方镜像。


Linux安装软件方式

源码安装

  • 可以自定义安装目录和一些配置文件
  • 需要事先调整编译参数

yum安装软件

  • 全自动安装,自动安装依赖
  • 缺乏自主性,软件的功能和存放的位置均已设置好

RPM安装

  • 自主制作的RPM包能够实现全自动安装,且可自动以安装路径等配置
  • 需提前识别依赖并手动安装

数据库配置文件

props.oraOracle

props.pgPostgreSQL

Props.fbFireBirdSQL

Props.gbGuassDB

Props.perconapercona

华为云服务中的鲲鹏云手机服务的特性

  • 原生指令兼容性
  • 32/64位应用全兼容
  • ARM原生指令兼容性
  • Monbox双OS共内核架构
  • 单台服务器超200路并发
  • 性能较模拟器提升10倍以上
  • 自研芯片及硬件底座
  • 华为鲲鹏916/920芯片
  • 自研高性能GPU

华为云鲲鹏云手机结合华为在操作系统、虚拟化以及容器等方面技术深厚积累,构建高密MonBox仿真软件架构,相比同等性能x86服务器构造方案,性能提升高达10倍以上,并完美兼容32位与64位的应用。

华为云服务器应用场景

计算加速型 : AI训练、推理

内存密集型KM1 :Redis、Cassandra内存数据库

存储密集型KI1 :分布式缓存数据库、大数据

通用计算型KC1 :建站、电商、游戏、视频、大数据、HPC等

通用型KS1 :大数据管理节点、NameNode、HPC等

存储型KD1 :大数据数据节点、DataNode、Kafka等


openEuler1.0是一款开源操作系统,支持鲲鹏、至强及其他多种处理器,能充分释放计算芯片的潜能


iSula特点

iSula 通用容器引擎(iSulad)是一种新的容器解决方案,具有以下特点:

  • 快速灵活&轻量级
  • 可信&安全启动
  • 升级不中断业务
  • 增强安全性和调测特性

iSula部署模式

iSula 通用容器引擎(iSulad)是一种新的容器解决方案,提供统一的架构设计来满足CT和IT领域的不同需求。相比 Golang 编写的 Docker,轻量级容器具有轻、灵、巧、快的特点,不受硬件规格和架构的限制,底噪开销更小,可应用领域更为广泛。openEuler 1.0 中提供容器运行的基础平台iSula。

容器根据部署模型可以分成三种模型:应用容器安全容器系统容器

应用容器

应用最广泛的容器形态,容器中仅运行客户定义的应用程序。openEuler 1.0 集成 moby 18.09 版本,并在版本基础上进行了 bugfix 和稳

定性增强。

安全容器

本质上是虚拟机,但是接口封装为容器接口;着重容器的隔离性缺陷。openEuler 1.0 集成 kata-container1.7 版本,在社区版本的基础

上,进行了稳定性和可靠性加固,增加了异构计算支持,更适于生产环境的 Host CGroup 配置与 DPDK/SPDK 高性能网络、存储支持。

系统容器

本质上是容器,但是使用方式和虚拟机相同;着重解决虚拟机的厚重问题。iSula 容器平台支持创建系统容器,并能支持在系统容器内动

态调整设备、运行资源,且提供更优秀的 user namespace 隔离。


华为鲲鹏920处理器内置了3大加速引擎:ssl加速引擎加解密加速引擎压缩解压缩加速引擎


华为计算服务适用场景

高性能计算型:可适用于基因工程、游戏动画、生物制药的计算和存储系统;渲染农场、动漫影视基地等公共渲染平台,以及影视等渲染

平台;高性能前端集群、Web 服务器、高性能科学和工程应用、广告服务、视频编码和分布式分析等等

计算加速型 : AI训练、推理

内存密集型KM1 :Redis、Cassandra内存数据库

存储密集型KI1:分布式缓存数据库、大数据

通用计算型KC1:建站、电商、游戏、视频、大数据、HPC等

通用型KS1:大数据管理节点、NameNode、HPC等

存储型KD1:大数据数据节点、DataNode、Kafka等

TPCC衡量标准

tpmC(NewOrders):每分钟处理的订单个数

tpmTOTAL(TPS):每分钟处理的总数

华为云通过的国际认证

近日,全球权威标准机构BSI(英国标准协会)和CSA(云安全联盟)宣布,华为云顺利通过ISO 27001& ISO 27017&ISO 27018&CSA STAR四个安全复审和认证。

容灾指标

业界领先:跨AZ RPO=0,RTO< 30分钟,确保数据零丢失,业务快速恢复。

最高等级:快速构建云上两地三中心,同城双中心可达Tier5~Tier6容灾等级。

专属安全:物理隔离,满足安全合规要求,相比客户自建容灾中心免基础设施运维。

云计算的特征

1.按需自助服务,消费者不需要或很少需要云服务提供商的协助,就可以单方面按需获取云端的计算资源。

2.广泛的网络接入,消费者可以随时随地使用云终端设备接入网络并使用云端的计算资源。常见的云终端设备包括手机、平板、笔记本电

脑、PDA掌上电脑和台式机等。

3.资源池化,云端计算资源需要被池化,以便通过多租户形式共享给多个消费者,也只有池化才能根据消费者的需求动态分配或再分配各

种物理的和虚拟的资源。消费者通常不知道自己正在使用的计算资源的确切位置,但是在自助申请时允许指定大概的区域范围(比如在哪

个国家、哪个省或者哪个数据中心)。

4.快速弹性伸缩。消费者能方便、快捷地按需获取和释放计算资源,也就是说,需要时能快速获取资源从而扩展计算能力,不需要时能迅

速释放资源,以便降低计算能,从而减少资源的使用费用。对于消费者来说,云端的计算资源是无限的,可以随时申请并获取任何数量的

计算资源。但是我我们一定要消除一个误解,那就是一个实际的云计算系统不一定是投资巨大的工程,也不一定要购买成千上万台计算

机,也不一定具备超大规模的运算能力。其实一台计算机就可以组建一个最小的云端,云端建设方案务必采用可伸缩性策略,刚开始时采

用几台计算机,然后根据用户数量规模来增减计算资源。

5.可计量服务,消费者使用云端计算资源是要付费的,付费的计量方法有很多,比如根据某类资源(如存储、CPU、内存、网络带宽等)

的使用量和时间长短计费,也可以按照每使用一次来计费。但不管如何计费,对消费者来说,价码要清楚,计量方法要明确,而云服务提

供商需要监视和控制资源的使用情况,并及时输出各种资源的使用报表,做到供/需双方费用结清清楚楚、明明白白。

云计算的四种部署模型

私有云

云端资源只给一个单位组织内的用户使用,这是私有云的核心特征。而云端的所有权、日程管理和操作的主体到底属于谁并没有严格的规

定,可能是本单位,也可能是第三方机构,还可能是二者的联合。云端可能位于本单位内部,也可能托管在其他地方。

社区云

云端资源专门给固定的几个单位内的用户使用,而这些单位对云端具有相同的诉求(如安全要求、云端使命、规章制度、合规性要求

等)。云端的所有权、日常管理的操作的主体可能是本社区内的一个或多个单位,也可能是社区外的第三方机构,还可能是二者的联合。

云端可能部署在本地,也可能部署与他处。

公共云

云端资源开发给社会公众使用。云端的所有权、日常管理和操作的主体可以是一个商业组织、学术机构、政府部门或者它们其中的几个联

合。云端可能部署在本地,也可能部署于其他地方,比如中山市民公共云的云端可能就建在中山,也可能建在深圳。

混合云

混合云由两个或两个以上不同类型的云(私有云、社区云、公共云)组成,它们各自独立,但用标准的或专有的技术将它们组合起点,而

这些技术能实现云之间的数据和应用程序的平滑流转。由多个相同类型的云组合在一起,混合云属于多云的一种。私有云和公共云构成的

混合云是目前最流行的——当私有云资源短暂性需求过大(称为云爆发,Cloud Bursting)时,自动租赁公共云资源来平抑私有云资源

的需求峰值。例如,网店在节假日期间点击量巨大,这时就会临时使用公共云资源的应急。

云计算的3种服务模式

SaaS

软件即服务(Software as a Service,SaaS),云服务提供商把IT系通中的应用软件层作为服务租出去,消费者不用自己安装应用软件,直

接使用即可,这进一步降低了云服务消费者的技术门槛。

PaaS

平台即服务(Platform as a Service,PaaS)。云服务提供商把IT系统中的平台软件层作为服务租出去,消费者自己开发或者安装程序,

并运行程序。

IaaS

基础设施及服务(Infrastructure as a Service,IaaS)。云服务提供商把IT系统的基础设施层作为服务租出去,由消费者自己安装操作系

统、中间件、数据库和应用程序。

云硬盘的类型

普通IO

该类型云硬盘的最大IOPS为2200,适用于大容量读写速率中等事务性处理较少的应用场景,例如企业的日常办公应用或者小型测试

高速高IO

该类型云硬盘的最大IOPS可达5000最低读写时延为1 ms适用于主流的高性能、高可靠应用场景,例如企业应用、大型开发测试以及

Web服务器日志等。

超高IO

该类型云硬盘的最大IOPS可达33000最低读写时延为1 ms适用于超高IO、超大带宽的读写密集型应用场景,例如高性能计算应用场

景,用来部署分布式文件系统,或者I/O密集型应用场景,用来部署各类NoSQL/关系型数据库。

超高IO (时延优化)

该类型的云硬盘提供低至1 ms的读写时延和高达1 GB/s的吞吐量,可运行企业核心业务,如SAP HANA。

docker ps -a显示标题含义

CONTAINER ID:容器的唯一表示ID。

IMAGE:创建容器时使用的镜像。

COMMAND:容器最后运行的命令。

CREATED:创建容器的时间。

STATUS:容器状态。

PORT::对外开放的端口。


CPU性能和网络带宽都会影响HPC性能


–mcpu=tsv110GNU9编译器对鲲鹏架构进行指定优化的参数。


RPM常用命令

安装软件:执行rpm -ivh rpm包名,如: #rpm -ivh apache-1.3.6.i386.rpm

升级软件:执行rpm -Uvh rpm包名

反安装:执行rpm -e rpm包名

查询软件包的详细信息:执行rpm -qpi rpm包名

查询某个文件是属于那个rpm包:执行rpm -qf rpm包名

查该软件包会向系统里面写入哪些文件:执行 rpm -qpl rpm包名

TaiShan服务器适用场景

  • TaiShan 5280:存储型服务器
  • TaiShan 2280:均衡型服务器
  • TaiShan X6000:高密型服务器
  • TaiShan 2480: 2U4路高性能型

设置CPU的亲和性

  • echo cpuMask>/proc/irq/smp affinity- list
  • numactl命令
  • C语言的sched setaffinity函数

在从x86平台向鲲鹏处理器迁移软件时,技术分析阶段需要完成以下哪些活动?

  • 软件栈分析(应用软件、OS、数据库、中间件组件等)
  • 编程语言/代码、依赖库分析
  • 准备调试编译环境(准备测试样机服务器/OpenLab线上服务器)
  • 成立项目组
  • 制定迁移计划
  • 协调相关人力/物料资源

主要活动为

  • 软件栈分析、制定迁移替换策略
  • 申请线上资源/测试样机上架上电
  • 安装OS/编译器/JDK/其他工具软件

GNU

1984年有Richard Stallman发起并创建,意在创造一个自由使用、自由学习和修改、自由分发、自由创建衍生版软件的环境。

GNU目标是编写大量兼容于Unix系统的自由软件

GPL

  • 通用性公开许可证,开源协议
  • 自由软件的通用许可证
  • 允许用户任意复制、传递、修改及再发布
  • 基于自由软件修改再次发布的软件,仍需遵循GPL

LGPL

  • 相对于GPL较为宽松,允许不公开全部源代码
  • 为基于Linux平台开发商业软件提供了更多空间

OpenEuler的技术特性

系统安装:openEuler 1.0 改进了安装程序 Anaconda,并做了个性化定制和修改,方便用户安装。

定制/剪裁:openEuler 1.0 提供优化的 kiwi 工具对系统进行个性化的自定义修改。

文件系统:openEuler 1.0 中使用的默认文件系统是ext4,兼容ext3/2文件系统。openEuler 1.0 支持高性能日志文件系统XFS。

系统管理:openEuler 1.0 使用 systemd 进行系统和服务的管理,systemd 与 SysV 和 Linux 标准的 init 脚本兼容。

系统安全:openEuler 1.0 提供多重安全手段,包括身份识别与认证、安全协议、强制访问控制、完整性保护、安全审计等安全机制,保

障操作系统的安全性,为各类上层应用提供安全基础。

系统调测:openEuler 1.0 支持Perf性能调测工具和blktrace块设备I/O跟踪工具。

编译器:openEuler 1.0 基于原生GCC进行了Bug修复、特性增强;同时openEuler 1.0提供Huawei Open JDK支持,相比较Open JDK,

Huawei Open JDK作了优化、稳定性增强、安全增强等。

内核:openEuler 1.0 采用 kernel 版本 4.19。Linux Kernel 4.19 是一个 LTS 版本,提供长期支持并持续更新版本,以保障用户的

Linux 操作系统安全、可靠。

PostgreSQL常用命令

登陆数据库:/home/pgsql/bin/psql -U postgres

初始化数据库: /home/pgsql/bin/initdb -D pgsql/

启动数据库: /home/pgsql/bin/pg_ctl -D pgsql/ -l logfile start

BenchmarkSQL配置文件参数

warehouse:指定仓库数量。

loadWorkers:指定装载数据的并发数。

Terminals:指定并发用户数。

runMins:指定测试时间。

runTxnsPerTerminal:指定每个Terminal运行的事务数量,runMins必须等于0。

limitTxnsPerMin:指定每分钟总事务数。

terminalWarehouseFixed:指定每个终端是否绑定固定warehouse。

HCS Online主打应用场景

  • 行业云场景

  • HCSO+HPC场景

  • HCSO+灾备场景

  • 智能大数据场景

  • 多级混合云场景

鲲鹏处理器优点

  • 采用ARM架构,同样功能性能占用的芯片面积小、功耗低、集成度更高,更多的硬件CPU核具备更好的并发性能。
  • 支持16位、32位、64位多种指令集,能很好的兼容从IoT、终端到云端的各类应用场景。
  • 大量使用寄存器,大多数数据操作都在寄存器中完成,指令执行速度更快。
  • 采用RISC指令集,指令长度固定,寻址方式灵活简单,执行效率高。

HiBench

开源的大数据基准测试套件。

用于评估大数据框架的速度,吞吐量和系统资源利用率

支持的框架:hadoopbench、sparkbench、stormbench、flinkbench、gearpumpbench。

支持的开源版本组件:Hadoop、Spark、Storm、Kafka、Flink。

目前使用较多的版本:HiBench-7.0。

共计19个测试方向,可分为6种测试类别。

软件迁移过程

技术分析->编译迁移->功能验证->性能调优->规模商用

容灾

容灾系统是指在相隔较远的异地,建立两套或多套功能相同的IT系统,互相之间可以进行健康状态监视和功能切换,当一处系统因意外

(如火灾、地震等)停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。容灾技术是系统的高可用性技术

的一个组成部分,容灾系统恢复功能。

数据库容灾

数据库容灾,即在异地部署一个一模一样的数据库,一个数据库所处的地理位置发生自然灾害了导致当前数据库发生灾难,另一个数据库会立马顶替工作。

冷备容灾

每天备份一次数据库,保存在磁带或光盘上。

热备容灾

建立数据库灾备中心,与主库实时进行数据同步,同时应用系统保持文件实时同步,保证引用系统版本最新。

应用双活

双活容灾即灾备系统中使主生产端数据库和备机端数据库同时在线运行,处于可读可查询的状态的技术。

SHARE78容灾备份标准等级

真正的容灾必须满足三个要素

  1. 系统中的部件
  2. 数据都具有冗余性,即一个系统发生故障
  3. 容灾系统要追求全部的数据复制,也称为容灾的”3R”(Redundance、Remote、Replication)

​ 从简单的仅在本地进行磁带备份,到将备份的磁带存储在异地,再到建立应用系统实时切换的异地备份系统,恢复时间也可以从

几天到小时级到分钟级、秒级或零数据丢失等。目前针对这七个层次,都有相应的容灾方案,所以,用户在选择容灾方案时应重点区

分它们各自的特点和适用范围,结合自己对容灾系统的要求判断选择哪个层次的方案。

零级 无异地备份

零级容灾方案数据仅在本地进行备份,没有在异地备份数据,未制定灾难恢复计划。这种方式是成本低的灾难恢复解决方案,但不具

备真正灾难恢复能力。

特点:是用户投资较少,技术实现简单。

缺点:是一旦本地发生毁灭性灾难,将丢失全部的本地备份数据,业务无法恢复。

一级 实现异地备份

进行本地数据备份,然后将备份介质送往异地存放。异地未建容灾备份中心,没有灾难恢复计划。

该方案成本较低,运用本地备份管理软件,可以在本地发生毁灭性灾难后,恢复从异地运送过来的备份数据到本地,进行业务恢复,

但难以管理。

二级 热备份站点备份

将关键数据进行备份并存放到异地,制定有相应灾难恢复计划,具有热备份能力的站点灾难恢复。一旦发生灾难,利用热备份主机系

统将数据恢复。

该容灾方案由于备份介质是采用交通运输方式送往异地,异地热备中心保存的数据是上一次备份的数据,可能会有几天甚至几周的数

据丢失。这对于关键数据的容灾是不能容忍的。

三级 在线数据恢复

通过网络将关键数据进行备份并存放至异地,制定有相应灾难恢复计划,有备份中心,并配备部分数据处理系统及网络通信系统。特

点:用电子数据传输取代交通工具传输备份数据,从而提高了灾难恢复的速度。

该方案由于备份站点要保持持续运行,对网络的要求较高,因此成本相应有所增加。利用异地的备份管理软件将通过网络传送到异地

的数据备份到主机系统。一旦灾难发生,需要的关键数据通过网络可迅速恢复,通过网络切换,关键应用恢复时间可降低到天(数量

1)或小时级。

四级 定时数据备份

该方案是在第三级容灾方案的基础上,利用备份管理软件自动通过通信网络将部分关键数据定时备份至异地,并制定相应的灾难恢复

计划。一旦灾难发生,利用备份中心已有资源及异地备份数据恢复关键业务系统运行。

该方案由于对备份管理软件设备和网络设备的要求较高,因此投入成本也会增加。但由于该级别备份的特点,业务恢复时间和数据的

丢失量还不能满足关键行业对关键数据容灾的要求。

五级 实时数据备份

在前面几个级别的基础上使用了硬件的镜像技术和软件的数据复制技术,可以实现在应用站点与备份站点的数据都被更新。数据在两

个站点之间相互镜像,由远程异步提交来同步,因为关键应用使用了双重在线存储,所以在灾难发生时,仅仅很小部分的数据被丢

失,恢复的时间被降低到了分钟级或秒级。

由于对存储系统和数据复制软件的要求较高,所需成本也大大增加。该方案由于既能保证不影响当前交易的进行,又能实时复制交易

产生的数据到异地,所以这一层次的方案是目前应用较常见的一类产品容灾解决方案。

六级 零数据丢失

该方案是灾难恢复中较昂贵的方式,也是速度较快的恢复方式,它是灾难恢复的级别中的佼佼者,利用专用的存储网络将关键数据同

步镜像至备份中心,数据不仅在本地进行确认,而且需要在异地(备份)进行确认。

因为,数据是镜像地写到两个站点,所以灾难发生时异地容灾系统保留了全部的数据,实现零数据丢失。要求实现远程实时备份,数

据零丢失;备份中心具备与生产中心一致的处理能力,可实现业务的实时无缝切换,即业务接管。

鲲鹏通用计算型KC1

  • CPU:MEM = 1:2/1:4
  • 最高30G内网带宽
  • 400万PPS

Tai Shan5280存储型服务器支持RAID 0/1/10/1E/5/50/6/60



评论

2019-2020 元小元科技 鄂ICP备19020398号-2 正在载入...