移植指南 - huawei...

203
鲲鹏软件栈 应用工具 移植指南 文档版本 03 发布日期 2020-08-06 华为技术有限公司

Upload: others

Post on 23-Jan-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

鲲鹏软件栈 应用工具

移植指南

文档版本 03

发布日期 2020-08-06

华为技术有限公司

Page 2: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

版权所有 © 华为技术有限公司 2021。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明

和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 i

Page 3: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

目 录

1 移植 FastDFS.............................................................................................................................. 11.1 移植指导......................................................................................................................................................................................11.2 故障排除......................................................................................................................................................................................6

2 移植 Netperf............................................................................................................................ 10

3 移植 wrk................................................................................................................................... 13

4 安装 Samba..............................................................................................................................16

5 安装 WordPress.......................................................................................................................19

6 安装 Joomla............................................................................................................................. 26

7 移植 Tesseract......................................................................................................................... 29

8 移植 Varnish............................................................................................................................ 33

9 安装 YARN................................................................................................................................ 36

10 安装 bcrypt............................................................................................................................ 39

11 移植 curl................................................................................................................................. 4211.1 移植指导................................................................................................................................................................................. 4211.2 故障排除................................................................................................................................................................................. 44

12 安装 Docker........................................................................................................................... 4512.1 介绍......................................................................................................................................................................................... 4512.2 安装与部署(Ubuntu)..................................................................................................................................................... 4612.2.1 准备环境............................................................................................................................................................................. 4612.2.2 执行安装............................................................................................................................................................................. 4612.2.3 启动软件............................................................................................................................................................................. 4712.3 安装与部署(CentOS)..................................................................................................................................................... 4812.3.1 准备环境............................................................................................................................................................................. 4812.3.2 执行安装............................................................................................................................................................................. 4812.3.3 启动软件............................................................................................................................................................................. 49

13 移植 Fio...................................................................................................................................50

14 安装 Fluentd.......................................................................................................................... 53

15 移植 iPerf............................................................................................................................... 55

鲲鹏软件栈 应用工具移植指南 目 录

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 ii

Page 4: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

15.1 移植指导................................................................................................................................................................................. 5515.2 故障排除................................................................................................................................................................................. 57

16 安装 Kibana........................................................................................................................... 59

17 安装 Robot Framework.......................................................................................................62

18 安装 rsync.............................................................................................................................. 64

19 移植 ZFS..................................................................................................................................6719.1 移植指导................................................................................................................................................................................. 6719.2 故障排除................................................................................................................................................................................. 70

20 移植 Zstd................................................................................................................................ 72

21 安装 catj................................................................................................................................. 75

22 移植 DHCP............................................................................................................................. 78

23 移植 fping.............................................................................................................................. 81

24 移植 FreeType2..................................................................................................................... 84

25 移植 GDAL..............................................................................................................................87

26 安装 Glassfish........................................................................................................................90

27 移植 hping............................................................................................................................. 9327.1 移植指导................................................................................................................................................................................. 9327.2 故障排除................................................................................................................................................................................. 95

28 移植 http_load...................................................................................................................... 96

29 移植 iniparser........................................................................................................................99

30 安装 iRedMail..................................................................................................................... 103

31 安装 JpegOptim..................................................................................................................106

32 安装 lftp............................................................................................................................... 108

33 移植 libconfig......................................................................................................................110

34 移植 log4cpp....................................................................................................................... 113

35 移植 Lsyncd......................................................................................................................... 116

36 移植 lzop.............................................................................................................................. 119

37 移植 LZO.............................................................................................................................. 122

38 安装 OptiPNG..................................................................................................................... 125

39 安装 pflask...........................................................................................................................127

40 移植 pigz.............................................................................................................................. 129

41 安装 psutil........................................................................................................................... 132

鲲鹏软件栈 应用工具移植指南 目 录

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 iii

Page 5: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

42 安装 PyEnchant.................................................................................................................. 134

43 移植 Snappy........................................................................................................................ 137

44 移植 vsftpd.......................................................................................................................... 140

45 安装 Xfce.............................................................................................................................. 143

46 安装 NFS...............................................................................................................................147

47 安装信呼 OA 系统................................................................................................................150

48 移植 OpenLDAP.................................................................................................................. 15648.1 移植指导.............................................................................................................................................................................. 15648.2 故障排除.............................................................................................................................................................................. 158

49 移植 Solr...............................................................................................................................15949.1 移植指导.............................................................................................................................................................................. 15949.2 故障排除.............................................................................................................................................................................. 161

50 移植 Sphinx......................................................................................................................... 163

51 安装 Sysbench.....................................................................................................................166

52 移植 Web Bench................................................................................................................. 171

53 移植 Guacamole................................................................................................................. 173

54 安装 OpenMRS................................................................................................................... 177

55 安装 JMeter......................................................................................................................... 180

56 移植 Httperf........................................................................................................................ 183

57 移植 IOzone.........................................................................................................................186

58 移植 Puppeteer...................................................................................................................189

59 移植 Nmap...........................................................................................................................19259.1 移植指导.............................................................................................................................................................................. 19259.2 故障排除.............................................................................................................................................................................. 194

60 移植 Tsung........................................................................................................................... 195

A 修订记录................................................................................................................................. 198

鲲鹏软件栈 应用工具移植指南 目 录

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 iv

Page 6: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

1 移植 FastDFS

1.1 移植指导

介绍

简要介绍

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

编写语言:C/C++

一句话概述:轻量级分布式文件系统

建议的版本

说明

FastDFS官网源码暂时无法下载,此次测试代码均取自于Github。

● 建议使用版本为“5.11”

● 获取软件的链接:https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表1-1所示。

表 1-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

鲲鹏软件栈 应用工具移植指南 1 移植 FastDFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 1

Page 7: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

操作系统要求

操作系统要求如表1-2所示。

表 1-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

Kernel 4.14.0 在公共镜像中已提供。

编译和安装

步骤1 安装FastDFS依赖环境。

yum install gcc-c++ -y

yum install pcre pcre-devel openssl ssl-devel perl-devel -y

步骤2 安装FastDFS依赖包libfastcommon。

cd /usr/local/src

wget https://github.com/happyfish100/libfastcommon/archive/V1.0.38.tar.gz

tar -zxvf V1.0.38.tar.gz

cd libfastcommon-1.0.38/

./make.sh

./make.sh install

步骤3 安装FastDFS。

cd /usr/local/src

wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz

tar -zxvf V5.11.tar.gz

cd fastdfs-5.11/

./make.sh

./make.sh install

步骤4 将配置文件复制到系统为fdfs预设的目录。

cd /usr/local/src/fastdfs-5.11/conf

cp mime.types http.conf /etc/fdfs/

步骤5 查看安装FastDFS过程中产生的可执行文件。

ls -la /usr/bin/fdfs*

显示类似如下内容表示安装成功。

-rwxr-xr-x 1 root root 381896 Jul 9 14:45 /usr/bin/fdfs_appender_test-rwxr-xr-x 1 root root 381680 Jul 9 14:45 /usr/bin/fdfs_appender_test1

鲲鹏软件栈 应用工具移植指南 1 移植 FastDFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 2

Page 8: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

-rwxr-xr-x 1 root root 372592 Jul 9 14:45 /usr/bin/fdfs_append_file-rwxr-xr-x 1 root root 372392 Jul 9 14:45 /usr/bin/fdfs_crc32-rwxr-xr-x 1 root root 372624 Jul 9 14:45 /usr/bin/fdfs_delete_file-rwxr-xr-x 1 root root 373360 Jul 9 14:45 /usr/bin/fdfs_download_file-rwxr-xr-x 1 root root 372976 Jul 9 14:45 /usr/bin/fdfs_file_info-rwxr-xr-x 1 root root 382640 Jul 9 14:45 /usr/bin/fdfs_monitor-rwxr-xr-x 1 root root 1138424 Jul 9 14:45 /usr/bin/fdfs_storaged-rwxr-xr-x 1 root root 387728 Jul 9 14:45 /usr/bin/fdfs_test-rwxr-xr-x 1 root root 386984 Jul 9 14:45 /usr/bin/fdfs_test1-rwxr-xr-x 1 root root 520352 Jul 9 14:45 /usr/bin/fdfs_trackerd-rwxr-xr-x 1 root root 373584 Jul 9 14:45 /usr/bin/fdfs_upload_appender-rwxr-xr-x 1 root root 374616 Jul 9 14:45 /usr/bin/fdfs_upload_file

步骤6 配置FastDFS。

分别对tracker,storage,client进行配置。

1. 创建目录。

mkdir /home/fastdfs/tracker -pmkdir /home/fastdfs/storage -pcd /etc/fdfs/

2. 配置tracker。cp tracker.conf.sample tracker.confvi tracker.conf将内容修改为“base_path=/home/fastdfs/tracker”和“thread_stack_size =128KB”,如下面加粗部分所示:# the base path to store data and log filesbase_path=/home/fastdfs/tracker......# thread stack size, should >= 64KB# default value is 64KBthread_stack_size = 128KB

3. 启动tracker。/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

4. 配置storage。

cd /etc/fdfs/cp storage.conf.sample storage.confvi storage.conf将内容修改为“base_path=/home/fastdfs/storage”、“store_path0=/home/fastdfs/storage”和“tracker_server=XX.XX.XX.XX:22122”。

说明

“tracker_server”中的“XX.XX.XX.XX”为本机的虚拟IP地址,可以通过ifconfig命令查询获取。

修改后的内容,如下面加粗部分所示,其中“192.168.1.206”为示例,应根据实际虚拟IP地址填写。# the base path to store data and log filesbase_path=/home/fastdfs/storage...# store_path#, based 0, if store_path0 not exists, it's value is base_path# the paths must be existstore_path0=/home/fastdfs/storage#store_path1=/home/yuqing/fastdfs2.....# tracker_server can ocur more than once, and tracker_server format is

鲲鹏软件栈 应用工具移植指南 1 移植 FastDFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 3

Page 9: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

# "host:port", host can be hostname or ip addresstracker_server=192.168.1.206:22122

5. 启动storage。

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start6. 查看storage启动日志。

vi /home/fastdfs/storage/logs/storaged.log查看 后几行,显示类似如下所示,表示启动成功。[2019-07-09 17:03:51] INFO - file: tracker_client_thread.c, line: 310, successfully connect to tracker server 192.168.1.206:22122, as a tracker client, my ip is 192.168.1.206[2019-07-09 17:04:21] INFO - file: tracker_client_thread.c, line: 1263, tracker server 192.168.1.206:22122, set tracker leader: 192.168.1.206:22122

7. 配置client。cd /etc/fdfs/cp client.conf.sample client.confvi client.conf将内容修改为“base_path=/home/fastdfs/tracker”和“tracker_server=XX.XX.XX.XX:22122”。

说明

“tracker_server”中的“XX.XX.XX.XX”为本机的虚拟IP地址,可以通过ifconfig命令查询获取。

修改后的内容,如下面加粗部分所示,其中“192.168.1.206”为示例,应根据实际虚拟IP地址填写。# the base path to store log filesbase_path=/home/fastdfs/tracker......# tracker_server can ocur more than once, and tracker_server format is# "host:port", host can be hostname or ip addresstracker_server=192.168.1.206:22122

步骤7 安装和配置fastdfs-nginx-module。

1. 安装fastdfs-nginx-module。

cd /usr/local/srcwget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gztar -zxvf V1.20.tar.gz

2. 配置fastdfs-nginx-module的“config”文件。

cd /usr/local/src/fastdfs-nginx-module-1.20/src/vi config按照如下加粗所示,修改“ngx_module_incs”和“CORE_INCS”。ngx_addon_name=ngx_http_fastdfs_module

if test -n "${ngx_module_link}"; then ngx_module_type=HTTP ngx_module_name=$ngx_addon_name ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/" ngx_module_libs="-lfastcommon -lfdfsclient" ngx_module_srcs="$ngx_addon_dir/ngx_http_fastdfs_module.c" ngx_module_deps= CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -

鲲鹏软件栈 应用工具移植指南 1 移植 FastDFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 4

Page 10: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'" . auto/moduleelse HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module" NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c" CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/" CORE_LIBS="$CORE_LIBS -lfastcommon -lfdfsclient" CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"fi

3. 配置fastdfs-nginx-module的“mod_fastdfs.conf”文件。

cp /usr/local/src/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/vi /etc/fdfs/mod_fastdfs.conf将内容修改为“base_path=/home/fastdfs”、“tracker_server=XX.XX.XX.XX:22122”、“url_have_group_name = true”和“store_path0=/home/fastdfs/storage”。

说明

“tracker_server”中的“XX.XX.XX.XX”为本机的虚拟IP地址,可以通过ifconfig命令查询获取。

修改后的内容,如下面加粗部分所示,其中“192.168.1.206”为示例,应根据实际虚拟IP地址填写。# the base path to store log filesbase_path=/home/fastdfs......# FastDFS tracker_server can ocur more than once, and tracker_server format is# "host:port", host can be hostname or ip address# valid only when load_fdfs_parameters_from_tracker is truetracker_server=192.168.1.206:22122......# if the url / uri including the group name# set to false when uri like /M00/00/00/xxx# set to true when uri like ${group_name}/M00/00/00/xxx, such as group1/M00/xxx# default value is falseurl_have_group_name = true.......# store_path#, based 0, if store_path0 not exists, it's value is base_path# the paths must be exist# must same as storage.confstore_path0=/home/fastdfs/storage

步骤8 安装和配置Nginx。

1. 安装Nginx。

cd /usr/local/src/wget http://nginx.org/download/nginx-1.15.2.tar.gztar -zxvf nginx-1.15.2.tar.gzcd nginx-1.15.2./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/fastdfs-nginx-module-1.20/src/make &&make install

2. 配置Nginx。

cd /usr/local/nginx/conf/vi nginx.conf

鲲鹏软件栈 应用工具移植指南 1 移植 FastDFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 5

Page 11: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

server {listen80;server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;location ~/M00{root /home/fastdfs/storage/data;ngx_fastdfs_module;}

location / {root html;index index.html index.htm;}}

----结束

运行和验证

步骤1 启动nginx

cd /usr/local/nginx/sbin/

./nginx

步骤2 测试。

1. 生成测试文件。

cd /usr/local/srctouch a.txtvi a.txt插入如下内容并保存。kungpeng test fastdfs ok!

2. 生成文件链接

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf a.txt回显信息如下:[root@ecs-001 src]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf a.txtgroup1/M00/00/00/wKgBzl0khdiAWJcGAAAAGmbRVtQ604.txt

记录返回的信息为“group1/FAST/00/00/wKgBzl0khdiAWJcGAAAAGmbRVtQ604.txt”。

3. 放通云服务器安全组中入口规则里的80端口,在浏览器中输入“http://[ECS IP]:80/group1/M00/00/00/wKgBzl0khdiAWJcGAAAAGmbRVtQ604.txt”可以看到返回的“a.txt”相关信息。

----结束

1.2 故障排除

问题一:运行 tracker 过程中提示错误

问题描述:运行tracker过程中查看日志提示如下错误:

vi /home/fastdfs/tracker/logs/trackerd.log

鲲鹏软件栈 应用工具移植指南 1 移植 FastDFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 6

Page 12: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

[2019-07-09 14:49:32] ERROR - file: pthread_func.c, line: 120, call pthread_attr_setstacksize to 65536 fail, errno: 22, errorinfo: Invalid argument[2019-07-09 14:49:32] ERROR - file: tracker_service.c, line: 78, init_pthread_attr fail, program exit![2019-07-09 14:49:32] CRIT - exit abnormally!

问题原因:线程配置的存储空间不够。

解决方法:

1. 修改tracker线程的存储空间,从64KB改为128KB。

vi /etc/fdfs/tracker.conf修改内容如下面加粗部分所示。# thread stack size, should >= 64KB# default value is 64KBthread_stack_size = 128KB

2. 修改完成后,重启fdfs。ps -ef | grep fdfs_回显信息如下:[root@ecs-001 fdfs]# ps -ef | grep fdfs_root 7489 1 0 17:03 ? 00:00:01 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf startroot 7502 1 0 17:03 ? 00:00:01 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf startroot 17855 23849 0 20:36 pts/0 00:00:00 grep --color=auto fdfs_

3. 找到tracker的进程号为7489,停止后重新启动。

kill -9 7489/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

4. 再次查看进程,tracker的进程号已经改变。

ps -ef | grep fdfs_回显信息如下:[root@ecs-001 fdfs]# ps -ef | grep fdfs_root 7502 1 0 17:03 ? 00:00:01 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf startroot 17938 1 0 20:37 ? 00:00:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf startroot 17965 23849 0 20:38 pts/0 00:00:00 grep --color=auto fdfs_

问题二:用浏览器访问测试时失败

问题描述:通过浏览器访问生成的“a.txt”文件时,即在浏览器中输入“http://[ECSIP]:80/group1/M00/00/00/wKgBzl0khdiAWJcGAAAAGmbRVtQ604.txt”时失败。查看Nginx错误日志:

vi /usr/local/nginx/logs/error.log

内容示例如下:

[2019-07-09 16:45:06] INFO - fastdfs apache / nginx module v1.15, response_mode=proxy, base_path=/home/fastdfs, url_have_group_name=0, group_name=group1, storage_server_port=23000, path_count=1, store_path0=/home/fastdfs, connect_timeout=2, network_timeout=30, tracker_server_count=1, if_alias_prefix=, local_host_ip_count=2, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff length=0, load_fdfs_parameters_from_tracker=1, storage_sync_file_max_delay=86400s, use_storage_id=0, storage server id count=0, flv_support=1, flv_extension=flv[2019-07-09 16:45:23] ERROR - file: ../common/fdfs_global.c, line: 52, the format of filename "group1/M00/00/00/wKgBzl0kT-mAS_9nAAAAAAAAAAA473.txt" is invalid2019/07/09 16:45:24 [error] 6537#0: *2 open() "/usr/local/nginx/html/favicon.ico" failed (2: No such file or directory), clie

鲲鹏软件栈 应用工具移植指南 1 移植 FastDFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 7

Page 13: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

nt: xx.xx.xx.xx, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "xx.xx.xx.xx", referrer: "http://xx.xx.xx.xx//group1/M00/00/00/wKgBzl0kT-mAS_9nAAAAAAAAAAA473.txt"

问题原因:配置“mod_fastdfs.conf”时候,漏配置“url_have_group_name =true”。

解决方法:

1. 修改“mod_fastdfs.conf”,将“url_have_group_name”配置为“true”。

vi /etc/fdfs/mod_fastdfs.conf修改后的内容,如下面加粗部分所示。# if the url / uri including the group name# set to false when uri like /M00/00/00/xxx# set to true when uri like ${group_name}/M00/00/00/xxx, such as group1/M00/xxx# default value is falseurl_have_group_name = true

2. 修改完成后,重启nginx、fdfs_tracker,fdfs_storage。

a. 查看tracker和storage的进程号。

ps -ef | grep fdfs_如下面加粗部分所示。[root@ecs-001 fdfs]# ps -ef | grep fdfs_root 7489 1 0 17:03 ? 00:00:01 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf startroot 7502 1 0 17:03 ? 00:00:01 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf startroot 17855 23849 0 20:36 pts/0 00:00:00 grep --color=auto fdfs_

b. 找到tracker的进程号为7489,storage的进程号为7502,停止后重新启动。

kill -9 7489 7502/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start

c. 再次查看进程,tracker、storaged的进程号已经改变。

ps -ef | grep fdfs_如下面加粗部分所示。[root@ecs-001 fdfs]# ps -ef | grep fdfs_root 7560 1 0 17:03 ? 00:00:01 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf startroot 18406 1 0 20:47 ? 00:00:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf startroot 18416 23849 0 20:47 pts/0 00:00:00 grep --color=auto fdfs_

d. 查看nginx的进程号。

ps -ef | grep nginx如下面加粗部分所示。[root@ecs-001 fdfs]# ps -ef | grep nginxroot 7736 1 0 17:07 ? 00:00:00 nginx: master process ./nginxnobody 7737 7736 0 17:07 ? 00:00:00 nginx: worker processroot 18471 23849 0 20:48 pts/0 00:00:00 grep --color=auto nginx

e. 停止后重新启动。

kill -9 7736 7737/usr/local/nginx/sbin/nginx[root@ecs-001 fdfs]# /usr/local/nginx/sbin/nginx ngx_http_fastdfs_set pid=18549

f. 再次查看进程,nginx的进程号已经改变。

ps -ef | grep nginx[root@ecs-001 fdfs]# ps -ef | grep nginxroot 18550 1 0 20:49 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx

鲲鹏软件栈 应用工具移植指南 1 移植 FastDFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 8

Page 14: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

nobody 18551 18550 0 20:49 ? 00:00:00 nginx: worker processroot 18561 23849 0 20:49 pts/0 00:00:00 grep --color=auto nginx

鲲鹏软件栈 应用工具移植指南 1 移植 FastDFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 9

Page 15: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

2 移植 Netperf

介绍

简要介绍

Netperf是一种网络性能测量工具,主要基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。

语言:C

一句话描述:一种网络性能测量工具

建议的版本

建议使用版本为“netperf-2.7.0”。

环境要求

云服务器要求

本文以KC1实例测试,配置如表2-1所示。

表 2-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表2-2所示。

鲲鹏软件栈 应用工具移植指南 2 移植 Netperf

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 10

Page 16: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 2-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

安装依赖。

yum install wget -y

获取源码

获取“netperf-2.7.0”源码包。

cd /usr/local/src

wget https://github.com/HewlettPackard/netperf/archive/netperf-2.7.0.tar.gz

编译和安装

步骤1 解压软件包。

tar -zxvf netperf-2.7.0.tar.gz

步骤2 进入netperf的安装目录。

cd netperf-netperf-2.7.0/

步骤3 修改配置“config.sub”。

vi config.sub

查找“x86”内容的位置,在其位置后面增加“aarch64”类型。

在“case $basic_machine in”区域的两个位置修改。

1. 修改下述内容。| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \

修改后为:| x86 | aarch64 | xscale | xscalee[bl] | xstormy16 | xtensa \

2. 修改下述内容。| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \

修改后为:| x86-* | aarch64-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \

步骤4 配置netperf生成Makefile。

./configure --host=aarch64 --build=aarch64

步骤5 编译和安装netperf。

make && make install

----结束

鲲鹏软件栈 应用工具移植指南 2 移植 Netperf

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 11

Page 17: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

运行和验证

测试netperf是否安装完成。

netperf -V

回显信息如下,则表示安装成功。

Netperf version 2.7.0

鲲鹏软件栈 应用工具移植指南 2 移植 Netperf

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 12

Page 18: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

3 移植 wrk

介绍

简要介绍

