---
title: 准备工作
description: "- 已获取  自动化工具包(https://mirrors.huaweicloud.com/kunpeng/archive/kunpeng_solution/database/patch/tsdbtool.zip)"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/autodeploytool/kunpengdbsolution_06_0017.html
sourcePath: /source/zh/kunpengdbs/ecosystemEnable/autodeploytool/kunpengdbsolution_06_0017.html
indexId: d16195fe4b4d7c2594411ce2cddce2c1558dc357dc0e56e7092f8377a925a53e83
---
# 准备工作

- 已获取  自动化工具包(https://mirrors.huaweicloud.com/kunpeng/archive/kunpeng_solution/database/patch/tsdbtool.zip)
，并上传到服务器完成解压，得到完整的软件文件夹tsdbtool。
- 已下载依赖：GCC-7.3.0、CMake-3.5.2、cython、pyyaml、typing、cheetah3的源码包，放到tsdbtool文件夹下的mongodbDep文件夹中，下载地址见  表2
。
- 已获取MongoDB的源码包或者RPM包，并上传到自动化工具“tsdbtool”目录下。
- 根据实际环境，完成安装配置文件mongodbconf.csv的修改。
  配置文件mongodbconf.csv参数说明如表1所示。

**表1 配置文件mongodbconf.csv参数说明**

| 参数 | 说明 |
| --- | --- |
| isopath | OS镜像的路径，需提前上传到服务器的操作系统中，用于安装一些依赖包。 |
| prefixdir | 软件从源码编译后安装到该目录，绝对路径值，需存在于OS中，RPM包安装此参数无效，不使用。 |
| os\_root\_user | 被安装服务器OS的root用户名。 |
| os\_root\_password | 被安装服务器OS的root密码。 |
| version | MongoDB的版本 |
| compile\_flag | 用于检查过程的判断，RPM包编译前的检查请设置为1，否则设置为0。执行编译过程，检查项少。 |
| config\_server | MongoDB集群中config server的IP地址，多个IP地址以分号隔开。 |
| config\_server\_num | config server的数目，用于校验。 |
| config\_db\_prefix\_dir | config db目录的前缀，会在该目录下建立config db的data和log目录。 |
| config\_db\_port | config db使用的端口号。 |
| router\_server | MongoDB集群中router server的IP地址，多个IP地址以分号隔开。 |
| router\_server\_num | router server的数目，用于校验。 |
| router\_db\_prefix\_dir | router db目录的前缀，会在该目录下建立router db的data和log目录。 |
| router\_db\_port | router db使用的端口号。 |
| shard\_server | MongoDB集群中shard server的IP地址，多个IP地址以分号隔开。 |
| shard\_server\_num | shard server的数目，用于校验。 |
| shard\_db\_prefix\_dir | 分片数据库使用的目录，多个以分号隔开，目录可相同。根据分片的数量和目录顺序，在第一个目录下建立datashard1 logshard1分别存放分片1的数据和日志。在第二个目录下建立datashard2 logshard2分别存放分片2的数据和日志。 |
| shard\_db\_port | 分片数据库使用的端口号，多个端口号以分号隔开。 |
| shard\_num | MongoDB集群中的分片数。 |
| replica\_num | MongoDB集群中副本数。 |
| wiredTigerCacheSizeGB | 每一个分片shard库使用的内存。 |


**表2 依赖包下载地址**

| 软件包名 | 下载地址 |
| --- | --- |
| GCC\-7.3.0 | 获取链接(https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc\-7.3.0/gcc\-7.3.0.tar.gz) |
| CMake\-3.5.2 | 获取链接(https://cmake.org/files/v3.5/cmake\-3.5.2.tar.gz) |
| Cython（zip格式） | 获取链接(https://github.com/cython/cython/archive/0.29.12.zip) |
| Pyyaml（zip格式） | 获取链接(https://github.com/yaml/pyyaml/archive/3.11.zip) |
| Typing（zip格式） | 获取链接(https://github.com/python/typing/archive/3.6.1.zip) |
| Cheetah3（zip格式） | 获取链接(https://github.com/CheetahTemplate3/cheetah3/archive/3.0.0.zip) |


举例：MongoDB集群（4台server，4分片，3副本）规划举例如表3所示。


**表3 MongoDB集群规划举例**

| DB类型 | Port | Server1 | Server2 | Server3 | Server4 | prefixdir |
| --- | --- | --- | --- | --- | --- | --- |
| Router | 1801 | √ | √ | √ | \- | /mg/router |
| Config | 1802 | \- | √ | √ | √ | /mg/config |
| Shard1 | 1803 | √ | √ | √ | \- | /mg/shard1 |
| Shard2 | 1804 | \- | √ | √ | √ | /mg/shard2 |
| Shard3 | 1805 | √ | \- | √ | √ | /mg/shard3 |
| Shard4 | 1806 | √ | √ | \- | √ | /mg/shard4 |


工具会根据server的数目、分片数、副本数目，依次选择不同server分组来给不同的shard分片。例如：3副本的分片1选择server1、server2、server3；分片2选择server2、server3、server4；分片3选择server3、server4、server1；分片4选择server4、server1、server2。

mongodbconf.csv的关键配置如表4所示。


**表4 mongodbconf.csv的关键配置**

| 分类 | 参数 | 值 |
| --- | --- | --- |
| Config配置 | config\_server | server2\-ip;server3\-ip;server4\-ip |
| Config配置 | config\_server\_num | 3 |
| Config配置 | config\_db\_prefix\_dir | /mg/config |
| Config配置 | config\_db\_port | 1802 |
| Router配置 | router\_server | server1\-ip;server2\-ip;server3\-ip |
| Router配置 | router\_server\_num | 3 |
| Router配置 | router\_db\_prefix\_dir | /mg/router |
| Router配置 | router\_db\_port | 1801 |
| Shard配置 | shard\_server | server1\-ip;server2\-ip;server3\-ip;server4\-ip |
| Shard配置 | shard\_server\_num | 4 |
| Shard配置 | shard\_db\_prefix\_dir | /mg/shard1;/mg/shard2;/mg/shard3;/mg/shard4 |
| Shard配置 | shard\_db\_port | 1803;1804;1805;1806 |
| Shard配置 | shard\_num | 4 |
| Shard配置 | replica\_num | 4 |


本文以MongoDB 4.0.12的check、install、uninstall为例进行说明。已完成的准备工作如下：

- 已获取工具包并上传至服务器，然后解压到“/home”目录得到“/home/tsdbtool”目录。
- 已上传mongo-r4.0.12.tar.gz源码包或者RPM包到“/home/tsdbtool”。
- 已下载依赖：GCC-7.3.0、CMake-3.5.2、cython、pyyaml、typing、cheetah3的源码包，放到tsdbtool文件夹下的mongodbDep文件夹中。
- 已完成mongodbconf.csv的修改，prefixdir目录已经创建（RPM包安装此参数无效，不使用）。
