鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

准备工作

  • 已获取自动化工具包,并上传到服务器完成解压,得到完整的软件文件夹tsdbtool。
  • 已下载依赖:GCC-7.3.0、CMake-3.5.2、cython、pyyaml、typing、cheetah3的源码包,放到tsdbtool文件夹下的mongodbDep文件夹中,下载地址见表2
  • 已获取MongoDB的源码包或者RPM包,并上传到自动化工具“tsdbtool”目录下。
  • 根据实际环境,完成安装配置文件mongoconf.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库使用的内存。

举例: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_server_num

3

config_db_prefix_dir

/mg/config

config_db_port

1802

Router配置

router_server

server1-ip;server2-ip;server3-ip

router_server_num

3

router_db_prefix_dir

/mg/router

router_db_port

1801

Shard配置

shard_server

server1-ip;server2-ip;server3-ip;server4-ip

shard_server_num

4

shard_db_prefix_dir

/mg/shard1;/mg/shard2;/mg/shard3;/mg/shard4

shard_db_port

1803;1804;1805;1806

shard_num

4

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包安装此参数无效,不使用)。