wrk是一个开源的简单http性能测试工具,也可以叫做http benchmark工具。

语言:C

一句话描述:http性能测试工具

开源协议:Apache 2.0.1

建议的版本

建议使用版本为“wrk-4.1.0”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表3-1所示。

表 3-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表3-2所示。

表 3-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 3 移植 wrk

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 13

Page 19: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 说明 下载地址

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

安装wget工具。

yum install wget -y

获取源码

获取“wrk-4.0.2”源码包。

cd /usr/local/src

git clone https://github.com/wg/wrk.git

编译和安装

步骤1 进入wrk的安装目录。

cd wrk

步骤2 编译wrk。

make -j4

----结束

运行和验证

测试wrk是否安装完成且可以正常使用。

执行以下命令,模拟12个线程、100次连接、持续10秒,测试“http://www.huawei.com”页面的性能。

./wrk -t12 -c100 -d30s http://www.huawei.com

命令参数说明如表3-3所示。

表 3-3 wrk 命令参数说明

参数 说明

-t 表示模拟的线程数。

-c 表示模拟的连接数。

-d 表示测试的持续时间。

回显内容如下,正常返回该页面的常用性能指标,即表示wrk已安装完成,并可正常使用。

鲲鹏软件栈 应用工具移植指南 3 移植 wrk

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 14

Page 20: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

Running 30s test @ http://www.huawei.com 12 threads and 100 connections Thread Stats Avg Stdev Max +/- Stdev...

鲲鹏软件栈 应用工具移植指南 3 移植 wrk

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 15

Page 21: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

4 安装 Samba

介绍

简要介绍

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。

语言:C/C++

一句话描述:共享资源工具

建议的版本

● 建议使用版本为“samba-4.9.1”。

● 华为云ECS系统镜像源自带Samba安装包,通过yum方式安装即可。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表4-1所示。

表 4-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表4-2所示。

鲲鹏软件栈 应用工具移植指南 4 安装 Samba

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 16

Page 22: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 4-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

Kernel 4.14.0 在公共镜像中已提供。

安装

华为云ECS系统镜像源自带samba安装包,直接通过yum安装即可,操作如下:

yum install samba -y

yum install samba-client -y

运行和验证

步骤1 修改Samba配置文件。

vi /etc/samba/smb.conf

修改为以下加黑的内容:[global]workgroup = SAMBAsecurity = usermap to guest = Bad Userpassdb backend = tdbsamprinting = cupsprintcap name = cupsload printers = yescups options = raw

...

[FileShare]comment = share some filespath = /tmp/filesharepublic = yeswriteable = yescreate mask = 0644directory mask = 0755

步骤2 创建共享目录,执行以下命令。

mkdir /tmp/fileshare

cd /tmp/fileshare

echo "huawei" > huawei.txt

echo "arm" > arm

chmod -R 777 /tmp/fileshare/

步骤3 设置Samba开机启动,并启动Samba。

chkconfig smb on

chkconfig nmb on

service smb start

鲲鹏软件栈 应用工具移植指南 4 安装 Samba

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 17

Page 23: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

service nmb start

步骤4 在另一台安装有Samba客户端的ECS主机上,挂载Samba服务器共享的目录。

mkdir /tmp/smb

mount //[ECS Public Network IP]/FileShare /tmp/smb

说明

在客户端所在的ECS上,执行远程挂载必须安装“cifs-utils”,执行以下安装命令即可。

yum install cifs-utils -y

步骤5 查看smb目录下的文件:

ll /tmp/smb

回显内容如下:

total 2048-rwxr-xr-x 1 root root 4 Jul 5 15:09 arm-rwxr-xr-x 1 root root 7 Jul 5 15:09 huawei.txt

----结束

鲲鹏软件栈 应用工具移植指南 4 安装 Samba

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 18

Page 24: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

5 安装 WordPress

介绍

简要介绍

WordPress简称WP, 初是一款博客系统,后逐步演化成一款免费的CMS(内容管理系统/建站系统)。

语言:PHP

一句话描述:一款免费的CMS

建议的版本

建议使用版本为“5.2.1”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表5-1所示。

表 5-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表5-2所示。

表 5-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 5 安装 WordPress

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 19

Page 25: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 版本 下载地址

Kernel 4.14.0 在公共镜像中已提供。

编译和安装

步骤1 安装Nginx。

1. 登录弹性云服务器。

2. 由于Nginx当前没有官方发布的ARM包,因此需要自己手动编译。执行以下命令,下载Nginx及其依赖库源码包。

wget https://downloads.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gztar -zxf zlib-1.2.11.tar.gzwget http://ftp.cs.stanford.edu/pub/exim/pcre/pcre-8.39.tar.gztar -zxf pcre-8.39.tar.gzwget https://github.com/nginx/nginx/archive/release-1.16.0.tar.gztar -zxf release-1.16.0.tar.gzmkdir /usr/local/nginx执行完成后,目录内容如下:total 240824-rw-r--r-- 1 root root 506656 Jul 9 15:47 fio-2.1.10.tar.gzdrwxrwxr-x 12 root root 4096 Jul 9 15:54 fio-fio-2.1.10drwxr-xr-x 9 root root 4096 Apr 10 2017 gradle-3.5-rw-r--r-- 1 root root 95084513 Apr 10 2017 gradle-3.5-all.zip-rw-r--r-- 1 root root 147224408 Jul 9 20:46 logstash-6.2.4.tar.gzdrwxrwxr-x 9 root root 4096 Jul 9 20:51 nginx-release-1.16.0drwxr-xr-x 9 1169 1169 12288 Jul 9 20:52 pcre-8.39-rw-r--r-- 1 root root 2062258 Jul 21 2017 pcre-8.39.tar.gz-rw-r--r-- 1 root root 1075209 Jul 9 20:46 release-1.16.0.tar.gzdrwxr-xr-x 8 root root 4096 Jul 9 17:11 testProjectdrwxr-xr-x 14 501 games 4096 Jul 9 20:52 zlib-1.2.11-rw-r--r-- 1 root root 607698 Jan 16 2017 zlib-1.2.11.tar.gz

3. 安装编译器。

yum -y install gcc gcc-c++ autoconf4. 编译和安装。

cd nginx-release-1.16.0make cleanauto/configure --with-http_stub_status_module --prefix=/usr/local/nginx--with-pcre=/root/pcre-8.39 --with-zlib=/root/zlib-1.2.11 --with-cc-opt="-O2 -Wall -Wpointer-arith -I/root/nginx/include" --with-ld-opt="-L /usr/local/nginx/lib"makemake install

5. 创建Nginx用户及用户组。

groupadd nginxuseradd -g nginx -M nginx

鲲鹏软件栈 应用工具移植指南 5 安装 WordPress

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 20

Page 26: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

6. 修改Nginx配置文件。

Nginx配置文件中,默认work是用“nobody”用户启动的,无访问权限,因此需要配置为使用Nginx启动。

修改文件“/usr/local/nginx/conf/nginx.conf ”第2行。

如下面加粗部分所示。user nginx;worker_processes 1;

#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;

7. 启动Nginx。

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -p /usr/local/nginx

8. 使用浏览器访问“http://服务器IP地址”,显示如图5-1所示,说明Nginx安装成功。

图 5-1 访问 nginx

步骤2 安装PHP。

1. 安装依赖包。

yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devellibjpeg-devel libpng-devel freetype-devel libmcrypt-devel

2. 执行如下命令,下载并编译cmake。

cd /rootwget https://github.com/Kitware/CMake/releases/download/v3.14.5/cmake-3.14.5.tar.gztar -zxf cmake-3.14.5.tar.gzcd cmake-3.14.5./bootstrapmakemake install

3. 下载并编译libzip。

cd /rootwget https://libzip.org/download/libzip-1.5.2.tar.xztar -xf libzip-1.5.2.tar.xz

鲲鹏软件栈 应用工具移植指南 5 安装 WordPress

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 21

Page 27: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

cd libzip-1.5.2mkdir buildcd buildcmake ..makemake install

4. 下载并编译PHP源码。

cd /rootwget https://www.php.net/distributions/php-7.3.6.tar.xztar -xf php-7.3.6.tar.xzcd php-7.3.6echo '/usr/local/lib64/usr/local/lib/usr/lib/usr/lib64'>>/etc/ld.so.conf&&ldconfig -v./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-config-file-scan-dir=/usr/local/php7/etc/php.d --with-mcrypt=/usr/include --enable-mysqlnd --with-mysqli --with-pdo-mysql --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-gd --with-iconv --with-zlib --enable-xml --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets--with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcachemakemake install

5. 配置PHP。

cp php.ini-production /usr/local/php7/etc/php.inicd /usr/local/php7/etcmv php-fpm.conf.default php-fpm.confmv php-fpm.d/www.conf.default php-fpm.d/www.confcd /root/php-7.3.6/sapi/fpmcp init.d.php-fpm /etc/init.d/php-fpmchmod +x /etc/init.d/php-fpmchkconfig --add php-fpmchkconfig php-fpm onservice php-fpm start

6. 修改文件“/usr/local/nginx/conf/nginx.conf”,将第65-71行注释去掉,并修改第69行,配置Nginx代理php。

如下所示:# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000# location ~ \.php$ {

鲲鹏软件栈 应用工具移植指南 5 安装 WordPress

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 22

Page 28: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /$document_root$fastcgi_script_name; include fastcgi_params;}

# deny access to .htaccess files, if Apache's document root

7. 重新启动Nginx,加载配置文件。

步骤3 通过浏览器测试访问。

1. 在“/usr/local/nginx/html”目录下创建“index.php”的测试页面。

a. 执行以下命令创建并打开“index.php”的测试文件。

vim /usr/local/nginx/html/index.phpb. 按“i”键进入编辑模式。

修改打开的“index.php”文件,将如下内容写入文件。<?phpphpinfo();?>

c. 按“Esc”键退出编辑模式,并输入“:wq”保存后退出。

2. 使用浏览器访问“http://服务器IP地址/index.php”,显示如图5-2所示,说明环境搭建成功。

图 5-2 访问页面

步骤4 安装数据库/创建数据库。

1. 安装数据库。

yum install mariadb-server mariadb对于过程中出现的确认信息,均输入“y”确认,如下所示:perl-DBD-MySQL aarch64 4.023-6.el7 base 136 k perl-DBI aarch64 1.627-4.el7 base 797 k perl-IO-Compress noarch 2.061-2.el7 base 260 k perl-Net-Daemon noarch 0.48-5.el7 base 51 k perl-PlRPC noarch 0.2020-14.el7 base 36 kUpdating for dependencies: mariadb-libs aarch64 1:5.5.60-1.el7_5 base 740 k

Transaction Summary=================================================================================

鲲鹏软件栈 应用工具移植指南 5 安装 WordPress

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 23

Page 29: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

===================================Install 2 Packages (+8 Dependent packages)Upgrade ( 1 Dependent package)

Total download size: 21 MIs this ok [y/d/N]: y

2. 启动数据库,和设置数据库开机自启动。

systemctl start mariadb ; systemctl enable mariadb ;sync;3. 进入数据库。

mysql4. 选择数据库,给数据库创建开放远程连接权限。

说明

命令中的“password”请根据实际需要修改成要设置的密码。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'password'WITH GRANT OPTION;CREATE DATABASE wordpress;flush privileges;

步骤5 安装WordPress。

1. 下载和安装WordPress。cd /usr/local/nginx/htmlwget https://wordpress.org/wordpress-5.2.1.tar.gztar -zxf wordpress-5.2.1.tar.gzchmod -R 777 wordpress

2. 配置WordPress连接数据库。

a. 生成Wordpress配置文件。

cd /usr/local/nginx/html/wordpresscp wp-config-sample.php wp-config.php

b. 编辑“wp-config.php”文件,写入数据库信息。

说明

命令中的“DB_USER”和“DB_PASSWORD”以及 “DB_NAME”的取值由步骤4.4配置,“password”请根据实际修改。

如下所示:// ** MySQL settings - You can get this info from your web host ** ///** The name of the database for WordPress */define( 'DB_NAME', 'database_name_here' );

/** MySQL database username */define( 'DB_USER', 'root' );

/** MySQL database password */define( 'DB_PASSWORD', 'password' );

/** MySQL hostname */define( 'DB_HOST', 'localhost' );

/** Database Charset to use in creating database tables. */define( 'DB_CHARSET', 'utf8' );

3. 浏览器访问“http://服务器IP地址/wordpress/wp-admin/install.php”进入安装向导。

4. 在界面上选择“简体中文”,单击“继续”。

鲲鹏软件栈 应用工具移植指南 5 安装 WordPress

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 24

Page 30: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

5. 在如图5-3所示界面上输入站点信息,点击“安装wordpress”。

图 5-3 安装界面

6. 安装完成后,弹出安装成功界面,在界面上单击“登录”,进入WordPress。

----结束

鲲鹏软件栈 应用工具移植指南 5 安装 WordPress

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 25

Page 31: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

6 安装 Joomla

介绍

简要介绍

Joomla是一个屡获殊荣的内容管理系统(CMS),它使您能够构建网站和强大的在线应用程序。这些年来,Joomla已经获得过多个奖项。它构建在“模型-视图-控制器”Web应用程序框架上,该框架可以独立于CMS使用并允许您构建强大的在线应用程序。

开发语言:PHP

一句话描述:内容管理系统

开源协议:GPL 2.0

建议的版本

建议使用 新的3.9.10版本。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表6-1所示。

本测试所采用两台云服务器均为该配置。

表 6-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 14GB

磁盘 ● 系统盘:高IO(40GB)

● 数据盘:高IO(40GB)

操作系统要求

操作系统要求如表6-2所示。

鲲鹏软件栈 应用工具移植指南 6 安装 Joomla

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 26

Page 32: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 6-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

Kernel 4.14.0-49 在公共镜像中已提供。

配置安装环境

步骤1 安装Joomla依赖的php以及php数据库连接工具。

yum install wget php php-mysqli -y

步骤2 安装wget工具。

yum install wget -y

----结束

安装 Joomla

步骤1 获取并解压Joomla软件包。

cd /usr/local/src/

wget https://github.com/joomla/joomla-cms/archive/3.9.10.tar.gz

tar -zxvf 3.9.10.tar.gz

mv joomla-cms-3.9.10/ joomla

步骤2 安装httpd。

httpd是Apache服务器。

yum install httpd -y

步骤3 移动Joomla至httpd服务目录下。

cp /usr/local/src/joomla /var/www/html/ -rf

步骤4 设置Joomla的权限。

chown apache.apache /var/www/html/joomla

chmod -R 777 /var/www/html/joomla

----结束

安装 Mariadb

步骤1 在另一台云服务器中部署Mariadb。

yum install mariadb-server -y

步骤2 启动Mariadb。

systemctl start mariadb

鲲鹏软件栈 应用工具移植指南 6 安装 Joomla

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 27

Page 33: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

步骤3 创建数据库。

1. 进入MySQL。

mysql2. 创建数据库。

说明

请将“mypassword”替换为实际需要配置的密码。

create database joomla;grant all on joomla.* to joomla@'%' identified by'mypassword';flush privileges;

----结束

运行和验证

1. 在部署Joomla服务器上启动httpd服务进程。

systemctl start httpd2. 在云服务器安全组中,在入方向规则里打开80端口,然后在浏览器中输入

“http://[ECS IP]:80/joomla”可以看到返回的Joomla相关配置信息,如图6-1所示。请参考页面提示完成Joomla的安装。

图 6-1 Joomla 界面

鲲鹏软件栈 应用工具移植指南 6 安装 Joomla

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 28

Page 34: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

7 移植 Tesseract

介绍

简要介绍

Tesseract是一个光学字符识别引擎,支持多种操作系统。Tesseract是基于Apache许可证的自由软件,自2006年起由Google赞助开发。2006年,Tesseract被认为是 精准的开源光学字符识别引擎之一。

语言:C++

一句话描述:文字识别引擎

开源协议:Apache

建议的版本

建议使用版本为“tesseract-4.0.0”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表7-1所示。

表 7-1 云服务器配置

项目 说明

规格 kc1.large.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表7-2所示。

鲲鹏软件栈 应用工具移植指南 7 移植 Tesseract

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 29

Page 35: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 7-2 操作系统要求

项目 说明 下载地址

CentOS ● 版本:7.5● Kernel:4.14.0

在公共镜像中已提供。

Redhat ● 版本:7.5● Kernel:4.14.0

在公共镜像中已提供。

EulerOS ● 版本:2.8● Kernel:

4.19.36

在公共镜像中已提供。

配置编译环境

步骤1 安装Tesseract所使用的依赖软件包。

yum install automake libtool gcc-c++ libjpeg-devel libpng-devel libtiff-devellibtiff libpng libjpeg-turbo libjpeg-turbo-devel -y

步骤2 安装GCC。

通过华为云发放的弹性云服务器默认已安装GCC安装,无需单独安装配置。

步骤3 安装tesseract依赖的图像处理库leptonica。

1. 下载tesseract依赖的图像处理库leptonica源码包。

wget http://www.leptonica.org/source/leptonica-1.78.0.tar.gz2. 解压leptonica。

tar -xvf leptonica-1.78.0.tar.gz3. 编译和安装leptonica。

cd leptonica-1.78.0./configure --prefix=/usr/ && make -j4 && make install

4. 配置leptonica涉及的环境变量。

vi /etc/profile在后面插入如下内容:export PKG_CONFIG_PATH=/usr/lib/pkgconfig

执行“wq”保存退出。

5. 使环境变量有效。

source /etc/profileldconfig

----结束

获取源码

获取“tesseract-4.0.0”源码包。

cd /usr/local/src

鲲鹏软件栈 应用工具移植指南 7 移植 Tesseract

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 30

Page 36: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

wget https://github.com/tesseract-ocr/tesseract/archive/4.0.0.tar.gz

编译和安装

步骤1 解压软件包。

tar -xvf tesseract-4.0.0.tar.gz

步骤2 进入Tesseract的安装目录。

cd tesseract-4.0.0

步骤3 编译安装tesseract。

./autogen.sh && ./configure && make -j4 && make install

----结束

运行和验证

步骤1 创建目录。

cd /root

mkdir lang

cd lang

步骤2 获取Tesseract语言包。

wget https://github.com/tesseract-ocr/tessdata/archive/4.0.0.tar.gz

步骤3 解压语言包。

tar -zxvf tessdata-4.0.0.tar.gz

步骤4 进入Tessdata目录。

cd tessdata-4.0.0

步骤5 将Tesseract安装目录放入复制到“/usr/local/share/tessdata”目录。

cp * /usr/local/share/tessdata -r

步骤6 将缓存数据刷新到硬盘。

sync

步骤7 获取“kunpeng.bmp”图片。

本文以获取保存在华为云OBS桶上的kunpeng.bmp图片为例

wget https://portal-www-software.obs.cn-north-1.myhuaweicloud.com:443/kunpeng.bmp

步骤8 运行Tesseract识别图片文字。

./tesseract kunpeng.bmp result

步骤9 执行如下命令,查看文字识别结果。

cat result.txt

鲲鹏软件栈 应用工具移植指南 7 移植 Tesseract

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 31

Page 37: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

当系统回显如下文字时,表示使用Tesseract识别文字成功。

Hello Kunpeng

----结束

参考资料

Tesseract:https://github.com/tesseract-ocr/

leptonica:http://www.leptonica.org/index.html

鲲鹏软件栈 应用工具移植指南 7 移植 Tesseract

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 32

Page 38: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

8 移植 Varnish

介绍

简要介绍

Varnish是一款高性能的开源HTTP加速器,挪威 大的在线报纸Verdens Gang使用3台Varnish代替了原来的12台Squid,性能比以前更好。

语言:C/C++

一句话描述:高性能的开源HTTP加速器

开源协议:BSD

建议的版本

建议使用版本为“Varnish-5.2.1”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表8-1所示。

表 8-1 云服务器配置

项目 说明

规格 kc1.large.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表8-2所示。

鲲鹏软件栈 应用工具移植指南 8 移植 Varnish

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 33

Page 39: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 8-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供

Kernel 4.14.0 包含在操作系统镜像中。

配置编译环境

安装依赖包。

yum install python-docutils ncurses-devel pcre-devel pcre-devel libedit-devellibtool

获取源码

获取“varnish-5.2.1”源码包。

cd /usr/local/src

wget http://varnish-cache.org/_downloads/varnish-5.2.1.tgz

编译和安装

步骤1 解压软件包。

tar -zxvf varnish-5.2.1.tgz

步骤2 进入Varnish安装目录。

cd varnish-5.2.1

步骤3 配置编译并安装Varnish源码。

./configure

make

make install

步骤4 建立Varnish配置文件。

cp varnish-5.2.1/etc/example.vcl /usr/local/etc/default.vcl

步骤5 修改配置文件“default.vcl”,在配置文件中指定后端服务,这里以“www.ipcpu.com”为例。

vim /usr/local/etc/default.vclbackend default { .host = "www.ipcpu.com"; .port = "80";}

----结束

鲲鹏软件栈 应用工具移植指南 8 移植 Varnish

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 34

Page 40: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

运行和验证

步骤1 启动Varnish。

cd varnish-5.2.1/bin/varnishd

./varnishd -f /usr/local/etc/default.vcl -a :6081

步骤2 通过curl命令触发Varnish代理访问“www.ipcpu.com”。

curl -I http://www.ipcpu.com -x 127.0.0.1:6081

----结束

鲲鹏软件栈 应用工具移植指南 8 移植 Varnish

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 35

Page 41: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

9 安装 YARN

介绍

简要介绍

YARN是Facebook,Google,Exponent和Tilde开发的一款新的JavaScript包管理工具。YARN缓存了每个下载过的包,所以再次使用时无需重复下载。同时利用并行下载以 大化资源利用率,因此安装速度更快。

语言:JavaScript

一句话描述:一种新的Hadoop资源管理器

开源协议:BSD

建议的版本

建议使用版本为“yarn-v1.15.0”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表9-1所示。

表 9-1 云服务器配置

项目 说明

规格 kc1.large.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表9-2所示。

鲲鹏软件栈 应用工具移植指南 9 安装 YARN

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 36

Page 42: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 9-2 操作系统要求

项目 说明 下载地址

CentOS ● 版本:7.5● Kernel:4.14.0

在公共镜像中已提供

EulerOS ● 版本:2.8● Kernel:

4.19.36

在公共镜像中已提供

配置安装环境

执行如下命令,安装依赖包。

yum install wget -y

获取软件包

执行如下命令,获取“yarn-v1.15.0”源码包。

cd /usr/local/src

wget https://github.com/yarnpkg/yarn/releases/download/v1.15.0/yarn-v1.15.0.tar.gz

安装

步骤1 执行如下命令,解压软件包。

tar -zxvf yarn-v1.15.0.tar.gz

步骤2 由于YARN依赖nodejs 4.0及以上版本,所以需要先安装nodejs。执行如下命令,安装nodejs。

wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-arm64.tar.xz

tar -xvf node-v10.16.0-linux-arm64.tar.xz

步骤3 执行如下命令,编辑profile文件,为YARN和nodejs设置环境变量。

vi /etc/profile

步骤4 修改配置“/etc/profile”。

vim /etc/profile

在/etc/profile文件尾增加环境变量如下信息:export PATH=/root/yarn-v1.15.0/bin:$PATHexport PATH=/root/node-v10.16.0-linux-arm64/bin:$PATH

添加后的profile文件如图9-1所示:

鲲鹏软件栈 应用工具移植指南 9 安装 YARN

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 37

Page 43: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

图 9-1 配置文件

按“Esc”键,输入“:wq”保存并退出。

步骤5 执行如下命令,使得环境变量生效。

source /etc/profile

----结束

运行和验证

步骤1 执行如下命令,进入YARN的安装目录。

cd yarn-v1.15.0/bin

步骤2 执行如下命令,查询YARN版本。

./yarn -v

当回显出现类似下面信息时,表示YARN编译部署完成。

----结束

鲲鹏软件栈 应用工具移植指南 9 安装 YARN

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 38

Page 44: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

10 安装 bcrypt

介绍

简要介绍

bcrypt是一个跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。

语言:Python

一句话描述:bcrypt是一种文件加密工具。

建议的版本

● 建议使用版本为“bcrypt-3.1.7”

● 通过pip命令获取并安装

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表10-1所示。

表 10-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表10-2所示。

鲲鹏软件栈 应用工具移植指南 10 安装 bcrypt

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 39

Page 45: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 10-2 操作系统要求

项目 说明 下载地址

CentOS 7.5 在公共镜像中已提供。

kernel 4.14.0 在公共镜像中已提供。

配置安装环境

步骤1 (可选)修改yum命令的相关文件。

仅在yum命令不能执行且系统有安装多个版本的Python时需要执行。

在本示例中,由于将系统的“python 2.7”升级到“python 3.5.6”,导致yum命令不能正常使用,需要修改yum命令的相关文件。

1. 将“/usr/bin/yum”文件的“#!/usr/bin/python”改为“#!/usr/bin/python2.7”。

2. 将“/usr/libexec/urlgrabber-ext-down”文件的“#!/usr/bin/python”改为“#!/usr/bin/python2.7”。

步骤2 安装依赖包。

bcrypt依赖于libffi,所以先使用yum安装该依赖包。

yum install libffi-devel

----结束

安装

使用pip命令安装bcrypt。

pip install bcrypt

回显内容如下,表示安装成功。

Installing collected packages: cffi, six, bcryptRunning setup.py install for cffi ... doneRunning setup.py install for bcrypt ... doneSuccessfully installed bcrypt-3.1.7 cffi-1.12.3 six-1.12.0

运行和验证

步骤1 创建“bcrypt_test.py”文件,并添加如下内容。import bcrypt #导入bcrypt模块password = "mypassword" #定义password变量,并赋值# 用一个随机的盐值来加密密码,还可以接受一个参数来控制它要计算多少次,默认是 12magic_value=bcrypt.gensalt()# 使用utf8编码格式对字符串编码pwd = password.encode('utf8')# 使用utf8编码格式对字符串编码hashed = bcrypt.hashpw(pwd, magic_value)print ("The The cryptographic value is: ",hashed)# 验证明文密码和加密密码的一致性if bcrypt.checkpw(password.encode('utf8'), hashed):print("They Matches!")else:print("They Do not Match.")

鲲鹏软件栈 应用工具移植指南 10 安装 bcrypt

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 40

Page 46: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

步骤2 进入python交互界面,输入命令。

python bcrypt_test.py

回显内容如下,表示测试成功。

The cryptographic value is: b'$2b$12$lBFnCJHexc8jKySIBnD56ukMNZvbcFeBOgw7TQqxqqHOhUiysyPw.'They Matches!

----结束

鲲鹏软件栈 应用工具移植指南 10 安装 bcrypt

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 41

Page 47: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

11 移植 curl

11.1 移植指导

介绍

简要介绍

curl是一个利用URL语法在命令行下工作的文件传输工具。libcurl是curl工作运行时需要调用的库,该库还可以被您的软件调用。

语言:URL语法

一句话概述:文件传输工具

建议的版本

建议使用版本为“curl-7_54_0”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表11-1所示。

表 11-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表11-2所示。

鲲鹏软件栈 应用工具移植指南 11 移植 curl

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 42

Page 48: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 11-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

Kernel 4.14.0 在公共镜像中已提供。

获取源码

https://github.com/curl/curl/releases提供curl各版本的源码压缩包,可以直接下载。

编译和安装

本文以“curl-7_54_0”版本为例,下载源码,并编译安装。

步骤1 下载“curl-7_54_0”的源码。

cd /usr/local/src

wget https://codeload.github.com/curl/curl/tar.gz/curl-7_54_0

步骤2 解压源码。

tar -zxvf curl-7_54_0

步骤3 编译并安装curl。

cd curl-curl-7_54_0

./buildconf

./configure

make

make install

步骤4 编译安装完成后,查看curl的版本号是否与源码版本号一致。

curl --version

回显信息如下,则表示“curl-7.54.0”编译并安装成功。

curl 7.54.0-DEV (aarch64-unknown-linux-gnu) libcurl/7.54.0-DEV OpenSSL/1.0.2k zlib/1.2.7Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets HTTPS-proxy

----结束

运行和验证

验证curl是否安装成功且可以正常使用。

curl https://www.huaweicloud.com/

能正常返回华为云页面的html信息,则表示curl安装成功且能正常使用。

鲲鹏软件栈 应用工具移植指南 11 移植 curl

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 43

Page 49: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

11.2 故障排除问题描述:

移植指导中验证时,无法正常显示华为云页面的html信息,如下:

curl: (48) An unknown option was passed in to libcurl

问题原因:

curl的版本号与libcurl的版本号不一致。

curl --version

回显信息如下,curl的版本号为“7.54.0”,libcurl的版本号为“7.29.0”,不一致。

curl 7.54.0-DEV (aarch64-unknown-linux-gnu) libcurl/7.29.0 NSS/3.36 zlib/1.2.7 libidn/1.28 libssh2/1.4.3Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp Features: AsynchDNS IDN IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets

解决方法:

步骤1 设置动态链接库被系统共享。

ldconfig

curl --version

回显信息如下,curl的版本号为“7.54.0”,libcurl的版本号也为“7.54.0”,一致。curl 7.54.0-DEV (aarch64-unknown-linux-gnu) libcurl/7.54.0-DEV OpenSSL/1.0.2k zlib/1.2.7Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets HTTPS-proxy

步骤2 执行curl命令测试是否能正常使用。

curl https://www.huaweicloud.com/

能正常返回华为云页面的html信息,则表示curl安装成功且能正常使用。

----结束

鲲鹏软件栈 应用工具移植指南 11 移植 curl

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 44

Page 50: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

12 安装 Docker

12.1 介绍

介绍

简要介绍

Docker是一个开源的应用容器引擎,让开发者可以打包应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

语言:Go

一句话描述:Docker是一个开源的应用容器引擎

建议的版本

请根据实际需要选择任意版本。

支持的操作系统

经过华为云严格实测,以下操作系统在鲲鹏生态中可以完整运行Docker的全部功能:

● CentOS 7.5

说明

centos-extra仓库必须处于“enabled”状态。这是操作系统默认配置,如果你已经设置成“disabled”,则需要重新设置。

相关命令如下:

● 查询仓库状态:yum repolist all

例如:yum repolist all|grep "CentOS-7 - Extras"

● 设置为“enabled”状态:yum-config-manager --enable

例如: yum-config-manager --enable "CentOS-7 - Extras -mirrors.huaweicloud.com"

● 设置为“disabled”状态:yum-config-manager --disable

例如:yum-config-manager --disable "CentOS-7 - Extras -mirrors.huaweicloud.com"

鲲鹏软件栈 应用工具移植指南 12 安装 Docker

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 45

Page 51: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

● EulerOS 2.8● Ubuntu 18.04

12.2 安装与部署(Ubuntu)

12.2.1 准备环境

准备实例

从华为云官网购买鲲鹏云服务ECS实例,详细配置如下:

类别 子项 版本

云服务器配置 ECS实例类型 kc1.xlarge.2

ECS配置 4U8GB

EVS(系统盘) 高IO(40GB)

EVS(数据盘) 高IO(40GB)

云OS Ubuntu 18.04

Kernel 4.15.0-29

安装依赖包

执行以下命令安装依赖包。

sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agentsoftware-properties-common

12.2.2 执行安装

方式一:通过软件仓库安装

1. 老版本的Docker的命名为“docker”、“docker.io” 或 “docker-engine”,如果安装了这些版本,需要先卸载掉。

说明

保存在“/var/lib/docker”/中的内容,包括图片、磁盘和网络配置等都会保留下来。

sudo apt-get remove docker docker-engine docker.io containerd runc2. 添加Docker官方GPG key。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-keyadd -

3. 设置Docker CE软件仓库版本为arm64。

sudo add-apt-repository \

鲲鹏软件栈 应用工具移植指南 12 安装 Docker

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 46

Page 52: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

"deb [arch=arm64] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) \stable"

4. 安装docker-ce软件。

sudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io

说明

如果需要安装指定版本的docker-ce,可以执行以下命令:

sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

方式二:下载软件包安装

1. 通过https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/arm64/,下载指定版本的软件包。

2. 执行命令安装软件包及依赖。

说明

“package.deb”为下载的软件包。

sudo dpkg -i /path/to/package.deb

12.2.3 启动软件1. 启动docker。

sudo systemctl start docker2. 使用一个hello-world镜像验证docker是否正常。

sudo docker run hello-world回显内容如下:Unable to find image 'hello-world:latest' locallylatest: Pulling from library/hello-world3b4173355427: Pull complete Digest: sha256:41a65640635299bab090f783209c1e3a3f11934cf7756b09cb2f1e02147c6ed8Status: Downloaded newer image for hello-world:latest

Hello from Docker!This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (arm64v8) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/

For more examples and ideas, visit: https://docs.docker.com/get-started/

鲲鹏软件栈 应用工具移植指南 12 安装 Docker

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 47

Page 53: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

12.3 安装与部署(CentOS)

12.3.1 准备环境

准备实例

从华为云官网购买鲲鹏云服务ECS实例,详细配置如下:

类别 子项 版本

云服务器配置 ECS实例类型 rc3.xlarge.4

ECS配置 4U14GB

EVS(系统盘) 高IO(40GB)

EVS(数据盘) 高IO(40GB)

云OS CentOS 7.5

Kernel 4.14.0-49

安装依赖包

执行以下命令安装依赖包。

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

12.3.2 执行安装

方式一:使用软件仓库安装

1. 老版本的docker的命名为“docker”或 “docker-engine”,如果安装了这些版本,需要先卸载掉。

说明

保存在“/var/lib/docker/”中的内容,包括图片、磁盘和网络配置等都会保留下来。

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate

2. 配置软件仓库。

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3. 安装docker-ce。

sudo yum install docker-ce docker-ce-cli containerd.io

鲲鹏软件栈 应用工具移植指南 12 安装 Docker

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 48

Page 54: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

说明

这个命令总是会安装 新版本的docker-ce,如果需要安装指定版本的可以参考下面的操作:

sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING>containerd.io

方式二:下载软件包安装

1. 通过https://download.docker.com/linux/centos/7/aarch64/stable/Packages/,下载指定版本的软件包。

2. 执行命令安装软件包及依赖。

说明

“package.rpm”为下载的软件包。

sudo yum install /path/to/package.rpm

12.3.3 启动软件1. 启动Docker。

sudo systemctl start docker2. 使用一个hello-world镜像验证Docker是否正常。

sudo docker run hello-world回显内容如下:Unable to find image 'hello-world:latest' locallylatest: Pulling from library/hello-world3b4173355427: Pull complete Digest: sha256:41a65640635299bab090f783209c1e3a3f11934cf7756b09cb2f1e02147c6ed8Status: Downloaded newer image for hello-world:latest Hello from Docker!This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (arm64v8) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/

鲲鹏软件栈 应用工具移植指南 12 安装 Docker

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 49

Page 55: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

13 移植 Fio

介绍

简要介绍

Fio是一个基于GPLV2授权的开源I/O压力测试工具,主要用来测试磁盘IO性能,也可用于测试CPU,NIC的IO性能。

编写语言:C

一句话概述:开源I/O压力测试工具

建议的版本

建议使用版本为“2.1.10”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表13-1所示。

表 13-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表13-2所示。

表 13-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 13 移植 Fio

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 50

Page 56: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 版本 下载地址

Kernel 4.14.0 在公共镜像中已提供。

获取源码

https://github.com/axboe/fio/releases提供Fio各版本的源码压缩包,可以直接下载。

编译和安装

本文以“fio-2.1.10”版本为例,下载源码,并编译安装。

步骤1 下载Fio源码。

wget https://github.com/axboe/fio/archive/fio-2.1.10.tar.gz

步骤2 解压Fio源码。

tar -zxvf fio-2.1.10.tar.gz

步骤3 编译并安装Fio。

cd fio-fio-2.1.10

make

make install

步骤4 检查安装的Fio版本号。

fio --version

步骤5 回显信息如下,则Fio安装成功。fio-2.1.10

----结束

运行和验证

以读带宽为例,测试Fio是否可以正常使用。

执行以下命令:

fio --filename=/tmp/test_read -direct=1 -rw=read -bs=1m -size=1G -numjobs=4 -runtime=10 -group_reporting -name=mytest

回显信息如下,若能正常显示磁盘读速率,则表示Fio可正常使用。

mytest: (g=0): rw=read, bs=1M-1M/1M-1M/1M-1M, ioengine=sync, iodepth=1...fio-2.1.10Starting 4 processesmytest: Laying out IO file(s) (1 file(s) / 1024MB)Jobs: 4 (f=4): [RRRR] [100.0% done] [150.0MB/0KB/0KB /s] [150/0/0 iops] [eta 00m:00s]mytest: (groupid=0, jobs=4): err= 0: pid=20659: Sat Jul 6 18:00:27 2019 read : io=1587.0MB, bw=153195KB/s, iops=149, runt= 10608msec clat (msec): min=1, max=869, avg=26.72, stdev=133.87 lat (msec): min=1, max=869, avg=26.72, stdev=133.87

鲲鹏软件栈 应用工具移植指南 13 移植 Fio

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 51

Page 57: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

clat percentiles (msec): | 1.00th=[ 3], 5.00th=[ 3], 10.00th=[ 3], 20.00th=[ 4], | 30.00th=[ 4], 40.00th=[ 4], 50.00th=[ 5], 60.00th=[ 5], | 70.00th=[ 5], 80.00th=[ 6], 90.00th=[ 7], 95.00th=[ 8], | 99.00th=[ 848], 99.50th=[ 857], 99.90th=[ 865], 99.95th=[ 873], | 99.99th=[ 873] bw (KB /s): min=36283, max=40487, per=25.04%, avg=38354.52, stdev=879.60 lat (msec) : 2=0.57%, 4=47.20%, 10=48.20%, 20=1.13%, 50=0.13% lat (msec) : 500=0.25%, 1000=2.52% cpu : usr=0.05%, sys=0.15%, ctx=1599, majf=0, minf=84 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued : total=r=1587/w=0/d=0, short=r=0/w=0/d=0 latency : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs): READ: io=1587.0MB, aggrb=153194KB/s, minb=153194KB/s, maxb=153194KB/s, mint=10608msec, maxt=10608msec

Disk stats (read/write): vda: ios=1602/4, merge=31/7, ticks=42550/0, in_queue=12010, util=34.53%

鲲鹏软件栈 应用工具移植指南 13 移植 Fio

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 52

Page 58: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

14 安装 Fluentd

介绍

简要介绍

Fluentd是一个 初由Treasure Data开发的跨平台的开源数据收集软件项目,它是用于半结构化或非结构化数据集的大数据工具。与Apache Kafka一样,它分析事件日志,应用程序日志和点击流。

语言:C/Ruby

一句话描述:Fluentd是一个log信息收集软件。

建议的版本

● 建议使用版本为“fluentd-1.10.4”。

● 通过ruby的gem工具进行安装。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表14-1所示。

表 14-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表14-2所示。

鲲鹏软件栈 应用工具移植指南 14 安装 Fluentd

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 53

Page 59: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 14-2 操作系统要求

项目 版本 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0 在公共镜像中已提供。

配置安装环境

安装Ruby。

Fluentd要求安装Ruby 低版本为2.1.0,https://support.huaweicloud.com/prtg-kunpengcpl/ruby_01_0001.html提供了安装Ruby>=2.1.0的方法,请参考安装。

安装

使用gem安装Fluentd。

gem install fluentd

运行和验证

步骤1 查看Fluentd的版本号。

fluentd --version

终端回显:fluentd 1.10.4

步骤2 查看Fluentd的选项参数等信息。

fluentd --help

----结束

鲲鹏软件栈 应用工具移植指南 14 安装 Fluentd

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 54

Page 60: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

15 移植 iPerf

15.1 移植指导

介绍

简要介绍

iPerf是一种命令行工具,它通过测量服务器可以处理的 大网络吞吐量来测试网络速度,因此在遇到网络速度问题时特别有用,通过该工具可以确定哪台服务器存在性能问题。

语言:C/C++

一句话概述:网络性能测试工具

建议的版本

建议版本为“iperf-2.0.8”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表15-1所示。

表 15-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表15-2所示。

鲲鹏软件栈 应用工具移植指南 15 移植 iPerf

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 55

Page 61: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 15-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

Kernel 4.14.0 在公共镜像中已提供。

编译和安装

本文以“iperf-2.0.8”版本为例,下载源码,并编译安装。

步骤1 下载源代码。

wget https://iperf.fr/download/source/iperf-2.0.8-source.tar.gz

步骤2 安装iPerf软件依赖。

yum install gcc-c++ -y

步骤3 解压并安装iPerf。

tar -xvf iperf-2.0.8-source.tar.gz

cd iperf-2.0.8/

./configure && make && make install

----结束

运行和验证

iPerf由客户端和服务端组成,客户端连接到需要测试速度的服务端,且客户端和服务端均需要运行iPerf程序。

说明

运行iPerf时,要求gcc的版本为4.8.5。

步骤1 在服务端运行iPerf程序。

iperf -s -p 1234 -i 1

参数说明:

● -s:表示以服务器模式运行。

● -p:设置服务端监听端口。

● -i:设置每次报告之间的时间间隔,单位为秒。

服务端测试结果如下:

iperf -s -p 1234 -i 1 ------------------------------------------------------------Server listening on TCP port 1234TCP window size: 85.3 KByte (default)------------------------------------------------------------[ 4] local 192.168.1.25 port 1234 connected with XX.XX.XX.XX port 35632[ ID] Interval Transfer Bandwidth[ 4] 0.0- 1.0 sec 46.2 MBytes 387 Mbits/sec

鲲鹏软件栈 应用工具移植指南 15 移植 iPerf

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 56

Page 62: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

[ 4] 1.0- 2.0 sec 30.9 MBytes 260 Mbits/sec[ 4] 2.0- 3.0 sec 31.2 MBytes 261 Mbits/sec[ 4] 3.0- 4.0 sec 31.0 MBytes 260 Mbits/sec[ 4] 4.0- 5.0 sec 31.0 MBytes 260 Mbits/sec[ 4] 5.0- 6.0 sec 31.1 MBytes 261 Mbits/sec[ 4] 6.0- 7.0 sec 30.8 MBytes 258 Mbits/sec[ 4] 7.0- 8.0 sec 30.9 MBytes 260 Mbits/sec[ 4] 8.0- 9.0 sec 31.1 MBytes 261 Mbits/sec[ 4] 9.0-10.0 sec 31.1 MBytes 261 Mbits/sec[ 4] 0.0-10.1 sec 329 MBytes 273 Mbits/sec

步骤2 在客户端运行iPerf程序。

在一台新的服务器上参照上述步骤安装iPerf,然后启动iPerf。

说明

“XX.XX.XX.XX”是服务端的IP地址。

iperf -c xx.xx.xx.xx -p 1234 -i 1

参数说明:

● -c:表示要测试的服务端的IP地址,即运行服务端iPerf程序所在主机的地址。

● -p:设置服务器端运行iperf的端口号,示例中为“1234”。

● -i:设置每次报告之间的时间间隔,单位为秒。

客户端测试结果如下:

iperf -c xx.xx.xx.xx -p 1234 -i 1 ------------------------------------------------------------Client connecting to XX.XX.XX.XX, TCP port 1234TCP window size: 85.0 KByte (default)------------------------------------------------------------[ 3] local 192.168.1.140 port 35632 connected with XX.XX.XX.XX port 1234[ ID] Interval Transfer Bandwidth[ 3] 0.0- 1.0 sec 48.8 MBytes 409 Mbits/sec[ 3] 1.0- 2.0 sec 31.8 MBytes 266 Mbits/sec[ 3] 2.0- 3.0 sec 30.6 MBytes 257 Mbits/sec[ 3] 3.0- 4.0 sec 31.8 MBytes 266 Mbits/sec[ 3] 4.0- 5.0 sec 30.5 MBytes 256 Mbits/sec[ 3] 5.0- 6.0 sec 31.9 MBytes 267 Mbits/sec[ 3] 6.0- 7.0 sec 30.5 MBytes 256 Mbits/sec[ 3] 7.0- 8.0 sec 30.2 MBytes 254 Mbits/sec[ 3] 8.0- 9.0 sec 32.0 MBytes 268 Mbits/sec[ 3] 9.0-10.0 sec 30.6 MBytes 257 Mbits/sec[ 3] 0.0-10.0 sec 329 MBytes 275 Mbits/sec

----结束

15.2 故障排除问题描述:

使用EulerOS或CentOS安装“iperf-2.0.8”版本,在编译的时候,会出现如下问题:

cluded from /usr/include/c++/7.3.0/cmath:42:0, from /usr/include/c++/7.3.0/math.h:36, from ../include/headers.h:85, from ../include/Timestamp.hpp:63, from delay.cpp:55:/usr/include/c++/7.3.0/bits/cpp_type_traits.h:205:12: error: redefinition of ‘struct std::__is_integer<int>’ struct __is_integer<int> ^~~~~~~~~~~

鲲鹏软件栈 应用工具移植指南 15 移植 iPerf

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 57

Page 63: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

问题原因:问题原因如下链接所描述,如图15-1所示。

https://gitlab.flux.utah.edu/emulab/emulab-devel/issues/336

图 15-1 问题原因

解决方法:对于EulerOS,请采用“iperf-2.0.9”版本源码安装,具体安装步骤与2.0.8一致。

鲲鹏软件栈 应用工具移植指南 15 移植 iPerf

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 58

Page 64: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

16 安装 Kibana

介绍

简要介绍

Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。你用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。你可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。

语言:Ruby

一句话描述:开源的数据分析和可视化平台

建议的版本

建议跟ElasticSearch版本一致,版本为“5.6.3”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表16-1所示。

表 16-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表16-2所示。

鲲鹏软件栈 应用工具移植指南 16 安装 Kibana

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 59

Page 65: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 16-2 操作系统要求

项目 版本 下载地址

EulerOS 2.8 在公共镜像中已提供。

Kernel 4.19.36 在公共镜像中已提供。

配置安装环境

步骤1 安装Java的OpenJDK。

版本号至少为“1.8.0”。

yum install java-1.8.0-openjdk

步骤2 安装Node软件包,版本号为“v10.15.2”。

wget https://nodejs.org/dist/v10.15.2/node-v10.15.2-linux-arm64.tar.xz

tar -xvf node-v10.15.2-linux-arm64.tar.xz

步骤3 安装ElasticSearch,版本号为“5.6.3”。

确保云服务器上正常运行着ElasticSearch。

----结束

安装

步骤1 通过下载链接:https://artifacts.elastic.co/downloads/kibana/kibana-5.6.3-linux-x86_64.tar.gz

wget https://artifacts.elastic.co/downloads/kibana/kibana-5.6.3-linux-x86_64.tar.gz

说明

由于Elastic官网没有支持ARM版的软件,因此软件包名带有x86字段,但是由于Kibana是Java语言编写,因此不影响Kibana在ARM上运行

步骤2 解压软件包:

tar -zxvf kibana-5.6.3-linux-x86_64.tar.gz

步骤3 替换Kibana软件包中的Node软件包:

cd kibana-5.6.3-linux-x86_64

rm -fr node

mv ../node-v10.15.2-linux-arm64 ./node

说明

由于Kibana软件包中的Node软件是基于x86的,所以不能在鲲鹏云服务实例上运行,需要替换能在鲲鹏云服务实例上运行的Node。

鲲鹏软件栈 应用工具移植指南 16 安装 Kibana

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 60

Page 66: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

步骤4 修改Kibana配置文件:

vim config/kibana.yml

把对应字段修改成如下内容:

说明

IP地址“XX.XX.XX.XX”请根据实际填写。

server.port: 5601server.host: "0.0.0.0"elasticsearch.url: "http://XX.XX.XX.XX:9301"kibana.index: ".kibana"

步骤5 移动Kibana目录。

cd ..

mv kibana-5.6.3-linux-x86_64 /usr/local/kibana

----结束

运行和验证

步骤1 启动Kibana。

/usr/local/kibana/bin/kibana

步骤2 浏览器访问“http://XX.XX.XX.XX:5601”,如图16-1所示。

说明

IP地址“XX.XX.XX.XX”请根据实际填写。

图 16-1 访问 Kibana

----结束

鲲鹏软件栈 应用工具移植指南 16 安装 Kibana

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 61

Page 67: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

17 安装 Robot Framework

介绍

简要介绍

Robot Framework是一款Python编写的功能自动化测试框架。

语言:python

一句话描述:自动化测试框架

建议的版本

建议使用版本为“Robot Framework-3.0”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表17-1所示。

表 17-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表17-2所示。

表 17-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 17 安装 Robot Framework

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 62

Page 68: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 版本 下载地址

Kernel 4.14.0 在公共镜像中已提供。

配置安装环境

要求环境已配置下述软件,默认已配置。

● python 2.7.15● pip 7.1.2

安装

步骤1 安装Robot Framework。

pip install robotframework==3.0

步骤2 安装wxPython。

yum install wxPython

yum install wxPython-devel

步骤3 安装Robot Framework RIDE。

此处以“1.5.2”为例。

pip install -U https://github.com/robotframework/RIDE/archive/v1.5.2.zip

----结束

运行和验证

查看Robot Framework的版本。

robot --version

回显如下:

Robot Framework 3.0 (Python 2.7.5 on linux2)

鲲鹏软件栈 应用工具移植指南 17 安装 Robot Framework

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 63

Page 69: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

18 安装 rsync

介绍

简要介绍

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。

语言:C/C++

一句话描述:远程数据同步工具

建议的版本

建议使用版本为“rsync-3.1.12”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表18-1所示。

表 18-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表18-2所示。

表 18-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 18 安装 rsync

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 64

Page 70: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 版本 下载地址

Kernel 4.14.0 在公共镜像中已提供。

安装

执行命令,安装rsync。

yum install rsync* -y

运行和验证

步骤1 修改rsync配置文件“/etc/rsyncd.conf”。内容如下: uid = root gid = root use chroot = no max connections = 4# pid file = /var/run/rsyncd.pid exclude = lost+found/ transfer logging = yes timeout = 900 ignore nonreadable = yes dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 log file = /var/log# [ftp]# path = /home/ftp# comment = ftp export area#[test_rsync]path=/tmp/rsynccomment=test_rsyncignore errorsread only=yeswrite only=nolist=noauth users=rsyncusersecrets file=/etc/rsyncd.passwdhosts allow=*

步骤2 执行以下命令,创建密钥文件。

echo 'rsyncuser:[password]'>/etc/rsyncd.passwd

说明

[password]代表密码,请结合自己情况设置相应的密码即可。

chmod 600 /etc/rsyncd.passwd

步骤3 启动rsync服务。

systemctl start rsyncd.service

systemctl enable rsyncd.service

步骤4 创建文件。

mkdir /tmp/rsync

cd /tmp/rsync

touch huawei

鲲鹏软件栈 应用工具移植指南 18 安装 rsync

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 65

Page 71: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

步骤5 在另一台安装有rsync的ECS上,执行以下命令并输入第2步设置的密码,拉取远程服务上“test_rsync”下的文件。

rsync -aux rsyncuser@[ECS IP]::test_rsync ./

----结束

鲲鹏软件栈 应用工具移植指南 18 安装 rsync

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 66

Page 72: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

19 移植 ZFS

19.1 移植指导

介绍

简要介绍

ZFS是一个拥有逻辑卷管理功能的文件系统, 早源自于SUN为Solaris操作系统开发的文件系统。ZFS是一个具有高存储容量、文件系统与卷管理概念集成、崭新的磁盘逻辑结构的轻量级文件系统,同时也是一个便捷的存储池管理系统。ZFS是一个使用CDDL许可证授权的开源项目。

语言:C/C++

一句话描述:文件系统

建议的版本

建议使用版本为“zfs-0.8.1”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表19-1所示。

表 19-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 ● 系统盘:高IO(40GB)

● 数据盘:高IO(40GB)

操作系统要求

鲲鹏软件栈 应用工具移植指南 19 移植 ZFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 67

Page 73: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

操作系统要求如表19-2所示。

表 19-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

Kernel 4.14.0 在公共镜像中已提供。

配置编译环境

说明

通过华为云发放的弹性云服务器默认已将GCC安装,无需单独安装配置。

步骤1 参考ZFS安装指导,安装依赖包。

yum install autoconf automake libtool rpm-build ksh -y

yum install zlib-devel libuuid-devel libattr-devel libblkid-devel libselinux-devel libgudev1-devel -y

yum install libacl-devel libaio-devel device-mapper-devel openssl-devellibtirpc-devel elfutils-libelf-devel -y

yum install kernel-devel -y

yum install epel-release -y

yum install python36 python36-devel python36-setuptools python36-cffi -y

步骤2 检查OS版本与kernel-devel是否一致。

uname -a

rpm -qa |grep kernel-devel

回显内容示例如下,关注加粗的内容。

[root@ecs-0001 ~]# uname -aLinux ecs-0001 4.14.0-115.5.1.el7a.aarch64 #1 SMP Mon Feb 4 16:38:08 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux[root@ecs-0001 ~]# rpm -qa |grep kernel-develkernel-devel-4.14.0-115.8.1.el7a.aarch64

步骤3 如果检查发现kernel-devel版本高于当前OS版本,则需要升级操作系统内核。

yum upgrade kernel -y

reboot

步骤4 重新检查版本是否一致。

uname -a

rpm -qa |grep kernel-devel

回显内容示例如下,关注加粗的内容。[root@ecs-0001 ~]# uname -aLinux ecs-0001 4.14.0-115.8.1.el7a.aarch64 #1 SMP Wed Jun 5 15:01:21 UTC 2019 aarch64 aarch64

鲲鹏软件栈 应用工具移植指南 19 移植 ZFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 68

Page 74: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

aarch64 GNU/Linux[root@ecs-0001 ~]# rpm -qa |grep kernel-develkernel-devel-4.14.0-115.8.1.el7a.aarch64

----结束

获取源码

ZFS源码下载。

wget https://github.com/zfsonlinux/zfs/releases/download/zfs-0.8.1/zfs-0.8.1.tar.gz

编译和安装

tar -zxvf zfs-0.8.1.tar.gz

cd zfs-0.8.1

./configure --build=arm-linux

make -s -j$(nproc)

make install

运行和验证

步骤1 加载ZFS内核模块。

1. 加载ZFS内核模块。

cd /usr/local/share/zfs/./zfs.sh

2. 检查ZFS相关内核模块是否加载成功。

lsmod |grep zfs回显内容如下:[root@ecs-0001 zfs]# lsmod |grep zfszfs 3932160 20489422 icp 393216 16532263 zfszlua 327680 15447843 zfszcommon 262144 14838387 zfszunicode 524288 14039163 zfsznvpair 262144 13535480 zcommon,zfszavl 262144 12979271 zfsspl 262144 11258883 znvpair,zcommon,zfs,icp,zavl

步骤2 创建ZFS文件系统。

1. 创建ZFS存储池。

说明

“/dev/vdb”必须为未使用过的磁盘,以避免破坏该盘中的原有数据。

zpool create tank /dev/vdb2. 创建ZFS文件系统。

zfs create tank/test-zfs-013. 通过"mount |grep test-zfs-01" 或 "df -h"查看文件系统是否挂载。

回显内容如下所示,关注加粗的内容。

鲲鹏软件栈 应用工具移植指南 19 移植 ZFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 69

Page 75: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

[root@ecs-0001 zfs]# mount |grep test-zfs-01tank/test-zfs-01 on /tank/test-zfs-01 type zfs (rw,xattr,noacl)[root@ecs-0001 zfs]# df -hFilesystem Size Used Avail Use% Mounted ondevtmpfs 6.7G 0 6.7G 0% /devtmpfs 6.7G 0 6.7G 0% /dev/shmtmpfs 6.7G 21M 6.7G 1% /runtmpfs 6.7G 0 6.7G 0% /sys/fs/cgroup/dev/vda2 39G 20G 17G 56% //dev/vda1 1022M 7.7M 1015M 1% /boot/efi//192.168.1.244/FileShare 3.2G 76K 3.2G 1% /tmp/smbtmpfs 1.4G 0 1.4G 0% /run/user/0tank 9.3G 128K 9.3G 1% /tanktank/test-zfs-01 9.3G 128K 9.3G 1% /tank/test-zfs-01

4. 卸载ZFS文件系统。

zfs umount tank/test-zfs-015. 通过"mount |grep test-zfs-01" 或 "df -h"查看文件系统是否卸载成功。

回显内容如下所示。[root@ecs-0001 zfs]# df -hFilesystem Size Used Avail Use% Mounted ondevtmpfs 6.7G 0 6.7G 0% /devtmpfs 6.7G 0 6.7G 0% /dev/shmtmpfs 6.7G 21M 6.7G 1% /runtmpfs 6.7G 0 6.7G 0% /sys/fs/cgroup/dev/vda2 39G 20G 17G 56% //dev/vda1 1022M 7.7M 1015M 1% /boot/efi//192.168.1.244/FileShare 3.2G 76K 3.2G 1% /tmp/smbtmpfs 1.4G 0 1.4G 0% /run/user/0tank 9.3G 128K 9.3G 1% /tank

6. 挂载ZFS文件系统。

zfs mount tank/test-zfs-017. 通过"mount |grep test-zfs-01" 或 "df -h"查看文件系统是否挂载成功。

----结束

参考资料

ZFS:https://zfsonlinux.org/

ZFS wiki:https://github.com/zfsonlinux/zfs/wiki

19.2 故障排除问题描述:

configure时出现"“error: cannot guess build type; you must specify one”提示当前编译类型无法找到。

如下所示:

configure: error: cannot guess build type; you must specify one

问题原因:问题的原因是自带“config.guess”版本不匹配。

解决方法一:指定平台,手动编译

./configure --build=arm-linuxmake -s -j$(nproc)

鲲鹏软件栈 应用工具移植指南 19 移植 ZFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 70

Page 76: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

解决方法二:替换ZFS自带“config.guess”。

mv config/config.guess config/config.guess.bakcp /usr/share/automake-1.13/config.guess config/make -s -j$(nproc)

鲲鹏软件栈 应用工具移植指南 19 移植 ZFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 71

Page 77: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

20 移植 Zstd

介绍

简要介绍

Zstd是一款免费的开源,快速实时数据压缩程序,具有更好的压缩比,由Facebook开发。它是用C语言编写的无损压缩算法。

语言:C/C++

一句话描述:数据压缩工具

建议的版本

建议使用版本为“zstd-1.3.4”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表20-1所示。

表 20-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表20-2所示。

表 20-2 操作系统要求

项目 版本 下载地址

EulerOS 2.8 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 20 移植 Zstd

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 72

Page 78: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 版本 下载地址

Kernel 4.19.36 在公共镜像中已提供。

获取源码

执行以下命令,获取Zstd软件包。

wget https://github.com/facebook/zstd/archive/v1.3.4.tar.gz

编译和安装

步骤1 解压软件包。

tar -zxvf v1.3.4.tar.gz

步骤2 进入“zstd-1.3.4”目录。

cd zstd-1.3.4

步骤3 编译Zstd源码。

make -j4

make install

----结束

运行和验证

步骤1 压缩Zstd的软件包“v1.3.4.tar.gz”。

zstd v1.3.4.tar.gz

步骤2 查看压缩前后的文件。

ll zstd v1.3.4.tar.gz*

回显内容如下:

-rw------- 1 root root 2059958 Jul 10 15:40 v1.3.4.tar.gz-rw------- 1 root root 2060020 Jul 10 15:40 v1.3.4.tar.gz.zst

步骤3 删除原文件“zstd v1.3.4.tar.gz”。

rm -f zstd v1.3.4.tar.gz

步骤4 解压文件。

unzstd v1.3.4.tar.gz.zst

步骤5 查看解压前后的文件。

ll zstd v1.3.4.tar.gz*

回显内容如下,能解压出原来的文件表示功能正常。

鲲鹏软件栈 应用工具移植指南 20 移植 Zstd

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 73

Page 79: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

-rw------- 1 root root 2059958 Jul 10 15:40 v1.3.4.tar.gz-rw------- 1 root root 2060020 Jul 10 15:40 v1.3.4.tar.gz.zst

----结束

鲲鹏软件栈 应用工具移植指南 20 移植 Zstd

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 74

Page 80: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

21 安装 catj

介绍

简要介绍

catj是一个可以将JSON文件以平铺的格式显示出来的脚本工具。

语言:JS

一句话描述:格式化显示Json

开源协议:MIT

建议的版本

建议使用npm安装对应系统自带的版本。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表21-1所示。

表 21-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表21-2所示。

表 21-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 21 安装 catj

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 75

Page 81: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 说明 下载地址

Kernel 4.14.0-115 在公共镜像中已提供。

配置安装环境

步骤1 安装wget。

yum install wget -y

步骤2 安装npm。

yum install npm

----结束

安装

以npm方式安装catj。

cd /usr/local/src

npm install -g catj

运行和验证

步骤1 创建测试源文件。

cd /usr/local/src

vi test.json

在“test.json”输入如下内容:

{ "mappings": { "templates": [ { "fields": { "mapping": { "norms": false, "type": "text", "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } } } } ] }}

步骤2 运行测试文件。

catj test.json

回显内容如下,表示结果正常。

鲲鹏软件栈 应用工具移植指南 21 安装 catj

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 76

Page 82: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

[root@ecs-centos-a ~]# catj test.json .mappings.templates[0].fields.mapping.norms = false.mappings.templates[0].fields.mapping.type = "text".mappings.templates[0].fields.mapping.fields.keyword.ignore_above = 256.mappings.templates[0].fields.mapping.fields.keyword.type = "keyword"

----结束

鲲鹏软件栈 应用工具移植指南 21 安装 catj

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 77

Page 83: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

22 移植 DHCP

介绍

简要介绍

动态主机配置协议(DHCP)是一种网络协议,用于分配IP地址并向服务器,台式机或移动设备等设备提供配置信息,以便它们可以使用Internet协议(IP)在网络上进行通信。 ISC DHCP是一个软件集合,它实现了DHCP(动态主机配置协议)套件的所有方面。

语言:C

一句话描述:DHCP服务器,客户端和中继代理的软件集合

开源协议:custom:isc-dhcp

建议的版本

建议使用版本为“dhcp-4.4.1”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表22-1所示。

表 22-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表22-2所示。

鲲鹏软件栈 应用工具移植指南 22 移植 DHCP

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 78

Page 84: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 22-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

步骤1 安装wget工具。

yum install wget -y

步骤2 安装依赖库glibc。

yum install glibc -y

----结束

获取源码

获取“dhcp-4.4.1”源码包。

cd /usr/local/src

wget https://downloads.isc.org/isc/dhcp/4.4.1/dhcp-4.4.1.tar.gz

编译和安装

步骤1 解压软件包。

tar -zxvf dhcp-4.4.1.tar.gz

步骤2 进入DHCP的安装目录。

cd dhcp-4.4.1/

步骤3 配置生成Makefile文件。

./configure

步骤4 编译和安装DHCP。

make && make install

----结束

运行和验证

步骤1 查询dhclient版本号。

dhclient --version

回显信息如下,表示测试dhclient安装成功。isc-dhclient-4.4.1

鲲鹏软件栈 应用工具移植指南 22 移植 DHCP

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 79

Page 85: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

步骤2 查询dhcpd版本号。

dhcpd --version

回显信息如下,表示测试dhcpd安装成功。isc-dhcpd-4.4.1

步骤3 查询dhcrelay版本号。

dhcrelay --version

回显信息如下,表示测试dhcrelay安装成功。isc-dhcrelay-4.4.1

----结束

鲲鹏软件栈 应用工具移植指南 22 移植 DHCP

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 80

Page 86: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

23 移植 fping

介绍

简要介绍

fping是一个小型命令行工具,用于向网络主机发送ICMP ( Internet控制消息协议 )回应请求,类似于ping,但在ping多个主机时性能要高得多。fping完全不同于ping,因为您可以在命令行上定义任意数量的主机,或者指定包含要ping的IP地址或主机列表的文件。

语言:C

一句话描述:小型命令行工具

建议的版本

建议使用版本为“fping-4.2”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表23-1所示。

表 23-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表23-2所示。

鲲鹏软件栈 应用工具移植指南 23 移植 fping

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 81

Page 87: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 23-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

安装wget工具。

yum install wget -y

获取源码

获取“fping-4.2”源码包。

cd /usr/local/src

wget https://fping.org/dist/fping-4.2.tar.gz

编译和安装

步骤1 解压软件包。

cd /usr/local/src

tar -zxvf fping-4.2.tar.gz

步骤2 进入fping的安装目录。

cd fping-4.2/

步骤3 安装fping。

./configure --prefix=/usr/local/fping

make && make install

步骤4 配置环境变量。

1. 修改“/etc/profile”文件。

vim /etc/profile在倒数第三行添加如下内容:export PATH=$PATH:/usr/local/fping/sbin

2. 保存并退出。

3. 使配置修改生效。

source /etc/profile

----结束

运行和验证

测试fping是否安装完成。

鲲鹏软件栈 应用工具移植指南 23 移植 fping

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 82

Page 88: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

fping -v

回显信息如下,则表示安装成功。

fping: Version 4.2fping: comments to [email protected]

鲲鹏软件栈 应用工具移植指南 23 移植 fping

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 83

Page 89: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

24 移植 FreeType2

介绍

简要介绍

FreeType是一个免费提供的用于呈现字体的软件库。它用C语言编写,设计得小巧、高效、高度可定制、可移植,同时能够生成大多数矢量和位图字体格式的高质量输出(字形图像)。

语言:ANSI C

一句话描述:字体引擎

开源协议:FreeType和GPL 2两种协议

建议的版本

建议使用版本为“freetype-2.10.0”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表24-1所示。

表 24-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表24-2所示。

鲲鹏软件栈 应用工具移植指南 24 移植 FreeType2

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 84

Page 90: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 24-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

安装wget工具。

yum install wget -y

获取源码

获取“freetype-2.10.0”源码包。

cd /usr/local/src

wget https://download-mirror.savannah.gnu.org/releases/freetype/freetype-2.10.0.tar.gz

编译和安装

步骤1 解压软件包。

cd /usr/local/src

tar -zxvf freetype-2.10.0.tar.gz

步骤2 进入FreeType的安装目录。

cd freetype-2.10.0/

步骤3 安装FreeType。

./configure --prefix=/usr/local/freetype

make

make install

----结束

运行和验证

验证FreeType是否安装成功。

步骤1 进入FreeType的安装路径。

cd /usr/local/freetype/

ls

查看该路径下会生成“include”和“lib”文件夹。

鲲鹏软件栈 应用工具移植指南 24 移植 FreeType2

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 85

Page 91: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

步骤2 进入lib文件夹。

cd lib

ls

查看该路径下会生成“libfreetype.so”等动态链接库文件,则表示FreeType安装成功。

----结束

鲲鹏软件栈 应用工具移植指南 24 移植 FreeType2

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 86

Page 92: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

25 移植 GDAL

介绍

简要介绍

GDAL是一个栅格和矢量地理空间数据格式的翻译库,由开源地理空间基金会以X/MIT风格的开源许可证发布。作为一个库,它为所有支持格式的调用应用程序提供了一个单一的栅格抽象数据模型和单一的矢量抽象数据模型。它还附带了用于数据转换和处理的各种有用的命令行实用程序。

语言:C++

一句话描述:栅格空间数据转换库

开源协议:X/MIT

建议的版本

建议使用版本为“gdal-2.2.1”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表25-1所示。

表 25-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表25-2所示。

鲲鹏软件栈 应用工具移植指南 25 移植 GDAL

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 87

Page 93: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 25-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

步骤1 安装wget工具。

yum install wget -y

步骤2 安装GDAL的依赖库。

yum install -y subversion numpy swig gcc-c++ sqlite-devel libxml2-develpython-devel expat-devel libcurl-devel

----结束

获取源码

获取“gdal-2.2.1”源码包。

cd /usr/local/src

wget https://codeload.github.com/OSGeo/gdal/tar.gz/v2.2.1

编译和安装

步骤1 解压软件包。

cd /usr/local/src

tar -zxvf v2.2.1

步骤2 进入GDAL的安装目录。

cd gdal-2.2.1/gdal/

步骤3 安装GDAL。

./configure

make && make install

----结束

运行和验证

测试GDAL是否安装完成。

gdalinfo --version

回显信息如下,则表示安装成功。

GDAL 2.2.1, released 2017/06/23

鲲鹏软件栈 应用工具移植指南 25 移植 GDAL

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 88

Page 94: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

鲲鹏软件栈 应用工具移植指南 25 移植 GDAL

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 89

Page 95: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

26 安装 Glassfish

介绍

简要介绍

Glassfish是一款强健的商业兼容应用型服务器,达到产品级质量,可免费用于开发、部署和重新分发。

语言:Java

一句话描述:应用服务器

开源协议:CDDL Version 1.1

建议的版本

建议使用版本为“Glassfish-4.0”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表26-1所示。

表 26-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表26-2所示。

鲲鹏软件栈 应用工具移植指南 26 安装 Glassfish

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 90

Page 96: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 26-2 操作系统要求

项目 版本 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0 在公共镜像中已提供。

配置安装环境

步骤1 安装wget工具。

yum install wget -y

步骤2 安装JDK。

1. 安装open-jdk。

yum install java-1.8.0-openjdk2. 配置环境变量,修改“/etc/profile”文件为如下内容:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0

3. 使环境变量生效。

source /etc/profile

----结束

获取软件包

步骤1 获取Glassfish软件包。

wget http://download.oracle.com/glassfish/4.0/release/glassfish-4.0-ml.zip

步骤2 复制至云服务器的“/usr/local/src”目录。

----结束

安装

步骤1 解压软件包。

unzip glassfish-4.0-ml.zip

步骤2 把解压好的目录移动到“/usr/local”。

mv glassfish4/ /usr/local/

步骤3 进入Glassfish的“bin”目录。

cd /usr/local/glassfish4/glassfish/bin

步骤4 运行glassfish。

./startserv &

步骤5 设置管理员账号和口令。

./asadmin change-admin-password

鲲鹏软件栈 应用工具移植指南 26 安装 Glassfish

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 91

Page 97: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

说明

“admin”帐号默认没有设置密码,所以直接确认回车即可。

系统回显内容如下:

Enter admin user name [default: admin]>Enter the admin password> Enter the new admin password> Enter the new admin password again> Command change-admin-password executed successfully.

步骤6 开启远程访问。

./asadmin enable-secure-admin

系统回显内容如下:

Enter admin user name> adminEnter admin password for user "admin"> You must restart all running servers for the change in secure admin to take effect.Command enable-secure-admin executed successfully.

步骤7 重启Glassfish。

./stopserv

./startserv &

----结束

运行和验证

浏览器访问Glassfish。

http://[ECS IP]:4848

界面显示如图26-1所示。

图 26-1 Glassfish 界面

鲲鹏软件栈 应用工具移植指南 26 安装 Glassfish

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 92

Page 98: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

27 移植 hping

27.1 移植指导

介绍

简要介绍

hping是一个命令行下使用的TCP/IP数据包组装/分析工具,其命令模式很像Unix下的ping命令,但是它不是只能发送ICMP回应请求,它还可以支持TCP、UDP、ICMP和RAW-IP协议,它有一个路由跟踪模式,能够在两个相互包含的通道之间传送文件。hping常被用于检测网络和主机,其功能非常强大,可在多种操作系统下运行,如Linux,FreeBSD,NetBSD,OpenBSD,Solaris,MacOs X,Windows。

语言:C

一句话描述:命令行下的TCP/IP数据包组装/分析工具

开源协议:GPL 2

建议的版本

建议使用版本为“hping-3.0.0-alpha-1”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表27-1所示。

表 27-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

鲲鹏软件栈 应用工具移植指南 27 移植 hping

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 93

Page 99: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

操作系统要求如表27-2所示。

表 27-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

步骤1 安装wget工具。

yum install wget -y

步骤2 安装hping的依赖库和工具。

yum install -y libpcap-devel tcl tcl-devel

----结束

获取源码

获取“hping-3.0.0-alpha-1”源码包。

cd /usr/local/src

wget https://github.com/antirez/hping/archive/master.zip

编译和安装

步骤1 解压软件包。

cd /usr/local/src

unzip master.zip

步骤2 建立软链接。

ln -sf /usr/include/pcap-bpf.h /usr/include/net/bpf.h

步骤3 进入hping的安装目录。

cd hping-master/

步骤4 安装hping。

./configure

make && make install

----结束

运行和验证

测试hping是否安装完成。

鲲鹏软件栈 应用工具移植指南 27 移植 hping

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 94

Page 100: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

hping -v

回显信息如下,则表示安装成功。

hping version 3.0.0-alpha-1 ($Id: release.h,v 1.4 2004/04/09 23:38:56 antirez Exp $)This binary is TCL scripting capable

27.2 故障排除

现象描述

hping在make编译过程中,出现“libpcap_stuff.c:19:21: fatal error: net/bpf.h: Nosuch file or directory”错误提示信息,如下所示:

libpcap_stuff.c:19:21: fatal error: net/bpf.h: No such file or directory #include <net/bpf.h> ^compilation terminated.make: *** [libpcap_stuff.o] Error 1

可能原因

编译过程中找不到“net/bpf.h”头文件。

处理步骤

步骤1 添加软链接,便于编译时找到“net/bpf.h”头文件。

ln -sf /usr/include/pcap-bpf.h /usr/include/net/bpf.h

步骤2 删除上次编译失败的相关文件。

make clean

步骤3 再重新编译执行即可。

----结束

鲲鹏软件栈 应用工具移植指南 27 移植 hping

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 95

Page 101: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

28 移植 http_load

介绍

简要介绍

http_load是一款基于Linux平台的web服务器性能测试工具,用于测试web服务器的吞吐量与负载,web页面的性能。

语言:Java

一句话描述:web服务器性能测试工具

建议的版本

建议使用版本为“http_load-09Mar2016”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表28-1所示。

表 28-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表28-2所示。

表 28-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 28 移植 http_load

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 96

Page 102: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 说明 下载地址

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

安装wget工具。

yum install wget -y

获取源码

获取“http_load-09Mar2016”源码包。

cd /usr/local/src

wget http://www.acme.com/software/http_load/http_load-09Mar2016.tar.gz

编译和安装

步骤1 解压软件包。

cd /usr/local/src

tar -zxvf http_load-09Mar2016.tar.gz

步骤2 进入http_load的安装目录。

cd http_load-09Mar2016

步骤3 创建“ /usr/local/man”目录。

mkdir /usr/local/man

步骤4 安装http_load。

make && make install

----结束

运行和验证

测试http_load是否安装完成。

1. 创建urls文件。

vi urls

添加如下内容:http://www.acme.com/software/http_load/

2. 执行以下命令。持续10秒,每秒访问5次,测试“urls”中指定页面的性能。

./http_load -rate 5 -seconds 10 urls

命令参数说明如表28-3所示。

鲲鹏软件栈 应用工具移植指南 28 移植 http_load

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 97

Page 103: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 28-3 http_load 命令参数说明

参数 说明

-rate 表示每秒的访问频率。

-seconds

表示总计的访问时间。

如下所示,正常返回该页面的常用性能指标,即表示http_load已安装完成,并可正常使用。48 fetches, 5 max parallel, 125136 bytes, in 10.001 seconds2607 mean bytes/connection4.7995 fetches/sec, 12512.3 bytes/secmsecs/connect: 308.452 mean, 3281.82 max, 157.053 minmsecs/first-response: 165.622 mean, 591.551 max, 155.5 minHTTP response codes: code 200 -- 48

鲲鹏软件栈 应用工具移植指南 28 移植 http_load

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 98

Page 104: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

29 移植 iniparser

介绍

简要介绍

iniparser是针对INI文件的解析器。INI文件则是一些系统或软件的配置文件。

语言:C

一句话描述:INI配置文件解析器

开源协议:MIT

建议的版本

建议使用版本为“iniparser-3.1”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表29-1所示。

表 29-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表29-2所示。

表 29-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 29 移植 iniparser

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 99

Page 105: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 说明 下载地址

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

安装wget工具。

yum install wget -y

获取源码

获取“iniparser-3.1”源码包。

cd /usr/local/src

wget https://codeload.github.com/ndevilla/iniparser/tar.gz/v3.1

编译和安装

步骤1 解压软件包。

cd /usr/local/src

tar -zxvf v3.1

步骤2 进入iniparser的安装目录。

cd iniparser-3.1/

步骤3 安装iniparser。

make

步骤4 编译成功后,检查是否生成库文件和头文件。

1. 检查库文件。

cd /usr/local/src/iniparser-3.1ls回显信息如下,生成静态库文件“libiniparser.a”和动态库文件“libiniparser.so.0”。AUTHORS doc html INSTALL libiniparser.a libiniparser.so.0 LICENSE Makefile README src test

2. 检查头文件。

cd /usr/local/src/iniparser-3.1/srcls回显信息如下,生成头文件“dictionary.h”和“iniparser.h”。dictionary.c dictionary.h dictionary.o iniparser.c iniparser.h iniparser.o

----结束

运行和验证

测试iniparser是否安装完成。

鲲鹏软件栈 应用工具移植指南 29 移植 iniparser

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 100

Page 106: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

1. 创建iniparser的测试程序路径。

cd /usr/local/srcmkdir iniparser_testcd iniparser_test/

2. 拷贝相关库文件和头文件到测试路径。

cp /usr/local/src/iniparser-3.1/src/dictionary.h /usr/local/src/iniparser_test/cp /usr/local/src/iniparser-3.1/src/iniparser.h /usr/local/src/iniparser_test/cp /usr/local/src/iniparser-3.1/libiniparser.a /usr/local/src/iniparser_test/cp /usr/local/src/iniparser-3.1/libiniparser.so.0 /usr/local/src/iniparser_test/

3. 创建待测试的配置文件“example.ini”。

vim example.ini编辑如下内容,并保存退出。[tcp]port = 8000;ip = 127.0.0.1;

4. 创建运行程序测试iniparser的功能。

vim example.c编辑如下内容,并保存退出。#include <stdio.h>#include <stdlib.h>#include "iniparser.h"

int main(void){ dictionary *ini; int n = 0; char *str; ini = iniparser_load("example.ini");//parser the file if(ini == NULL) { fprintf(stderr,"can not open %s","example.ini"); exit(EXIT_FAILURE); } printf("dictionary obj:\n"); iniparser_dump(ini,stderr);//save ini to stderr printf("\n%s:\n",iniparser_getsecname(ini,0));//get section name n = iniparser_getint(ini,"tcp:port",-1); printf("port : %d\n",n); str = iniparser_getstring(ini,"tcp:ip","null"); printf("ip : %s\n",str); iniparser_freedict(ini);//free dirctionary obj return 0;}

5. 编译运行“example.c”程序。

gcc example.c -o example -L. -liniparser./example回显信息如下,则表示iniparser安装成功且可正常使用。dictionary obj:[tcp]=UNDEF[tcp:port]=[8000][tcp:ip]=[127.0.0.1]

tcp:

鲲鹏软件栈 应用工具移植指南 29 移植 iniparser

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 101

Page 107: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

port : 8000ip : 127.0.0.1

鲲鹏软件栈 应用工具移植指南 29 移植 iniparser

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 102

Page 108: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

30 安装 iRedMail

介绍

简要介绍

iRedMail是一个基于Linux/BSD系统的免费的、功能完备、成熟的邮件服务器解决方案,同时提供WebMail和Web管理界面,方便易用。

一句话描述:邮件服务器

开源协议:GPL 2.0

建议的版本

建议使用版本为“iRedMail-0.9.9”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表30-1所示。

表 30-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表30-2所示。

表 30-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 30 安装 iRedMail

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 103

Page 109: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 说明 下载地址

Kernel 4.14.0-115 在公共镜像中已提供。

配置安装环境

步骤1 安装wget工具。

yum install wget -y

步骤2 设置主机名。

官方建议:不管你的服务器将用于实际运行还是仅用作测试,都建议设置一个完整域名(FQDN)的主机名。

vi /etc/hostname

将文件内容换做自定义的完整域名主机名,例如:

说明

如果采用的是centos 7的OS,则修改主机名文件的路径为“/etc/hostname”,其他OS请参考https://docs.iredmail.org/install.iredmail.on.rhel-zh_CN.html

mail.mySelf.com

步骤3 配置hosts。

在“ /etc/hosts”里定义主机名和IP地址的对应关系。

说明

一定要将FQDN主机名列在第一个。

vi /etc/hosts

添加第二行内容,如下所示:“mail.mySelf.com”为自定义的主机名

::1 localhostlocalhost.localdomain localhost6 localhost6.localdomain6

127.0.0.1 mail.mySelf.com mail localhost localhost.localdomain

127.0.0.1localhostlocalhost.localdomain localhost4 localhost4.localdomain4127.0.0.1localhostlocalhost127.0.0.1ecs-xyt ecs-xyt

步骤4 配置完成后,重启云服务器。

reboot

步骤5 安装依赖包。

yum install wget bzip2 python-urllib3 -y

----结束

获取软件包

获取“iRedMail-0.9.9”软件包。

cd /usr/local/src

鲲鹏软件栈 应用工具移植指南 30 安装 iRedMail

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 104

Page 110: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.9.tar.bz2

安装

步骤1 解压软件包。

cd /usr/local/src

tar -xjf iRedMail-0.9.9.tar.bz2

步骤2 进入iRedMail的安装目录。

cd /usr/local/src/iRedMail-0.9.9

步骤3 安装iRedMail。

sh iRedMail.sh

请按照界面提示,完成安装。

步骤4 安装完成后,重启云服务器。

reboot

----结束

运行和验证

步骤1 获取登录的用户名和密码。

用户名和密码在“/usr/local/src/iRedMail-0.9.9/iRedMail.tips”文件中。

vi /usr/local/src/iRedMail-0.9.9/iRedMail.tipsAdmin of domain mail.mySelf.com:

* Account: [email protected] * Password: XXXXX

步骤2 在浏览器中输入“http://[ECS IP]”可以看到返回的iRedMail登录相关信息。

通过获取的用户名和密码,进入邮箱,如图30-1所示。

图 30-1 进入邮箱

----结束

鲲鹏软件栈 应用工具移植指南 30 安装 iRedMail

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 105

Page 111: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

31 安装 JpegOptim

介绍

简要介绍

JpegOptim是用于优化jpeg文件的实用程序,提供无损优化(基于优化霍夫曼表)和基于设置 大品质因数的“有损”优化。

语言:C

一句话描述:用于优化jpeg文件的实用程序

开源协议:GPL 2

建议的版本

建议使用版本为“jpegoptim-1.4.6”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表31-1所示。

表 31-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表31-2所示。

鲲鹏软件栈 应用工具移植指南 31 安装 JpegOptim

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 106

Page 112: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 31-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

安装

CentOS 7.6中自带JpegOptim安装包,直接使用yum命令安装。

yum install jpegoptim -y

回显信息如下,则JpegOptim安装完成:Installed: jpegoptim.aarch64 0:1.4.6-1.el7

Complete!

运行和验证

查询JpegOptim版本号。

jpegoptim --version

回显信息如下,则表示JpegOptim安装成功。jpegoptim v1.4.6 aarch64-redhat-linux-gnuCopyright (C) 1996-2018, Timo Kokkonen

This program comes with ABSOLUTELY NO WARRANTY. This is free software,and you are welcome to redistirbute it under certain conditions.See the GNU General Public License for more details.

libjpeg version: 6b 27-Mar-1998Copyright (C) 1991-2012 Thomas G. Lane, Guido VollbedingCopyright (C) 1999-2006 MIYASAKA MasaruCopyright (C) 2009 Pierre Ossman for Cendio ABCopyright (C) 2009-2013 D. R. CommanderCopyright (C) 2009-2011 Nokia Corporation and/or its subsidiary(-ies)

鲲鹏软件栈 应用工具移植指南 31 安装 JpegOptim

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 107

Page 113: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

32 安装 lftp

介绍

简要介绍

lftp是一个文件传输程序,它支持ftp、SETP、HTTP和FTPs等多种文件传输协议。

语言:C++

一句话描述:文件传输程序

开源协议:GPL 3

建议的版本

建议使用版本为“lftp-4.4.8”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表32-1所示。

表 32-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表32-2所示。

表 32-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 32 安装 lftp

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 108

Page 114: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 说明 下载地址

Kernel 4.14.0-115 在公共镜像中已提供。

安装

CentOS 7.6中自带lftp安装包,直接使用yum命令安装。

yum install -y lftp

回显信息如下,则lftp安装完成:Installed: lftp.aarch64 0:4.4.8-11.el7

Complete!

运行和验证

查询lftp版本号。

lftp -v

回显信息如下,则表示lftp安装成功。LFTP | Version 4.4.8 | Copyright (c) 1996-2013 Alexander V. Lukyanov

LFTP is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.

This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.

You should have received a copy of the GNU General Public Licensealong with LFTP. If not, see <http://www.gnu.org/licenses/>.

Send bug reports and questions to the mailing list <[email protected]>.

Libraries used: Readline 6.2

鲲鹏软件栈 应用工具移植指南 32 安装 lftp

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 109

Page 115: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

33 移植 libconfig

介绍

简要介绍

libconfig是一个结构化的配置文件库,用于结构化文件的读取、操作和写入,提供对C、C++两种语言的支持。

语言:C

一句话描述:结构化的配置文件库

开源协议:LGPL-2.1

建议的版本

建议使用版本为“libconfig-1.7.2”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表33-1所示。

表 33-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表33-2所示。

鲲鹏软件栈 应用工具移植指南 33 移植 libconfig

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 110

Page 116: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 33-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

安装wget工具。

yum install wget -y

获取源码

获取“libconfig-1.7.2”源码包。

cd /usr/local/src

wget https://hyperrealm.github.io/libconfig/dist/libconfig-1.7.2.tar.gz

编译和安装

步骤1 解压软件包。

cd /usr/local/src

tar -zxvf libconfig-1.7.2.tar.gz

步骤2 进入libconfig的安装目录。

cd libconfig-1.7.2/

步骤3 安装libconfig。

./configure

make && make install

步骤4 配置环境变量。

export LD_LIBRARY_PATH=/usr/local/lib

----结束

运行和验证

测试libconfig是否安装完成。

步骤1 进入libconfig源码中的“/example/c”示例路径。

cd /usr/local/src/libconfig-1.7.2/examples/c

步骤2 编译并运行示例1,查看libconfig是否能正常调用。

gcc example1.c -o example1 -lconfig

./example1

鲲鹏软件栈 应用工具移植指南 33 移植 libconfig

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 111

Page 117: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

回显信息如下,则表示安装成功。Store name: Books, Movies & More

TITLE AUTHOR PRICE QTYTreasure Island Robert Louis Stevenson $ 29.99 5Snow Crash Neal Stephenson $ 9.99 8

TITLE MEDIA PRICE QTYBrazil DVD $ 19.99 11The City of Lost Children DVD $ 18.99 5Memento Blu-Ray $ 24.99 20

----结束

鲲鹏软件栈 应用工具移植指南 33 移植 libconfig

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 112

Page 118: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

34 移植 log4cpp

介绍

简要介绍

log4cpp是一个开源的C++类库,它提供了在C++程序中使用日志和跟踪调试的功能。使用log4cpp,可以很便利地将日志或者跟踪调试信息写入字符流、内存字符串队列、文件、回滚文件、调试器、Windows日志、本地syslog和远程syslog服务器中。

语言:C++

一句话描述:使用日志和跟踪调试的开源库

开源协议:LGPL

建议的版本

建议使用版本为“log4cpp-1.1.3”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表34-1所示。

表 34-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 14GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表34-2所示。

鲲鹏软件栈 应用工具移植指南 34 移植 log4cpp

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 113

Page 119: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 34-2 操作系统要求

项目 说明 下载地址

CentOS 7.5 在公共镜像中已提供。

Kernel 4.14.0-49 在公共镜像中已提供。

配置编译环境

步骤1 安装wget工具。

yum install wget -y

步骤2 安装依赖包。

yum install pkgconfig -y

步骤3 配置环境变量。

vi /etc/profile

在文件的末尾增加环境变量,增加内容如下:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

步骤4 环境变量生效。

source /etc/profile

----结束

获取源码

获取“log4cpp-1.1.3”源码包。

cd /usr/local/src

wget http://repository.timesys.com/buildsources/l/log4cpp/log4cpp-1.1.3/log4cpp-1.1.3.tar.gz

编译和安装

步骤1 解压软件包。

cd /usr/local/src

tar -zxvf log4cpp-1.1.3.tar.gz

步骤2 进入librpcsecgss的下载目录。

cd log4cpp/

步骤3 修改配置“config.sub”。

vi ./config/config.sub

查找“x86”内容的位置,在其位置后面增加“aarch64”类型。

在“case $basic_machine in”区域的两个位置修改。

鲲鹏软件栈 应用工具移植指南 34 移植 log4cpp

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 114

Page 120: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

1. 修改下述内容。| x86 | ppcbe | mipsbe | mipsle | shbe | shle \

修改后为:| x86 | aarch64 | ppcbe | mipsbe | mipsle | shbe | shle \

2. 修改下述内容。| x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \

修改后为:| x86-*| aarch64-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \

步骤4 配置log4cpp生成Makefile。

./configure --host=aarch64 --build=aarch64

步骤5 编译和安装log4cpp。

make && make install

----结束

运行和验证

查询log4cpp版本号。

log4cpp-config --version

回显信息如下,表示测试log4cpp安装成功。1.1

鲲鹏软件栈 应用工具移植指南 34 移植 log4cpp

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 115

Page 121: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

35 移植 Lsyncd

介绍

简要介绍

Lsyncd实际上是lua语言封装了inotify和rsync工具,采用了Linux内核(2.6.13及以后)里的inotify触发机制,然后通过rsync去差异同步,达到实时的效果。

语言:Lua、C/C++

一句话描述:数据同步工具

开源协议:GPL-3.0

建议的版本

建议使用git获取 新版本。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表35-1所示。

表 35-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表35-2所示。

鲲鹏软件栈 应用工具移植指南 35 移植 Lsyncd

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 116

Page 122: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 35-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

步骤1 安装wget工具。

yum install wget -y

步骤2 安装依赖工具。

yum install git cmake3 -y

步骤3 安装Lua。

yum install git cmake3 lua lua-devel -y

----结束

获取源码

获取lsyncd源码包。

cd /usr/local/src

git clone https://github.com/axkibe/lsyncd.git

编译和安装

步骤1 进入目录。

cd /usr/local/src/lsyncd

mkdir build

cd build

步骤2 配置生成Makefile。

cmake3 ../

步骤3 编译和安装。

make

make install

鲲鹏软件栈 应用工具移植指南 35 移植 Lsyncd

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 117

Page 123: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

说明

如果是下载的其他的版本的源码安装,会出现类似如下错误,是版本问题,在 新的代码中已修复,建议使用git下载 新代码编译。

CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message): Could NOT find Lua (missing: LUA_LIBRARIES) Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE) cmake/FindLua.cmake:114 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:9 (find_package)

----结束

运行和验证

查看安装的lsyncd版本号

lsyncd -version

[root@ecs-centos-a lsyncd]# lsyncd -versionVersion: 2.2.3

鲲鹏软件栈 应用工具移植指南 35 移植 Lsyncd

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 118

Page 124: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

36 移植 lzop

介绍

简要介绍

lzop是一个实现LZO算法的软件工具,较之常见的gzip,lzop可以提供更快的压缩与解压缩速度。

语言:C

一句话描述:实现LZO算法的软件工具

建议的版本

建议使用版本为“lzop-1.03”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表36-1所示。

表 36-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表36-2所示。

表 36-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 36 移植 lzop

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 119

Page 125: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 说明 下载地址

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

步骤1 安装wget工具。

yum install wget -y

步骤2 安装lzop依赖的算法库LZO。

cd /usr/local/src

wget https://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz

tar -zxvf lzo-2.06.tar.gz

cd lzo-2.06/

./configure --build=arm

make && make install

----结束

获取源码

获取“lzop-1.03”源码包。

cd /usr/local/src

wget https://www.lzop.org/download/lzop-1.03.tar.gz

编译和安装

步骤1 解压软件包。

cd /usr/local/src

tar -zxvf lzop-1.03.tar.gz

步骤2 进入lzop的安装目录。

cd lzop-1.03/

步骤3 安装lzop。

./configure --build=arm

make && make install

----结束

运行和验证

测试lzop是否安装完成。

鲲鹏软件栈 应用工具移植指南 36 移植 lzop

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 120

Page 126: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

lzop --version

回显信息如下,则表示lzop安装完成。

lzop 1.03LZO library 2.06Copyright (C) 1996-2010 Markus Franz Xaver Johannes Oberhumer

鲲鹏软件栈 应用工具移植指南 36 移植 lzop

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 121

Page 127: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

37 移植 LZO

介绍

简要介绍

LZO是致力于解压速度的一种数据压缩算法,LZO是Lempel-Ziv-Oberhumer的缩写,该算法是无损压缩算法。

语言:ANSI C

一句话描述:快速的数据压缩算法

开源协议:GPL-2.0

建议的版本

建议使用版本为“lzo-2.06”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表37-1所示。

表 37-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表37-2所示。

鲲鹏软件栈 应用工具移植指南 37 移植 LZO

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 122

Page 128: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 37-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

安装wget工具。

yum install wget -y

获取源码

获取“lzo-2.06”源码包。

cd /usr/local/src

wget https://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz

编译和安装

步骤1 解压软件包。

cd /usr/local/src

tar -zxvf lzo-2.06.tar.gz

步骤2 进入LZO的安装目录。

cd lzo-2.06/

步骤3 安装LZO。

./configure --build=arm

make && make install

----结束

运行和验证

验证LZO是否安装成功。

步骤1 查询是否生成LZO的库文件。

cd /usr/lib64

ls

查看该路径下会生成“liblzo2.so.2”等动态链接库文件。

步骤2 查询是否生成LZO的系列头文件。

cd /usr/local/include/lzo

ls

鲲鹏软件栈 应用工具移植指南 37 移植 LZO

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 123

Page 129: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

查看该路径下会生成“lzo1.h”等一系列使用LZO所需的头文件,则表示LZO安装成功。

----结束

鲲鹏软件栈 应用工具移植指南 37 移植 LZO

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 124

Page 130: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

38 安装 OptiPNG

介绍

简要介绍

OptiPNG是一个PNG优化器,可将图像文件重新压缩为更小的尺寸,而不会丢失任何信息。该程序还可以将外部格式(BMP,GIF,PNM和TIFF)转换为优化后的PNG,并执行PNG完整性检查和更正。

语言:C

一句话描述:PNG优化器

建议的版本

建议使用版本为“optipng-0.7.4”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表38-1所示。

表 38-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表38-2所示。

鲲鹏软件栈 应用工具移植指南 38 安装 OptiPNG

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 125

Page 131: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 38-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

安装

CentOS7.6中自带OptiPNG安装包,直接使用yum命令安装。

yum install optipng -y

回显信息如下,则OptiPNG安装完成。Installed: optipng.aarch64 0:0.7.4-4.el7

Complete!

运行和验证

查询OptiPNG版本号。

optipng --version

回显信息如下,则表示OptiPNG安装成功。OptiPNG version 0.7.4Copyright (C) 2001-2012 Cosmin Truta and the Contributing Authors.

This program is open-source software. See LICENSE for more details.

Portions of this software are based in part on the work of: Jean-loup Gailly and Mark Adler (zlib) Glenn Randers-Pehrson and the PNG Development Group (libpng) Miyasaka Masaru (BMP support) David Koblas (GIF support)

Using libpng version 1.5.13 and zlib version 1.2.7

鲲鹏软件栈 应用工具移植指南 38 安装 OptiPNG

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 126

Page 132: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

39 安装 pflask

介绍

简要介绍

pflask是一个在Linux上创建进程容器的简单工具。 它可用于运行单个命令,甚至可以在隔离环境中启动整个操作系统,其中文件系统层次结构,网络,进程树,IPC子系统和主机/域名可以与主机系统和其他容器隔离。

语言:C++

一句话描述:适用于Linux的轻量级进程容器

开源协议:BSD

建议的版本

建议使用版本为“pflask-0.2”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表39-1所示。

表 39-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 14GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表39-2所示。

鲲鹏软件栈 应用工具移植指南 39 安装 pflask

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 127

Page 133: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 39-2 操作系统要求

项目 说明 下载地址

CentOS 7.5 在公共镜像中已提供。

Kernel 4.14.0-49 在公共镜像中已提供。

配置安装环境

安装git工具。

yum install git -y

获取软件包

获取“pflask-0.2”源码包。

cd /usr/local/src

git clone --depth=50 --branch=devtmpfs https://github.com/ghedo/pflask.gitghedo/pflask

安装

步骤1 进入pflask的下载目录。

cd ghedo/pflask/

步骤2 编译pflask。

./bootstrap.py

./waf configure

./waf build

步骤3 安装pflask。

./waf install

----结束

运行和验证

查询pflask版本号。

pflask -V

回显信息如下,则表示pflask安装成功。pflask 0.2

鲲鹏软件栈 应用工具移植指南 39 安装 pflask

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 128

Page 134: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

40 移植 pigz

介绍

简要介绍

pigz是一个C写的打包解包开源工具。它代表gzip的并行实现,是gzip的全功能替代品,在压缩数据时利用多个处理器和多个内核,即支持多线程并行处理,解压缩比gzip快。

语言:C

一句话描述:一个支持多线程并行处理的打包解包工具

建议的版本

建议使用版本为“pigz-2.4”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表40-1所示。

表 40-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表40-2所示。

鲲鹏软件栈 应用工具移植指南 40 移植 pigz

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 129

Page 135: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 40-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

步骤1 安装wget工具。

yum install wget -y

步骤2 安装依赖包glibc。

yum install glibc -y

步骤3 安装依赖包zlib。

wget http://zlib.net/zlib-1.2.11.tar.gz

tar -zxvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

./configure

make && make install

----结束

获取源码

获取“pigz-2.4”源码包。

cd /usr/local/src

wget https://www.zlib.net/pigz/pigz-2.4.tar.gz

编译和安装

步骤1 解压软件包。

tar -zxvf pigz-2.4.tar.gz

步骤2 进入pigz的安装目录。

cd pigz-2.4/

步骤3 编译pigz。

make

步骤4 将编译生成文件拷贝到系统目录。

cp pigz /usr/local/bin

鲲鹏软件栈 应用工具移植指南 40 移植 pigz

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 130

Page 136: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

cp unpigz /usr/local/bin/

----结束

运行和验证

步骤1 生成文件file

touch file1 file2 file3

步骤2 对文件分别打包。

pigz file1 file2 file3

ls

系统回显如下,表示正常打包,运行正常。file1.gz file2.gz file3.gz

----结束

鲲鹏软件栈 应用工具移植指南 40 移植 pigz

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 131

Page 137: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

41 安装 psutil

介绍

简要介绍

psutil是一个Python模块用来获取正在运行的进程信息和系统的CPU和内存的利用率。类似Linux的ps 、top和Windows的任务管理器等程序。

语言:Python

一句话描述:Python进程处理工具

开源协议:BSD

建议的版本

建议使用版本为“使用系统默认的pip安装的版本”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表41-1所示。

表 41-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表41-2所示。

鲲鹏软件栈 应用工具移植指南 41 安装 psutil

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 132

Page 138: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 41-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置安装环境

步骤1 安装wget工具。

yum install wget -y

步骤2 安装python工具。

yum install python36-devel python36-pip -y

----结束

安装

使用pip3安装psutil。

pip3 install psutil

运行和验证

步骤1 进入python编辑环境。

python3

步骤2 进入编辑环境后,输入如下指令。

import psutil

psutil.cpu_times()

回显内容如下,表示安装成功。

[root@ecs-centos-a ~]# python3Python 3.6.8 (default, Apr 25 2019, 20:50:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import psutil>>> psutil.cpu_times()scputimes(user=511.56, nice=0.79, system=114.39, idle=682433.16, iowait=132.26, irq=0.0, softirq=1.13, steal=0.0, guest=0.0, guest_nice=0.0)>>> >>>

----结束

鲲鹏软件栈 应用工具移植指南 41 安装 psutil

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 133

Page 139: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

42 安装 PyEnchant

介绍

简要介绍

PyEnchant是一个对英语单词进行拼写检查的库,也可以对拼写错误的单词推荐一些可能的正确单词。安装PyEnchant和Enchant后就可以直接在Python程序里引入使用了。

语言:C

一句话描述:对英语单词进行拼写检查的库

开源协议:LGPL 2.1

建议的版本

建议使用版本为“pyenchant-2.0.0”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表42-1所示。

表 42-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表42-2所示。

鲲鹏软件栈 应用工具移植指南 42 安装 PyEnchant

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 134

Page 140: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 42-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置安装环境

步骤1 安装wget工具。

yum install wget -y

步骤2 安装pyenchant的依赖库enchant。

yum install enchant -y

----结束

获取软件包

获取“pyenchant-2.0.0”源码包。

cd /usr/local/src

wget https://codeload.github.com/rfk/pyenchant/tar.gz/v2.0.0

安装

步骤1 解压软件包。

cd /usr/local/src

tar -zxvf v2.0.0

步骤2 进入pyenchant的安装目录。

cd pyenchant-2.0.0/

步骤3 安装pyenchant。

python setup.py build

python setup.py install

----结束

运行和验证

测试pyenchant是否安装完成。

1. 安装python。

参考《鲲鹏生态_python使用指南》安装python。

2. python中引入enchant测试pyenchant是否能对英文单词正确校验。

python

鲲鹏软件栈 应用工具移植指南 42 安装 PyEnchant

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 135

Page 141: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

按如下内容依次输入命令验证。Python 2.7.5 (default, Oct 31 2018, 18:48:32) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import enchant>>> d = enchant.Dict("en_US")>>> d.check("Hello")True>>> d.check("Helo")False>>> d.suggest("Helo")['He lo', 'He-lo', 'Hole', 'Help', 'Helot', 'Hello', 'Halo', 'Hero', 'Hell', 'Held', 'Helm', 'Heloise']>>>

鲲鹏软件栈 应用工具移植指南 42 安装 PyEnchant

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 136

Page 142: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

43 移植 Snappy

介绍

简要介绍

Snappy是一个C++的用来压缩和解压缩的开发包。其目标不是 大限度压缩或者兼容其他压缩格式,而是旨在提供高速压缩速度和合理的压缩率。Snappy比zlib更快,但文件相对要大20%到100%。在 64位模式的Core i7处理器上,可达每秒250兆~500兆的压缩速度。

语言:C/C++

一句话描述:高效的解压和压缩开发包

开源协议:BSD

建议的版本

建议使用版本为“snappy-1.1.7”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表43-1所示。

表 43-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表43-2所示。

鲲鹏软件栈 应用工具移植指南 43 移植 Snappy

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 137

Page 143: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 43-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

安装wget和cmake工具。

yum install cmake3 wget -y

获取源码

获取“snappy-1.1.7”源码包。

cd /usr/local/src

wget https://github.com/google/snappy/archive/1.1.7.tar.gz

编译和安装

步骤1 解压软件包。

cd /usr/local/src

tar -zxvf 1.1.7.tar.gz

步骤2 进入Snappy的安装目录。

cd snappy-1.1.7/

步骤3 安装Snappy。

cmake3 -G "Unix Makefiles" ./

make && make install

----结束

运行和验证

步骤1 创建测试源文件。

cd /usr/local/src

vi test_snappy.c

在“test_snappy.c”插入如下内容:

#include "snappy.h"#include <string>#include <iostream>int main() {std::string s = "akwdksakldhasjkjhkjkd;asjkdhasjkdjkasdghj;wqejhjwjksdkf;asdkjh";std::string d;snappy::Compress(s.data(), s.size(), &d);

鲲鹏软件栈 应用工具移植指南 43 移植 Snappy

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 138

Page 144: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

std::cout<<d<<std::endl;std::cout<<s.size()<<" "<<d.size()<<std::endl;return 0;}

步骤2 编译和运行测试文件。

因为Snappy编译生成的是一个静态库,所以需要由静态库来编译“test_snappy.c”。

g++ test_snappy.c /usr/local/lib64/libsnappy.a -o test

./test

输出如下:表明字符串从62个字节压缩到59个字节。

[root@ecs-snappy-x src]# ./test >Pddsandslkadnsldsan;lf;lkal;fHfsjk;lfsna;lfdskfsa62 59

说明

Snappy是由c++代码编写,所以 好采用g++编译,如果未安装g++,可以通过yum install gcc-c++ -y安装。

----结束

鲲鹏软件栈 应用工具移植指南 43 移植 Snappy

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 139

Page 145: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

44 移植 vsftpd

介绍

简要介绍

vsftpd(或非常安全的FTP守护程序)是用于类Unix系统(包括Linux)的FTP服务器。它是按照GNU通用公共许可证授权的。它支持IPv6、TLS和FTPS(从2.0.0开始显式,从2.1.0开始隐式)。它是Ubuntu、CentOS、Fedora、NimbleX、Slackware和RHELLinux发行版中的默认FTP服务器。

语言:C

一句话描述:FTP服务器软件

开源协议:GPL 2.0

建议的版本

建议使用版本为“vsftp-3.0.2”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表44-1所示。

表 44-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表44-2所示。

鲲鹏软件栈 应用工具移植指南 44 移植 vsftpd

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 140

Page 146: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 44-2 操作系统要求

项目 说明 下载地址

CentOS 7.5 在公共镜像中已提供。

Kernel 4.14.0-49 在公共镜像中已提供。

配置编译环境

步骤1 安装wget工具。

yum install wget -y

步骤2 安装依赖包。

yum install tcp_wrappers -y

yum install tcp_wrappers-devel -y

yum install openssl* -y

yum install libcap-devel -y

----结束

获取源码

步骤1 下载vsftpd软件包。

wget https://github.com/dagwieers/vsftpd/archive/3.0.2.tar.gz

步骤2 复制至云服务器的“/usr/local/src”目录。

----结束

编译和安装

步骤1 解压软件包。

tar -xvf 3.0.2.tar.gz

步骤2 进入vsftpd的安装目录。

cd vsftpd-3.0.2

步骤3 编辑“builddefs.h”。

vi builddefs.h

修改后的内容如下:#ifndef VSF_BUILDDEFS_H#define VSF_BUILDDEFS_H

//#undef VSF_BUILD_TCPWRAPPERS#define VSF_BUILD_TCPWRAPPERS#define VSF_BUILD_PAM//#undef VSF_BUILD_SSL#define VSF_BUILD_SSL#endif /* VSF_BUILDDEFS_H */

鲲鹏软件栈 应用工具移植指南 44 移植 vsftpd

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 141

Page 147: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

步骤4 编译vsftpd源码。

make -j4

make install

----结束

运行和验证

1. 创建“ftp”目录。

mkdir /var/ftp2. 启动vsftpd。

vsftpd &3. 在“/var/ftp”目录下,创建一个文件。

cd /var/ftptouch huawei

4. 连接FTP。

ftp localhost系统回显内容如下:Trying ::1...ftp: connect to address ::1Connection refusedTrying 127.0.0.1...Connected to localhost (127.0.0.1).220 (vsFTPd 3.0.2)Name (localhost:root): ftp331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp>

说明

● “Password”处直接敲回车登录。

● FTP是客户端软件,如果该客户端没有安装FTP,请先通过命令yum install ftp安装。

5. 查看FTP文件。ftp> ls227 Entering Passive Mode (127,0,0,1,42,8).150 Here comes the directory listing.-rw-r--r-- 1 0 0 0 Jul 30 08:46 huawei

鲲鹏软件栈 应用工具移植指南 44 移植 vsftpd

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 142

Page 148: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

45 安装 Xfce

介绍

简要介绍

Xfce是类UNIX操作系统上的轻量级桌面环境。虽然它致力于快速与低资源消耗,但仍然具有视觉吸引力且易于使用。Xfce遵循UNIX的模块化和复用性哲学传统。它包含大量组件,有您期待的现代桌面环境所应具有的完整功能。它们分别打包,您可以从中挑选可用的软件包去创建理想的个人工作环境。

编写语言:C/C++

一句话描述:自由桌面环境

开源协议:GPL

建议的版本

建议使用版本为“xfc4”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表45-1所示。

表 45-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表45-2所示。

鲲鹏软件栈 应用工具移植指南 45 安装 Xfce

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 143

Page 149: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 45-2 操作系统要求

项目 说明 下载地址

Ubuntu 18.04 在公共镜像中已提供。

Kernel 4.15.0 在公共镜像中已提供。

配置安装环境

修改ubuntu镜像源。

cp -a /etc/apt/sources.list /etc/apt/sources.list.bak

wget -O /etc/apt/sources.list https://mirrors.huaweicloud.com/repository/conf/Ubuntu-Ports-bionic.list

apt-get update

说明

如果在apt-get update出现如下错误,执行rm /var/lib/apt/lists/lock删除锁后,继续执行apt-get update即可。

回显内容如下:

root@ecs-ubuntu-xfce:~# apt-get updateReading package lists... DoneE: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)E: Unable to lock directory /var/lib/apt/lists/

安装

步骤1 安装xfce4。

sudo apt-get install xfce4

步骤2 安装vncserver,用来连接xfce4桌面

sudo apt-get install vnc4server

vncserver

请按照提示设置登录VNC的密码信息,输入和确认完成后,会在“~/.vnc”下生成配置文件“xstartup”。配置该文件后。可以通过Windows安装远程连接等工具连接并显示桌面。

步骤3 配置xstartup文件。

vi ~/.vnc/xstartup

将xstartup修改为如下所示,保存退出。#!/bin/shunset SESSION_MANAGERunset DBUS_SESSION_BUS_ADDRESSstartxfce4 &[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

步骤4 重启vncserver。

vncserver -kill :1

鲲鹏软件栈 应用工具移植指南 45 安装 Xfce

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 144

Page 150: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

vncserver

----结束

运行和验证

步骤1 查看xvnc-view服务的端口号

netstat -anp | grep Xvnc

回显内容如下,可获得xvnc-view的端口号为5903。

root@ecs-ubuntu-xfce:~/.vnc# netstat -anp | grep Xvnctcp 0 0 0.0.0.0:6003 0.0.0.0:* LISTEN 20470/Xvnc4 tcp6 0 0 :::5903 :::* LISTEN 20470/Xvnc4 unix 2 [ ACC ] STREAM LISTENING 479524 20470/Xvnc4 /tmp/.X11-unix/X3unix 3 [ ] STREAM CONNECTED 477952 20470/Xvnc4 /tmp/.X11-unix/X3unix 3 [ ] STREAM CONNECTED 477933 20470/Xvnc4 /tmp/.X11-unix/X3

步骤2 在Windows上下载和安装远程连接ubuntu桌面的程序,例如MobaXterm。

步骤3 新建Session,Session类型为vnc。

步骤4 输入安装xfce的Ubuntu的云服务器的公网IP地址,然后连接即可访问Ubuntu的Xfce桌面,如图45-1所示。

说明

为保证正常访问,需要在华为云上,在云服务器安全组规则中,放通上述查找到的xvnc-view的5903端口。

鲲鹏软件栈 应用工具移植指南 45 安装 Xfce

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 145

Page 151: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

图 45-1 连接 Xfce 桌面

----结束

鲲鹏软件栈 应用工具移植指南 45 安装 Xfce

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 146

Page 152: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

46 安装 NFS

介绍

简要介绍

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

一句话描述:网络文件系统

开源协议:GPL

建议的版本

建议使用版本为“NFS-2.3.3”,通过系统自带yum源获取。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表46-1所示。

表 46-1 云服务器配置

项目 说明

规格 kc1.large.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表46-2所示。

鲲鹏软件栈 应用工具移植指南 46 安装 NFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 147

Page 153: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 46-2 操作系统要求

项目 说明 下载地址

CentOS ● 版本:7.5● Kernel:4.14.0

在公共镜像中已提供

EulerOS ● 版本:2.8● Kernel:

4.19.36

在公共镜像中已提供

安装与部署方式● 通过系统自带yum源安装nfs● 准备2台主机,一台当做nfs server,一台当做nfs-cli● 选择Centos7.5作为nfs-server,EulerOS 2.8作为nfs-cli● nfs-server ip为XX1.XX1.XX1.XX1● nfs-cli ip为XX2.XX2.XX2.XX2

安装 NFS

步骤1 分别在两台机器上执行如下命令安装。

yum install nfs-utils -y

步骤2 在server端,配置共享目录,在/etc/exports添加如下内容。/Data XX2.XX2.XX2.0/255.255.255.0(rw,sync,no_root_squash)

步骤3 server端上创建/Data目录。

mkdir /Data

cd /Data

touch arm_test

----结束

运行和验证

步骤1 启动nfs-server。

systemctl restart rpcbind

systemctl restart nfs-server

systemctl enable rpcbind

systemctl enable nfs-server

步骤2 cli端挂载server目录。

mkdir /nfs_date

mount -t nfs [ECS IP]:/Data /nfs_data

鲲鹏软件栈 应用工具移植指南 46 安装 NFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 148

Page 154: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

步骤3 查看nfs_data目录下的文件。

ls /nfs_date/

系统回显如下所示,表示NFS搭建成功。arm_test

----结束

鲲鹏软件栈 应用工具移植指南 46 安装 NFS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 149

Page 155: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

47 安装信呼 OA 系统

介绍

简要介绍

信呼是免费开源的一款办公系统,跨平台的系统,支持APP,pc网页版,pc客户端,REIM即时通信等。

信呼除了部分模块收费插件(企业微信,钉钉对接接口)外,其他100%源代码全部开放,你可以部署到服务器上直接使用。

语言:PHP

一句话描述:一款办公OA系统

开源协议:Apache

建议的版本

建议使用版本为“xinhu_utf8_v1.8.6”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表47-1所示。

表 47-1 云服务器配置

项目 说明

规格 kc1.large.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表47-2所示。

鲲鹏软件栈 应用工具移植指南 47 安装信呼 OA 系统

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 150

Page 156: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 47-2 操作系统要求

项目 说明 下载地址

CentOS ● 版本:7.5● Kernel:4.14.0

在公共镜像中已提供

EulerOS ● 版本:2.8● Kernel:

4.19.36

在公共镜像中已提供

配置编译环境

安装Apache、php环境。

yum install httpd -y

service httpd start

chkconfig httpd on

yum install php -y

yum install php-mysql -y

获取源码

cd /usr/local/src

wget -c http://xinhu-1251238447.file.myqcloud.com/file/xinhu_utf8_v1.8.6.zip

安装

步骤1 解压并部署“信呼OA系统”。

unzip -d ./xinhu xinhu_utf8_v1.8.6.zip;sleep 2; mv xinhu /var/www/html/;sleep 1 ;chmod -R 777 /var/www/html/xinhu/;service httpd restart;sync;

步骤2 查看是否安装成功。

安装完成后,在浏览器输入“ecs-OA的弹性ip/xinhu”即可查看是否安装成功,界面如图47-1所示。

鲲鹏软件栈 应用工具移植指南 47 安装信呼 OA 系统

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 151

Page 157: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

图 47-1 安装界面

步骤3 安装数据库mariadb。

yum install mariadb-server mariadb

步骤4 启动数据库。

systemctl start mariadb ; systemctl enable mariadb ;sync;

步骤5 进入数据库并修改数据库权限。

说明

“mypassword”为密码,请根据实际填写。

mysql

use mysql;

update user set password=password('mypassword') where user='root' andhost='localhost';

flush privileges;

步骤6 退出数据库并重启数据库。

systemctl restart mariadb ; systemctl enable mariadb ;sync;

----结束

鲲鹏软件栈 应用工具移植指南 47 安装信呼 OA 系统

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 152

Page 158: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

运行和验证

步骤1 浏览器输入“ecs-OA的弹性ip/xinhu”,界面如图47-2所示。

图 47-2 安装界面

步骤2 单击“知道了”,继续安装,如图47-3所示。

● 数据库地址:ecs-Database的私有IP地址

● 用户名:root● 密码:数据库密码

● 数据库名称:xinhu

鲲鹏软件栈 应用工具移植指南 47 安装信呼 OA 系统

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 153

Page 159: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

图 47-3 配置参数

步骤3 安装完成后,单击“前去登录页面”,如图47-4和图47-5所示。

图 47-4 完成安装

鲲鹏软件栈 应用工具移植指南 47 安装信呼 OA 系统

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 154

Page 160: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

图 47-5 登录页面

----结束

鲲鹏软件栈 应用工具移植指南 47 安装信呼 OA 系统

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 155

Page 161: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

48 移植 OpenLDAP

48.1 移植指导

介绍

简要介绍

OpenLDAP是轻量型目录访问协议(Lightweight Directory Access Protocol,缩写:LDAP)的一个开源实现。LDAP服务器本质上是一个为只读访问而优化的非关系型数据库。主要用做地址簿查询(如Email客户端)或对各种服务访问做后台认证以及用户数据权限管控。

语言:C

一句话描述:LDAP的一个开源实现

开源协议:custom

建议的版本

建议使用版本为“openldap-2.4.47”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表48-1所示。

表 48-1 云服务器配置

项目 说明

规格 kc1.large.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

鲲鹏软件栈 应用工具移植指南 48 移植 OpenLDAP

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 156

Page 162: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

操作系统要求如表48-2所示。

表 48-2 操作系统要求

项目 说明 下载地址

CentOS ● 版本:7.5● Kernel:4.14.0

在公共镜像中已提供。

Redhat ● 版本:7.5● Kernel:4.14.0

在公共镜像中已提供。

EulerOS ● 版本:2.8● Kernel:

4.19.36

在公共镜像中已提供。

配置编译环境

步骤1 执行如下命令,安装Berkeley DB依赖包。

yum install libdb libdb-devel -y

步骤2 安装GCC编译环境。

通过华为云发放的弹性云服务器默认已安装GCC,无需单独安装配置。

----结束

获取源码

执行如下命令,获取“openldap-2.4.47”源码包。

cd /usr/local/src

wget http://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.47.tgz

编译和安装

步骤1 执行如下命令,解压软件包。

tar -xvf openldap-2.4.47.tgz

步骤2 执行如下命令,进入OpenLDAP安装目录。

cd openldap-2.4.47

步骤3 执行如下命令,生成makefile文件。

./configure --build=arm-linux

步骤4 执行以下命令,编译OpenLDAP源码。

make depend

make -j4

鲲鹏软件栈 应用工具移植指南 48 移植 OpenLDAP

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 157

Page 163: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

make install

说明

默认安装路径为/usr/local,如需要指定安装目录,可以使用--prefix=xxx指定目录。

----结束

运行和验证

执行如下命令,验证OpenLDAP安装结果。

whereis ldapcompare

当系统回显出现类似下面信息时,表示OpenLDAP安装完成。

ldapcompare:/usr/local/bin/ldapcompare

48.2 故障排除

问题一:编译过程中提示“configure: error: cannot guess build type; you mustspecify one”

现象描述:

编译报错“configure: error: cannot guess build type; you must specify one”,如图48-1所示。

图 48-1 编译过程报错

可能原因:

openldap自带的“config.guess”版本不匹配。

问题解决方案一:指定build平台,方法如下:

./configure --build=arm-linuxmake dependmake -j4

问题解决方案二:更换正确的config.guess方法如下:

yum install automakemv ./build/config.guess ./build/config.guess.bakcp /usr/share/automake-1.16/config.guess build/./configuremake dependmake -j4

鲲鹏软件栈 应用工具移植指南 48 移植 OpenLDAP

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 158

Page 164: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

49 移植 Solr

49.1 移植指导

介绍

简要介绍

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

语言:Java

一句话描述:企业级搜索应用服务器

开源协议:Apache

建议的版本

建议使用版本为“solr-8.1.1”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表49-1所示。

表 49-1 云服务器配置

项目 说明

规格 kc1.large.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表49-2所示。

鲲鹏软件栈 应用工具移植指南 49 移植 Solr

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 159

Page 165: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 49-2 操作系统要求

项目 版本 下载地址

EulerOS 2.8 在公共镜像中已提供

Kernel 4.19.36 包含在操作系统镜像中。

配置安装环境

Java版本建议在1.8.0以上版本。

执行如下命令,安装java-1.8.0。

yum install java-1.8.0-openjdk

获取软件包

执行如下命令,获取“solr-8.1.1”源码包。

cd /usr/local/src

wget https://archive.apache.org/dist/lucene/solr/8.1.1/solr-8.1.1.zip

安装

步骤1 解压软件包。

unzip solr-8.1.1.zip

步骤2 移动目录。

mv solr-8.1.1 /usr/local/solr

----结束

运行和验证

步骤1 运行Solr。

/usr/local/solr/bin/solr start –force

步骤2 在本地浏览器输入“http://云服务器弹性IP地址:8080”。

当出现下面页面,如图49-1所示,表示Solr软件运行成功。

鲲鹏软件栈 应用工具移植指南 49 移植 Solr

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 160

Page 166: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

图 49-1 运行成功

----结束

49.2 故障排除

问题一:执行./solr start 命令的时候警告系统文件打开数的问题

现象描述:

如果执行./solr start命令的时候会警告系统文件打开数的问题,图49-2如所示。

图 49-2 警告系统文件打开数

可能原因:

系统允许打开的文件数设置过小。

处理步骤:

步骤1 修改“/etc/sysctl.conf”文件,在 后一行添加如下内容:fs.file-max = 6553560

步骤2 修改“/etc/security/limits.conf”文件,在 后一行添加如下内容:* soft nproc 65535* hard nproc 65535

步骤3 修改/etc/security/limit.d/huawei-nofile.conf* soft nofile 65536* hard nofile 65536

鲲鹏软件栈 应用工具移植指南 49 移植 Solr

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 161

Page 167: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

说明

如果是在CentOS 7.5上,第3步则修改文件“/etc/security/limits.d/20-nproc.conf”* soft nofile 65536* hard nofile 65536

步骤4 重启操作系统,使配置生效reboot

----结束

问题二:root 用户执行警告问题

现象描述:

root用户执行警告问题,如图49-3所示。

图 49-3 执行警告

可能原因:

该应用不建议使用root用户权限启动。

处理步骤:

只需要替换成普通用户执行即可,但要注意执行权限问题,参考操作如下:

1. 如果没有普通用户,则新增用户solr:useradd solr

2. 将solr安装目录改成solr用户权限:chown solr:solr /usr/local/solr -R

3. 切入solr用户,并执行运行solr:su solr/usr/local/solr/bin/solr start

鲲鹏软件栈 应用工具移植指南 49 移植 Solr

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 162

Page 168: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

50 移植 Sphinx

介绍

简要介绍

Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如Java,PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。

语言:C/C++

一句话描述:基于SQL的全文检索引擎

建议的版本

建议使用版本为“sphinx-2.2.11”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表50-1所示。

表 50-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表50-2所示。

鲲鹏软件栈 应用工具移植指南 50 移植 Sphinx

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 163

Page 169: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 50-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

Kernel 4.14.0 在公共镜像中已提供。

配置编译环境

步骤1 安装依赖包。

yum install gcc-c++

yum install automake

yum install imake

yum install libl2-devel

yum install libxml2-devel

yum install expat-devel

步骤2 确保环境中运行着MySQL。

----结束

获取源码

本文档所测试版本为:Sphinx-2.2.11,可通过“https://releases.ansible.com/ansible/ansible-2.0.0.0.tar.gz”下载。

编译和安装

本文以Sphinx-2.2.11为例,下载Sphinx-2.2.11源码,并编译安装。

wget http://sphinxsearch.com/files/sphinx-2.2.11-release.tar.gz

tar -zxvf sphinx-2.2.11-release.tar.gz

cd sphinx-2.2.11-release

./configure

make -j4

make install

运行和验证

步骤1 创建“data”目录。

mkdir /var/data

步骤2 导入Sphinx的测试数据到MySQL中。

mysql -uroot -p test < /usr/local/etc/example.sql

鲲鹏软件栈 应用工具移植指南 50 移植 Sphinx

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 164

Page 170: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

步骤3 备份配置文件。

cp /usr/local/etc/sphinx.conf.dist /usr/local/etc/sphinx.conf

修改“sphinx.conf”文件,对应信息修改成如下内容:

sql_host= localhost #服务器名sql_user= root #数据库账户名sql_pass= Huawei@123 #数据库密码sql_db= test #使用Sphinx库名sql_port= 3306 #optional, default is 3306

注释掉下面内容

sql_query_pre = SET NAMES utf8

步骤4 创建测试索引文件。

cd /usr/local/bin

./indexer --all

步骤5 启动Sphinx搜索服务器。

./searchd

步骤6 进入Sphinx解压后的文件夹中(假设为“/root/sphinx-2.2.11-release/”),并使用Sphinx安装包自带的API工具测试。

cd /root/sphinx-2.2.11-release/api

python test2.py

回显结果如下:

n=1, res=this is my <b>text</b> <b>test</b> to be highlighted n=2, res=this is another <b>test</b> <b>text</b> to be highlighted

----结束

鲲鹏软件栈 应用工具移植指南 50 移植 Sphinx

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 165

Page 171: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

51 安装 Sysbench

介绍

简要介绍

sysbench是一款开源的多线程性能测试工具,可以执行CPU、内存、线程、IO、数据库等方面的性能测试。

编写语言:C

一句话概述:多线程性能测试工具

建议的版本

建议使用版本为“1.0.16”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表51-1所示。

表 51-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表51-2所示。

表 51-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 51 安装 Sysbench

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 166

Page 172: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 版本 下载地址

Kernel 4.14.0 在公共镜像中已提供。

获取源码

https://github.com/akopytov/sysbench/releases提供sysbench各版本的源码压缩包,可以直接下载。

编译和安装

本文以“sysbench-1.0.16”版本、数据库以MariaDB为例,下载源码,并编译安装。

步骤1 安装sysbench的依赖包。

yum install gcc gcc-c++ automake make libtool -y

步骤2 (可选)安装MariaDB数据库。

若已经安装,可跳过此步骤。

yum install mariadb-server -y

步骤3 启动并进入数据库。

systemctl start mariadb

mysql

步骤4 创建 “sysuser”账户供后续测试sysbench使用。

说明

创建账号名为“sysuser”,密码为 “password”的帐号,供后续测试sysbench使用。其中,“password”请根据实际修改。

create user 'sysuser'@'localhost' IDENTIFIED BY 'password';

flush privileges;

GRANT ALL ON *.* TO 'sysuser'@'localhost';

flush privileges;

步骤5 安装sysbench的依赖包mysql-devel。

yum install mysql-devel -y

步骤6 查询MariaDB的库文件保存路径。

mysql_config -help

记录回显信息中的“pkgincludedir”和“pkglibdir”的值,供后续步骤使用,如下面加粗部分所示。

Usage: /usr/bin/mysql_config [OPTIONS]Options: --cflags [-I/usr/include/mysql] --include [-I/usr/include/mysql] --libs [-L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm -ldl -lssl -lcrypto]

鲲鹏软件栈 应用工具移植指南 51 安装 Sysbench

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 167

Page 173: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

--libs_r [-L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm -ldl -lssl -lcrypto] --plugindir [/usr/lib64/mysql/plugin] --socket [/var/lib/mysql/mysql.sock] --port [0] --version [5.5.60] --libmysqld-libs [-L/usr/lib64/mysql -lmysqld] --variable=VAR VAR is one of: pkgincludedir [/usr/include/mysql] pkglibdir [/usr/lib64/mysql] plugindir [/usr/lib64/mysql/plugin]

步骤7 下载sysbench源码。

wget https://codeload.github.com/akopytov/sysbench/tar.gz/1.0.16

步骤8 解压并编译安装sysbench。

tar -zxvf 1.0.16

cd sysbench-1.0.16

./autogen.sh

./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib64/mysql --with-mysql

说明

● “/usr/include/mysql”为步骤6中查到的“pkgincludedir”的值。

● “/usr/lib64/mysql” 为步骤6中查到的“pkglibdir”的值。

回显信息如下,则表示生成编译文件成功。===============================================================================sysbench version : 1.0.16CC : gcc -std=gnu99CFLAGS : -O2 -funroll-loops -ggdb3 -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -Wvla -pthreadCPPFLAGS : -D_GNU_SOURCE -DCK_MD_CACHELINE=128 -I$(top_srcdir)/src -I$(abs_top_builddir)/third_party/luajit/inc -I$(abs_top_builddir)/third_party/concurrency_kit/includeLDFLAGS : -L/usr/local/lib LIBS : -lm EXTRA_LDFLAGS :

prefix : /usr/localbindir : ${prefix}/binlibexecdir : ${prefix}/libexecmandir : ${prefix}/share/mandatadir : ${prefix}/share

MySQL support : yesDrizzle support : noAttachSQL support : noOracle support : noPostgreSQL support : no

LuaJIT : bundledLUAJIT_CFLAGS : -I$(abs_top_builddir)/third_party/luajit/incLUAJIT_LIBS : $(abs_top_builddir)/third_party/luajit/lib/libluajit-5.1.a -ldlLUAJIT_LDFLAGS : -rdynamic

Concurrency Kit : bundledCK_CFLAGS : -I$(abs_top_builddir)/third_party/concurrency_kit/includeCK_LIBS : $(abs_top_builddir)/third_party/concurrency_kit/lib/libck.a

鲲鹏软件栈 应用工具移植指南 51 安装 Sysbench

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 168

Page 174: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

configure flags : ===============================================================================

步骤9 编译并安装。

make

make install

步骤10 查询sysbench版本号。

sysbench --version

回显信息如下,则表示sysbench安装成功。

sysbench 1.0.16

----结束

运行和验证

以MariaDB数据库为例。

1. 登录MariaDB数据库。

mysql -usysuser -ppassword -hlocalhost -P3306

说明

● “sysuser”为编译和安装中创建的帐户。

● “password”为编译和安装中设置的“sysuser”帐户的登录密码。

回显信息如下,表示登录成功:Welcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 2212Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

2. 创建sysbench测试使用的数据库“dbtest”。

create database dbtest;show databases;回显信息中含有数据库“dbtest”,则表示“dbtest”数据库创建成功,如加粗部分所示。MariaDB [(none)]> show databases;+--------------------+| Database |+--------------------+| information_schema || dbtest || kbe || mysql || performance_schema |+--------------------+5 rows in set (0.00 sec)

MariaDB [(none)]>

3. 使用sysbench准备测试数据。

sysbench /usr/local/share/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-host=localhost --mysql-port=3306 --mysql-user=sysuser --mysql-

鲲鹏软件栈 应用工具移植指南 51 安装 Sysbench

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 169

Page 175: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

password=123456 --mysql-db=dbtest --oltp-tables-count=1 --oltp-table-size=1000 --oltp-dist-type=uniform --oltp-read-only=off --oltp-test-mode=complex --rand-init=on --db-driver=mysql --report-interval=10 --threads=1000 --time=120 prepare回显信息如下:sysbench 1.0.16 (using bundled LuaJIT 2.1.0-beta2)

Creating table 'sbtest1'...Inserting 1000 records into 'sbtest1'Creating secondary indexes on 'sbtest1'...

4. 登录数据库,查看“dbtest”数据库中是否新建表“sbtest1”且表记录数为1000条。

说明

“password”为设置的“sysuser”帐户的登录密码,请根据实际填写。

mysql -usysuser -ppassword -hlocalhost -P3306use dbtest;show tables;回显信息如下:MariaDB [dbtest]> show tables;+------------------+| Tables_in_dbtest |+------------------+| sbtest1 |+------------------+1 row in set (0.01 sec)

MariaDB [dbtest]>

5. 查询表“sbtest1”中的记录数,如下为1000,则表示sysbench安装成功且可正常使用。

select count(*) from sbtest1;回显信息如下:MariaDB [dbtest]> select count(*) from sbtest1;+----------+| count(*) |+----------+| 1000 |+----------+1 row in set (0.00 sec)

MariaDB [dbtest]>

鲲鹏软件栈 应用工具移植指南 51 安装 Sysbench

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 170

Page 176: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

52 移植 Web Bench

介绍

简要介绍

Web Bench是Linux中被广泛使用的网站压力测试工具,同时支持HTTPS静态网站和动态网站。

编写语言:C/C++

一句话概述:网站压力测试工具

建议的版本

建议使用版本为“1.5”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表52-1所示。

表 52-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表52-2所示。

表 52-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 52 移植 Web Bench

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 171

Page 177: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

项目 版本 下载地址

Kernel 4.14.0 在公共镜像中已提供。

获取源码

步骤1 配置安装Web Bench所需要的目录,用以存放编译生产的文件。

mkdir /usr/local/man/man1 -p

步骤2 下载和解压Web Bench软件包。

cd /usr/local/src

wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz

tar -zxvf webbench-1.5.tar.gz

----结束

编译和安装

编译和安装Web Bench。

cd /usr/local/src/webbench-1.5

make && make install

运行和验证

测试Web Bench,10s内对baidu.com网址100次访问。

webbench -t 10 -c 100 http://www.baidu.com/

参数说明:

● “-t ”指定运行Web Bench的时间。

● “-c” 指定子进程的个数。

回显内容如下:

Webbench - Simple Web Benchmark 1.5Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://www.baidu.com/100 clients, running 10 sec.

Speed=3648 pages/min, 10162494 bytes/sec.Requests: 608 susceed, 0 failed.

鲲鹏软件栈 应用工具移植指南 52 移植 Web Bench

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 172

Page 178: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

53 移植 Guacamole

介绍

简要介绍

Guacamole是一个提供了基于HTML5 Web应用程序的远程桌面代理服务器。通过使用Guacamole服务器,可以很轻松地在浏览器上远程访问Guacamole代理的主机。

语言:C

一句话描述:远程桌面代理服务器

开源协议:Apache License Version 2.0

建议的版本

建议使用版本为“guacamole-1.0.0”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表53-1所示。

表 53-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表53-2所示。

鲲鹏软件栈 应用工具移植指南 53 移植 Guacamole

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 173

Page 179: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 53-2 操作系统要求

项目 说明 下载地址

CentOS 7.5 在公共镜像中已提供。

Kernel 4.14.0-49 在公共镜像中已提供。

配置编译环境

步骤1 安装wget工具。

yum install wget -y

步骤2 安装依赖包。

yum -y install cairo-devel libjpeg-devel libpng-devel uuid-devel

yum -y install ffmpeg-devel freerdp-devel pango-devel libssh2-devel

yum -y install libtelnet-devel libvncserver-devel pulseaudio-libs-devel

yum -y install openssl-devel libvorbis-devel libwebp-devel

yum -y install freerdp-plugins

步骤3 安装Open JDK。

yum install java-1.8.0-openjdk

步骤4 安装Tomcat。

说明

Tomcat安装请参见https://support.huaweicloud.com/prtg-kunpengweb/tomcat_01_0001.html。

----结束

获取源码

步骤1 下载服务端软件包。

wget https://mirrors.tuna.tsinghua.edu.cn/apache/guacamole/1.0.0/source/guacamole-server-1.0.0.tar.gz

步骤2 获取客户端代码:

wget http://mirror.bit.edu.cn/apache/guacamole/1.0.0/binary/guacamole-1.0.0.war

步骤3 将服务端软件包和客户端代码复制至云服务器的“/usr/local/src”目录。

----结束

编译和安装

步骤1 解压软件包。

鲲鹏软件栈 应用工具移植指南 53 移植 Guacamole

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 174

Page 180: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

tar -zxvf guacamole-server-1.0.0.tar.gz

步骤2 进入“guacamole-server-1.0.0”安装目录。

cd guacamole-server-1.0.0

步骤3 生成makefile文件。

./configure --with--dir=/etc/init.d

步骤4 编译guacamole-server源码。

make -j4

make install

----结束

运行和验证

步骤1 把guacamole客户端代码包“guacamole-1.0.0.war”移动到tomcat的“webapps”目录下。

mv guacamole-1.0.0.war /usr/local/tomcat/webapps

步骤2 创建guacamole的配置目录。

mkdir /etc/guacamole

步骤3 创建“guacamole.properties”和“user-mapping.xml”文件。

cd /etc/guacamole

vim guacamole.properties

“guacamole.properties”内容如下:

guacd-hostname: localhostguacd-port:4822user-mapping:/etc/guacamole/user-mapping.xml

vim user-mapping.xml

“user-mapping.xml”内容如下:

<user-mapping> <authorize username="admin" password="[mypassword]"> <connection name="mycentos"> <protocol>ssh</protocol> <param name="hostname">localhost</param> <param name="port">22</param> <param name="username">root</param> <param name="password">[password]</param> </connection> </authorize></user-mapping>

说明

其中“[mypassword]”为Guacamole的访问密码,“[password]”为节点的SSH登录密码,请结合实际填写。

步骤4 执行以下命令, 配置“GUACAMOLE_HOME”环境变量。

echo "export GUACAMOLE_HOME=/etc/guacamole" >> /etc/profile

鲲鹏软件栈 应用工具移植指南 53 移植 Guacamole

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 175

Page 181: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

source /etc/profile

步骤5 重启Tomcat。

sh /usr/local/tomcat/bin/shutdown.sh

sh /usr/local/tomcat/bin/startup.sh

步骤6 启动guacamole-server。

service guacd start

步骤7 浏览器访问如下网址。

http://[ECS IP]:8080/guacamole-1.0.0

界面显示如图53-1所示。

说明

账号密码为“user-mapping.xml”中与“authorize”同一行的“username”和“password”的值。

图 53-1 GUACAMOLE 界面

----结束

鲲鹏软件栈 应用工具移植指南 53 移植 Guacamole

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 176

Page 182: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

54 安装 OpenMRS

介绍

简要介绍

OpenMRS是一种基于患者的医疗记录系统,专注于为提供商提供免费的可定制电子病历系统(EMR)。

语言:Java

一句话描述:电子病历系统

开源协议: MPL 2.0

建议的版本

建议使用版本为“openmrs-2.1.4”。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表54-1所示。

表 54-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表54-2所示。

鲲鹏软件栈 应用工具移植指南 54 安装 OpenMRS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 177

Page 183: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 54-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置安装环境

安装JDK和wget等依赖工具。

yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel wget maven -y

获取软件包

获取“openmrs-2.1.4”源码包。

cd /usr/local/src

wget https://github.com/openmrs/openmrs-core/archive/2.1.4.tar.gz

安装

安装“openmrs-2.1.4”

说明

安装花费时间较长,请耐心等待。

cd /usr/local/src

tar -zxvf 2.1.4.tar.gz

cd openmrs-core-2.1.4/

mvn clean package

运行和验证

步骤1 安装Jetty,通过Jetty运行OpenMRS。

cd /usr/local/src/openmrs-core-2.1.4/webapp

mvn jetty:run

回显内容如下:

[INFO] Scanning for projects...[INFO] [INFO] ------------------------------------------------------------------------[INFO] Building openmrs-webapp 2.1.4[INFO] ------------------------------------------------------------------------[INFO] [INFO] >>> jetty-maven-plugin:9.3.3.v20150827:run (default-cli) @ openmrs-webapp >>>[INFO] [INFO] --- buildnumber-maven-plugin:1.1:create (default) @ openmrs-webapp ---[INFO] Checking for local modifications: skipped.

鲲鹏软件栈 应用工具移植指南 54 安装 OpenMRS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 178

Page 184: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

[INFO] Updating project files from SCM: skipped.[INFO] ShortRevision tag detected. The value is '6'.

说明

如果是初次执行mvn jetty:run,则要安装Jetty,花费时间较长。

步骤2 Jetty运行成功后,放通云服务器安全组中入方向规则里的8080端口,在浏览器中输入“http://[ECS IP]:8080/openmrs”,即可看到OpenMRS控制台,如图54-1所示。

图 54-1 OpenMRS 控制台

----结束

鲲鹏软件栈 应用工具移植指南 54 安装 OpenMRS

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 179

Page 185: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

55 安装 JMeter

介绍

简要介绍

JMeter是Apache组织开发的一款Java开源工具,能进行功能测试、接口测试以及模拟负载进行性能测试。

编写语言:Java

一句话概述:基于Java的性能测试工具

建议的版本

建议使用版本为 新的“5.1.1”。

环境要求

本文以云服务器KC1实例测试,云服务器配置如表55-1所示。

表 55-1 云服务器配置

项目 说明

规格 kc1.xlarge.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表55-2所示。

表 55-2 操作系统要求

项目 版本 下载地址

CentOS 7.5 在公共镜像中已提供。

Kernel 4.14.0 在公共镜像中已提供。

鲲鹏软件栈 应用工具移植指南 55 安装 JMeter

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 180

Page 186: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

配置安装环境

安装JMeter依赖的JDK环境。

yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y

获取软件包

下载“5.1.1”版本JMeter。

cd /usr/local/src

wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.1.1.tgz

安装

步骤1 解压JMeter压缩包。

cd /usr/local/src

tar -xvf apache-jmeter-5.1.1.tgz

步骤2 配置JDK和JMeter环境变量。

vi /etc/profile

1. 在倒数第三行插入如四行下内容:export JAVA_HOME=/usr/lib/jvm/java-openjdkexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATHexport PATH=$PATH:/usr/local/src/apache-jmeter-5.1.1/bin

2. 执行以下命令使得环境变量生效。

source /etc/profile

----结束

运行和验证

步骤1 进入JMeter的测试文件所在目录。

cd /usr/local/src/apache-jmeter-5.1.1/extras/

步骤2 测试。

jmeter -n -t Test.jmx -l test.jtl

命令参数说明:

● “-n”表示非GUI模式 ,即在非GUI模式下运行JMeter。● “-t”指定测试文件,即要运行的JMeter测试脚本文件。

● “-l”指定日志文件,即记录结果的文件。

回显类似如下,则表示JMeter单元测试执行成功。

[root@ecs-0001 extras]# jmeter -n -t Test.jmx -l test.jtl Jul 06, 2019 10:39:00 AM java.util.prefs.FileSystemPreferences$1 runINFO: Created user preferences directory.Creating summariser <summary>Created the tree successfully using Test.jmxStarting the test @ Sat Jul 06 10:39:00 CST 2019 (1562380740896)

鲲鹏软件栈 应用工具移植指南 55 安装 JMeter

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 181

Page 187: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445summary + 1 in 00:00:00 = 2.6/s Avg: 251 Min: 251 Max: 251 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0summary + 29 in 00:00:03 = 11.4/s Avg: 225 Min: 105 Max: 355 Err: 2 (6.90%) Active: 0 Started: 3 Finished: 3summary = 30 in 00:00:03 = 10.3/s Avg: 226 Min: 105 Max: 355 Err: 2 (6.67%)Tidying up ... @ Sat Jul 06 10:39:04 CST 2019 (1562380744705)... end of run

----结束

鲲鹏软件栈 应用工具移植指南 55 安装 JMeter

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 182

Page 188: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

56 移植 Httperf

介绍

简要介绍

Httperf是用于衡量Web服务器性能的工具。 它提供了一种灵活的工具来生成各种HTTP工作负载并评估服务器性能。 Httperf的重点不是实现一个特定的基准,而是提供一个强大的,高性能的工具,该工具有助于构建微观和宏观水平的基准。

Httperf的三个显着特征是其鲁棒性,包括生成和维持服务器过载的能力,对HTTP /1.1和SSL协议的支持以及对新工作负载生成器和性能度量的可扩展性。

开发语言:C

一句话描述:Web服务器性能测试工具

建议的版本

根据实际需要选择版本,本文档以“httperf-0.9.0”为例进行说明。

环境要求

云服务器要求

本文以KC1实例测试,配置如表56-1所示。

表 56-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表56-2所示。

鲲鹏软件栈 应用工具移植指南 56 移植 Httperf

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 183

Page 189: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 56-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

安装wget包。

yum install wget -y

获取源码

获取“httperf-0.9.0”源码包。

cd /usr/local/src

wget https://fossies.org/linux/www/old/httperf-0.9.0.tar.gz

编译和安装

步骤1 解压软件包。

tar -zxvf httperf-0.9.0.tar.gz

步骤2 进入Httperf的安装目录。

cd httperf-0.9.0/

步骤3 修改配置文件。

vi config.sub

查找“x86”内容的位置,在其位置后面增加“aarch64”类型。

在“case $basic_machine in”区域的两个位置修改。

1. 修改下述内容。| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \

修改后为:| x86 | aarch64 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \

2. 修改下述内容。| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \

修改后为:| x86 | aarch64 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \

步骤4 配置生成Makefile文件。

./configure --host=aarch64 --build=aarch64

步骤5 编译和安装Httperf。

make && make install

----结束

鲲鹏软件栈 应用工具移植指南 56 移植 Httperf

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 184

Page 190: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

运行和验证

执行如下命令,查看Httperf版本。

httperf --version

回显信息如下,则表示Httperf安装成功。httperf: httperf-0.9.0 compiled Feb 17 2020 without DEBUG without TIME_SYSCALLS.httperf --client=0/1 --server=localhost --port=80 --uri=/ --send-buffer=4096 --recv-buffer=16384 --num-conns=1 --num-calls=1httperf: warning: open file limit > FD_SETSIZE; limiting max. # of open files to FD_SETSIZEMaximum connect burst length: 0

Total: connections 1 requests 0 replies 0 test-duration 0.000 s

Connection rate: 18477.1 conn/s (0.1 ms/conn, <=1 concurrent connections)Connection time [ms]: min 0.0 avg 0.0 max 0.0 median 0.0 stddev 0.0Connection time [ms]: connect 0.1Connection length [replies/conn]: 0.000

Request rate: 0.0 req/s (0.0 ms/req)Request size [B]: 0.0

Reply rate [replies/s]: min 0.0 avg 0.0 max 0.0 stddev 0.0 (0 samples)Reply time [ms]: response 0.0 transfer 0.0Reply size [B]: header 0.0 content 0.0 footer 0.0 (total 0.0)Reply status: 1xx=0 2xx=0 3xx=0 4xx=0 5xx=0

CPU time [s]: user 0.00 system 0.00 (user 59.1% system 0.0% total 59.1%)Net I/O: 0.0 KB/s (0.0*10^6 bps)

Errors: total 1 client-timo 0 socket-timo 0 connrefused 1 connreset 0Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0

鲲鹏软件栈 应用工具移植指南 56 移植 Httperf

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 185

Page 191: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

57 移植 IOzone

介绍

简要介绍

IOzone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。

开发语言:C

一句话描述:一个文件系统的benchmark工具

开源协议:GPL

建议的版本

根据实际需要选择版本,本文档以“iozone3_489”为例进行说明。

环境要求

云服务器要求

本文以KC1实例测试,配置如表57-1所示。

表 57-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表57-2所示。

鲲鹏软件栈 应用工具移植指南 57 移植 IOzone

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 186

Page 192: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 57-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

安装wget包。

yum install wget -y

获取源码

获取“iozone3_489”源码包。

cd /usr/local/src

wget http://www.iozone.org/src/current/iozone3_489.tar

编译和安装

步骤1 解压软件包。

tar -xvf iozone3_489.tar

步骤2 进入IOzone的安装目录。

cd iozone3_489

步骤3 编译和安装IOzone。

cd src/current

make linux

ln -s /usr/local/src/iozone3_489/src/current/iozone /usr/bin/iozone

----结束

运行和验证

步骤1 执行如下命令,查看IOzone版本。

iozone -v

回显信息如下,则表示IOzone安装成功。htop 1.0.2 - (C) 2004-2011 Hisham MuhammadReleased under the GNU GPL.

'Iozone' Filesystem Benchmark Program Version $Revision: 3.489 $Compiled for 64 bit mode. Original Author: William Norcott ([email protected]) 4 Dunlap Drive

鲲鹏软件栈 应用工具移植指南 57 移植 IOzone

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 187

Page 193: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

Nashua, NH 03060 Enhancements: Don Capps ([email protected]) 7417 Crenshaw Plano, TX 75025 Copyright 1991, 1992, 1994, 1998, 1999, 2002 William D. Norcott License to freely use and distribute this software is hereby granted by the author, subject to the condition that this copyright notice remains intact. The author retains the exclusive right to publish derivative works based on this work, including, but not limited to, revised versions of this work Other contributors: Don Capps (Network Appliance)[email protected]

步骤2 执行如下命令,查看IOzone使用情况。

iozone -a -n 512m -g 16g -i 0 -i 1 -i 5 -f /mnt/iozone -Rb ./iozone.xls

说明

该命令表示进行全面测试,指定 小的测试文件为512MB, 大的测试文件为16GB,测试read、write和strided read,测试对象位于“/mnt”目录下,测试输出生成为xls文件。

参数说明如下:

● -a:表示使用全自动模式,生成包括所有测试操作的报告。

● -n:设置自动模式的 小文件大小,若未指定单位,则表示以KB为单位。

● -g:设置自动模式的 大文件大小,若未指定单位,则表示以KB为单位。

● -i:用于指定测试项。

● -f:用于指定测试文件的文件名。

● -R:产生Excel到输出件。

● -b:指定输出到指定文件上。

回显信息如图57-1所示,则表示IOzone可以正常使用。

图 57-1 检查 IOzone 使用情况

----结束

鲲鹏软件栈 应用工具移植指南 57 移植 IOzone

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 188

Page 194: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

58 移植 Puppeteer

介绍

简要介绍

Puppeteer是一个Node库,它提供一个高级API来通过DevTools协议控制Chromium或Chrom。Puppeteer默认以headless模式运行,但可以通过修改配置文件运行“有头”模式。

开发语言:JavaScript

一句话描述:控制Chromium或Chrom的Node库。

开源协议:Apache License 2.0

建议的版本

根据实际需要选择版本,本文档以“puppeteer v3.0”为例进行说明。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表58-1所示。

表 58-1 云服务器配置

项目 说明

规格 kc1.large.2 | 4vCPUs | 8GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表58-2所示。

鲲鹏软件栈 应用工具移植指南 58 移植 Puppeteer

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 189

Page 195: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 58-2 操作系统要求

项目 说明 下载地址

Debian 10.2.0 在公共镜像中已提供。

Kernel 4.19.0 在公共镜像中已提供。

配置编译环境

步骤1 安装依赖。

apt-get install -y libasound2 libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libc6libcairo2 libcups2 libdbus-1-3 libexpat1 libgcc1 libgdk-pixbuf2.0-0 libglib2.0-0libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libuuid1 libx11-6 libx11-xcb1 libxcb1libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2libxrender1 libxss1 libxtst6 xdg-utils

步骤2 安装NodeJs14.4.0,参考https://support.huaweicloud.com/prtg-hdp-kunpengbds/kunpengambarihdp_02_0007.html

步骤3 安装chromium。

cd /opt

wget http://launchpadlibrarian.net/433548138/chromium-codecs-ffmpeg-extra_75.0.3770.142-0ubuntu0.18.04.1_arm64.deb

wget http://launchpadlibrarian.net/433548135/chromium-browser_75.0.3770.142-0ubuntu0.18.04.1_arm64.deb

dpkg -i chromium-codecs-ffmpeg-extra_75.0.3770.142-0ubuntu0.18.04.1_arm64.deb

dpkg -i chromium-browser_75.0.3770.142-0ubuntu0.18.04.1_arm64.deb

----结束

编译和安装

安装Puppeteer。

说明

在执行npm init的过程中,会提示输入相关的信息。可根据提示和实际需要,输入自定义的参数值,或直接按回车键保持默认配置。

mkdir -p /opt/tools && cd /opt/tools

npm init

npm i --save [email protected] --ignore-scripts

运行和验证

步骤1 编写“test.js”脚本。

cd ./node_modules/puppeteer

鲲鹏软件栈 应用工具移植指南 58 移植 Puppeteer

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 190

Page 196: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

vim test.js

在“test.js”中编辑如下类容:const puppeteer = require('puppeteer');(async () =>{ const browser = await puppeteer.launch({ headless : true, args : ["--no-sandbox"], executablePath : "/usr/bin/chromium-browser" }) const page = await browser.newPage() await page.goto('https://www.huaweicloud.com/') await page.screenshot({ path : '/root/test.png' }) })()

步骤2 执行测试脚本。

node test.js

执行成功后会在“/root”目录下生成“test.png”文件。

----结束

鲲鹏软件栈 应用工具移植指南 58 移植 Puppeteer

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 191

Page 197: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

59 移植 Nmap

59.1 移植指导

介绍

简要介绍

Nmap(网络映射器)是一款用于网络发现和安全审计的网络安全工具,它是自由软件。软件名字Nmap是Network Mapper的简称。通常情况下,Nmap用于:

● 列举网络主机清单

● 管理服务升级调度

● 监控主机

● 服务运行状况

开发语言:C

一句话描述:网络映射器

开源协议:GPL2

建议的版本

已在鲲鹏云服务器上验证过下述版本,请根据实际需要选择版本。

● nmap-7.80

● nmap-7.40

● nmap-6.40

本文档以“nmap-7.80”为例进行说明。

环境要求

云服务器要求

本文以KC1实例测试,配置如表59-1所示。

鲲鹏软件栈 应用工具移植指南 59 移植 Nmap

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 192

Page 198: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

表 59-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

操作系统要求如表59-2所示。

表 59-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

安装依赖工具。

yum install wget libpcap libpcap-devel openssl-devel libssh2-devel -y

获取源码

获取“nmap-7.80.tgz”源码包。

cd /usr/local/src

wget https://nmap.org/dist/nmap-7.80.tgz

编译和安装

步骤1 解压软件包。

tar -xvf nmap-7.80.tgz

步骤2 进入Nmap的安装目录。

cd nmap-7.80/

步骤3 配置Nmap生成Makefile。

./configure

步骤4 编译和安装Nmap。

make && make install

----结束

鲲鹏软件栈 应用工具移植指南 59 移植 Nmap

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 193

Page 199: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

运行和验证

执行如下命令,查看Nmap版本。

nmap --version

回显信息如下,则表示Nmap安装成功。Nmap version 7.80 ( https://nmap.org )Platform: aarch64-unknown-linux-gnuCompiled with: nmap-liblua-5.3.5 openssl-1.0.2k nmap-libssh2-1.8.2 libz-1.2.7 libpcre-8.32 libpcap-1.5.3 nmap-libdnet-1.12 ipv6Compiled without:Available nsock engines: epoll poll select

59.2 故障排除

编译报“configure: error: cannot guess build type; you must specify one”等错误

问题描述:

执行./configure,报“configure: error: cannot guess build type; you must specifyone”错误。

问题原因:

不能匹配到机器类型。

解决方法:

通过修改配置“config.sub”后,指定配置类型进行解决。

步骤1 修改配置文件。

vi config.sub

查找“x86”内容的位置,在其位置后面增加“aarch64”类型。

在“case $basic_machine in”区域的两个位置修改。

1. 修改下述内容。| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \

修改后为:

| x86 | aarch64 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \

2. 修改下述内容。| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \

修改后为:

| x86-* | aarch64-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \

步骤2 重新配置。

./configure --host=aarch64 --build=aarch64

----结束

鲲鹏软件栈 应用工具移植指南 59 移植 Nmap

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 194

Page 200: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

60 移植 Tsung

介绍

简要介绍

Tsung是erlang开发的一款开源的多协议分布式负载并发测试工具,可用作HTTP、WebDAV、SOAP、PostgreSQL、MySQL、LDAP和Jabber/XMPP的服务器压力测试。Tsung可分布在多个客户机,并能够模拟成千上万的虚拟用户数并发。

开发语言:erlang

一句话描述:一款开源的多协议分布式负载并发测试工具

开源协议:GPLv2

建议的版本

已在鲲鹏云服务器上验证过下述版本,请根据实际需要选择版本。

● tsung-1.7.0● tsung-1.6.0● tsung-1.4.0

本文档以“tsung-1.7.0”为例进行说明。

环境要求

云服务器要求

本文以KC1实例测试,配置如表60-1所示。

表 60-1 云服务器配置

项目 说明

规格 kc1.large.2 | 2vCPUs | 4GB

磁盘 系统盘:高IO(40GB)

操作系统要求

鲲鹏软件栈 应用工具移植指南 60 移植 Tsung

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 195

Page 201: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

操作系统要求如表60-2所示。

表 60-2 操作系统要求

项目 说明 下载地址

CentOS 7.6 在公共镜像中已提供。

Kernel 4.14.0-115 在公共镜像中已提供。

配置编译环境

安装依赖工具。

yum install wget erlang -y

获取源码

获取“tsung-1.7.0”源码包。

cd /usr/local/src

wget http://tsung.erlang-projects.org/dist/tsung-1.7.0.tar.gz

编译和安装

步骤1 解压软件包。

tar -zxvf tsung-1.7.0.tar.gz

步骤2 进入gcc的安装目录。

cd tsung-1.7.0/

步骤3 生成Makefile文件。

./configure

步骤4 编译安装Tsung。

说明

“-j”参数可利用多核CPU加快编译速度,在本示例中,使用的是2核CPU,所以此处为“-j2”。

可通过下述命令查询CPU核数:

cat /proc/cpuinfo| grep "processor"| wc -l

make -j2

make install

----结束

运行和验证

查询Tsung版本号。

鲲鹏软件栈 应用工具移植指南 60 移植 Tsung

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 196

Page 202: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

tsung -v

回显信息如下,则表示Tsung安装成功。Tsung version 1.7.0

鲲鹏软件栈 应用工具移植指南 60 移植 Tsung

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 197

Page 203: 移植指南 - HUAWEI CLOUDFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存 储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡

A 修订记录

发布日期 修订记录

2020-08-06 第三次正式发布。

增加Puppeteer的指导。

2020-06-02 第二次正式发布。

增加Fluentd、PyEnchant、Httperf、IOzone、Nmap、Tsung的指导。

2020-03-18 第一次正式发布。

鲲鹏软件栈 应用工具移植指南 A 修订记录

文档版本 03 (2020-08-06) 版权所有 © 华为技术有限公司 198