mlanuch文档翻译

[TOC]

mlanuch

使用此工具,您可以快速启动并监视本地计算机上的MongoDB环境。 它支持独立服务器,副本集和分片群集的各种配置。 单个节点或节点组可以轻松停止并重新启动。

除了下面列出的mlaunch的所有列出的参数之外,您还可以传递mongosmongod二进制文件可以理解的任意选项,mlaunch会传递正确的参数给mongosmongod二进制文件。 这包括-f--config选项,以传递带有更多选项的配置文件。

Usage

1
2
mlaunch [-h] [--version] [--no-progressbar]
{init,start,stop,restart,list,kill} ...

General Parameters

以下参数适用于所有命令.

Help

  • -h, --help

    显示帮助文本并退出.

Version

  • --version

    显示版本号并退出.

Verbosity

  • --verbose

    这将打印其他信息,具体取决于每个命令.

Data directory

  • --dir DIR

    此参数更改mlaunch存储其数据和日志文件的目录。默认情况下,该目录是本地目录./data,位于当前工作目录下。

Commands

mlaunch uses different commands to initialize, stop, start and list test environments. The general syntax is:

1
mlaunch <command> [--parameters ...]

其中,command是以下选择之一:

  • init: 创建一个初始环境并启动所有节点
  • stop: 停止当前环境中的部分或所有节点
  • start: 启动当前环境中的部分或所有节点
  • list: 显示当前环境的列表
  • kill: 向当前环境中的节点发送终止信号(或其他信号)

对于给定的环境(由带有--dir参数的数据目录指定,默认值为./data),init命令只需调用一次。 mlaunch将配置存储在数据目录中的配置文件中,该文件名为.mlaunch_startup。 使用此文件,mlaunch可以记住配置,并可以在需要时启动和停止节点。

init

这个命令初始化并启动MongoDB stand-anloneinstance, replica sets, 或shared cluster. 每个环境只需要调用一次(由带有--dir参数的数据目录指定,默认为./data)。

Usage

1
2
3
4
5
6
7
mlaunch init [-h] (--single | --replicaset) [--nodes NUM] [--arbiter]
[--name NAME] [--priority] [--sharded N [N ...]]
[--config NUM] [--csrs] [--mongos NUM] [--verbose]
[--port PORT] [--binarypath PATH] [--dir DIR]
[--hostname HOSTNAME] [--auth] [--username USERNAME]
[--password PASSWORD] [--auth-db DB]
[--auth-roles [ROLE [ROLE ...]]]

为了方便和向后兼容,init命令是默认命令,可以省略。

Required Parameters

init命令需要以下两个参数之一才能运行:--single--replicaset。它们是互斥的,并且必须为指定一个。

  • --single

    此参数将创建一个stand-alone node。如果还指定了--sharded,则此参数会将每个分片创建为stand-alone node。

    例如, 要在端口27017上启动一个mongod实例:

    1
    mlaunch --single
  • --replicaset

    此参数将创建副本集,而不是单个节点。其他副本集参数适用,并可修改副本集的属性以启动。如果还指定了--sharded,则此参数将为每个分片创建一个这样的副本集。

    例如,要使用端口27017、27018、27019 启动3个节点的副本集:

    1
    mlaunch --replicaset

Replica Set Parameters

以下参数更改了副本集的设置方式。这些参数要求您从所需参数中选择--replicaset选项。

The following parameters change how a replica set is set up. These parameters require that you picked the --replicaset option from the required parameters.

  • --nodes N

    指定此副本集的数据承载节点(不包括仲裁器)的数量。预设值为3

    例如:

    1
    mlaunch --replicaset --nodes 5

    这个命令启动5个mongod实例并配置为一个副本集

  • --arbiter

    如果存在此参数,则将附加arbiter添加到副本集。目前,mlaunch仅支持添加一个arbiter。您也可以启动其他arbiter并将其手动添加到副本集

    例如:

    1
    mlaunch --replicaset --nodes 2 --arbiter

    此命令启动2个承载数据的mongod实例,并将一个arbiter添加到副本集,总共3个投票节点。

  • --name NAME

    此选项使您可以修改副本集的名称。这将更改dbpath的名称和子目录。此选项仅允许用于单个副本集,而不适用于分片设置(副本集名称与分片名称等效)的分片设置中。默认名称是replset

    For example:

    1
    mlaunch --replicaset --name "my_rs_1"

    此命令将创建一个名为my_rs_1的副本集,并将dbpath和日志文件存储在./data/my_rs_1

Sharding Parameters

以下参数会影响分片环境的设置。每个分片将是先前指定设置的副本,无论是单个实例还是副本集。

  • --sharded S [S ...]

    如果指定此参数,则启用分片,并且mlaunch将创建指定数量的分片,并将这些分片一起添加到分片群集中。该参数可以通过两种方式工作:通过指定单个数字(即分片的数量),或通过指定分片的名称列表。

    例如:

    1
    mlaunch --single --sharded 3

    该命令将创建一个包含3个分片的环境,每个分片由一个独立节点组成。碎片名称为shard0001,shard0002,shard0003。它还将默认创建1个配置服务器和1个mongos

    例如:

    1
    mlaunch --replicaset --sharded tic tac toe

    此命令将创建3个分片,分别名为tictactoe. 每个分片将包含一个副本集(默认情况下)为3个节点. 它还将默认创建1个配置服务器和1个mongos.

  • --config N

    此参数确定在分片环境中启动了多少个配置服务器。默认数字是1。N的唯一有效选项是1或3

  • --csrs

    此参数可将配置服务器用作副本集(CSRS),而不是较早的同步集群连接配置(SCCC)

    MongoDB 3.2+支持CSRS部署选项,而从MongoDB 3.4开始,默认(唯一)支持的选项是CSRS部署选项。

    If you are using MongoDB 3.4 and greater, mlaunch will use CSRS by default.

    Changed in version 1.2.3

    CSRS config servers will no longer include incompatible settings, such as:

    • --storageEngine – CSRS config servers will always use WiredTiger.
    • --arbiter – CSRS config servers cannot have any arbiter.
  • --mongos N

    此参数确定在分片环境中启动了多少个mongos实例。默认数字为1。使用此设置,默认值可以更改为N个mongos实例。

Authentication Parameters

  • --auth

    此参数在您的设置上启用身份验证。它可以透明地用于单个实例(需要--auth)以及副本集和分片环境(需要--keyFile)。无需另外指定keyfile,mlaunch将为您生成一个随机keyfile。

    用户名和密码也将被设置,或者在mongos为分片的环境中,或对副本集主节点或在一个节点上。

    A username and password will also be set up, either on the mongos for sharded environments, or on the primary node for replica sets or on a single node.

  • --username

    此参数将默认用户名用户更改为指定用户

  • --password

    此参数将默认密码password更改为指定的密码

  • --auth-db

    此参数从admin更改默认数据库,将在其中创建用户。(不要改这个参数默认值)

    默认密码是故意在选择易于记忆或猜测。 mlaunch是为测试和问题再现,而不是用于生产。 因为用户名和密码都以明文形式包含在data/.mlaunch_startup文件中,所以即使是强密码也无法保证在mlaunch生成的环境中的安全性。

  • --auth-roles

    This parameter changes the initial default roles that the user will receive. The default roles are dbAdminAnyDatabase, readWriteAnyDatabase, userAdminAnyDatabase and clusterAdmin. You can provide different roles with this parameter, separated by spaces.

    If you change the default roles, it may not be possible for mlaunch to execute certain commands due to missing privileges. This may lead to unexpected behavior for some mlaunch operations, like for example mlaunch stop, which uses the internal shutdown command. If this is the case, use mlaunch kill instead.

    例如:

    1
    mlaunch --sharded 2 --single --auth --auth-user thomas --auth-password my_s3cr3t_p4ssw0rd

    This command would start a sharded cluster with 2 single shards, 1 config server, 1 mongos, and create the user thomas with password my_s3cr3t_p4ssw0rd. It will use the default roles and place the user in the admin database. mlaunch will

Optional Parameters

  • --port PORT

    使用指定的PORT值作为第一个实例的起始端口号,其余实例(mongod / mongos)以PORT值递增作为自己的算口号使用。 默认情况下,MongoDB起始端口值为标准端口27017。使用此参数可以在不同端口范围上并行启动多个设置。

    例如:

    1
    mlaunch --replicaset --nodes 3 --port 30000

    此命令将使用端口30000、30001和30002启动3个节点的副本集。

  • --binarypath PATH

    将设置mlaunch在其中查找mongodmongos的二进制文件的路径到提供的PATH。 默认情况下,$PATH环境变量用于确定启动哪个二进制文件。 您可以使用此选项覆盖默认设置。 例如,如果您编译自己的源代码并希望mlaunch使用已编译的版本,则这很有用。

    例如:

    1
    mlaunch --single --binarypath ./build/bin

    此命令将在./build/bin/mongod中查找mongod二进制文件,而不是默认位置。

kill

通过发送SIGTERM(15)信号,kill命令根据指定的标签停止当前环境中的部分或所有正在运行的节点。

如果未指定标签,则mlaunch kill将杀死所有节点。 如果指定了一个或多个标签,则mlaunch kill将仅杀死具有所有给定标签(设置交集)的节点。 即使没有具有clusterAdmin角色的管理员用户,此方法也有效。

可以使用--signal参数来指定其他信号,而不是SIGTERM信号。 (在Windows上不可用)

Usage

1
mlaunch kill [TAG [TAG ...]] [--signal S] [--dir DIR] [--verbose]

Tag Parameters

The following tags are used with mlaunch, although not all tags are present in every environment:

  • all: 当前环境中的所有节点
  • running: 当前正在运行的节点
  • down: 所有关闭的节点
  • mongos: 所有mongos进程
  • mongod: 所有mongod进程(包括arbiters和config servers).
  • config: 所有config servers
  • shard: 该标签仅用于标识特定的分片号(请参见下文)
  • <shard name>: 对于分片环境,分片的每个成员都将分片名称作为标签,例如“shard-a”
  • primary: 所有正在运行的主节点
  • secondary: 所有正在运行的secondary节点
  • arbiter: 所有arbiter
  • <port number>: 每个节点都将其端口号作为标记

如果为kill命令指定单个标签,则匹配该标签的节点将被杀死。 如果指定了多个标签,则仅杀死与所有标签匹配的节点。 每个标签都会进一步缩小匹配范围。(貌似意思是取连个标签的交集)

例:

1
mlaunch kill

该命令将杀死当前环境中的所有正在运行的节点。

例:

1
mlaunch kill mongos

该命令将杀死当前环境中所有正在运行的mongos进程

例:

1
mlaunch kill shard-a secondary

该命令将杀死当前环境中名为“ shard-a”的所有正在运行的secondary节点。

例:

1
mlaunch kill config primary

该命令不会杀死任何节点,因为没有节点同时具有configprimary标签。

例:

1
mlaunch kill 27017

此命令将杀死在端口27017上运行的节点。

另外,某些标签可以与后续编号组合。 这些标签是:mongos,shard,config,secondary。

例:

1
mlaunch kill shard 1

This command kills all members of shard 1 in the current sharded environment.

例:

1
mlaunch kill shard 2 primary

This command kills the primary of the second shard in the current sharded environment.

例:

1
mlaunch kill secondary 1

This command kills the first secondary node of all shards if the environment is sharded. If the environment is a replicaset, it only applies to the first secondary.

如果是shard, kill所有shared的第一个secondary节点. 如果是replicaset, 只kill第一个secondary

例:

1
mlaunch kill

该命令将信号SIGTERM(15)发送到当前环境中的所有正在运行的进程。

例:

1
mlaunch kill --signal SIGUSR1

此命令将信号SIGUSR1(30)发送到当前环境中的所有正在运行的进程,这在MongoDB中导致日志轮换log rotation。

start

start命令根据指定的标签启动当前环境中当前处于关闭状态的某些或所有节点。如果未指定标签,则mlaunch start将启动所有节点。如果指定了一个或多个标签,则启动将仅启动具有所有给定标签的节点(设置交集)。

Usage

1
mlaunch start [TAG [TAG ...]] [--dir DIR] [--verbose]

Tag Parameters

The following tags are used with mlaunch, although not all tags are present in every environment:

  • all: 当前环境中的所有节点
  • running: 当前正在运行的节点
  • down: 所有关闭的节点
  • mongos: 所有mongos进程
  • mongod: 所有mongod进程(包括arbiters和config servers).
  • config: 所有config servers
  • shard: 该标签仅用于标识特定的分片号(请参见下文)
  • <shard name>: 对于分片环境,分片的每个成员都将分片名称作为标签,例如“shard-a”
  • arbiter: 所有arbiter
  • <port number>: 每个节点都将其端口号作为标记

Different to the stop command, there tags for primary and secondary are not available for the start command. This is because the replica set state of a running node is undetermined.

stop

stop命令通过将shutdown命令发送到mongod或mongos实例来停止当前环境中某些或所有正在运行的节点(取决于指定的标签)。

如果未指定标签,则mlaunch stop将停止所有节点。 如果指定了一个或多个标签,则mlaunch stop将仅停止具有所有给定标签的节点(设置交集)。

在经过身份验证的环境中,stop命令要求管理员数据库中的用户具有clusterAdmin角色。 否则,停止命令将不会成功。 在这种情况下,可以改用kill命令。

Changed in version 1.2.3

As of version 1.2.3, the stop command is an alias for the kill command.

Usage

1
mlaunch stop [TAG [TAG ...]] [--dir DIR] [--verbose]

Tag Parameters

The tags for the stop command are the same as for kill.

restart

restart命令将停止,然后重新启动当前环境中的某些或所有节点,具体取决于指定的标签。 为方便起见,添加了它,其行为类似于连续的停止和启动命令。 如果未指定标签,则mlaunch restart将重新启动所有节点。 如果指定了一个或多个标签,则mlaunch restart将仅重新启动具有所有给定标签的节点(设置交集)。

Usage

1
mlaunch restart [TAG [TAG ...]] [--dir DIR] [--verbose]

Tag Parameters

See start and stop.

list

list命令显示当前环境中所有节点的概述,以及它们的状态(运行/关闭)和端口。 使用可选的–verbose标志,list命令还显示每个节点的所有标签。

Usage

1
mlaunch list [--dir DIR] [--startup] [--tags]

For example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mlaunch list
PROCESS STATUS PORT
mongos running 27017
mongos running 27018
config server running 27025
config server running 27026
config server down 27027
shard01
primary running 27019
secondary running 27020
arbiter running 27021
shard02
mongod down 27022
mongod down 27023
mongod down 27024

此命令显示所有节点的列表,它们的状态和端口号。 在这种情况下,环境由以下命令初始化:

1
mlaunch --sharded 2 --replicaset --nodes 2 --arbiter --config 3 --mongos 2

Optional Parameters

  • --tags

    此选项还显示一列,其中包含实例可以使用的所有标签。 标签可用于将某些实例作为启动,停止,终止等命令的目标。

    For example:

    1
    2
    3
    4
    5
    6
    7
    mlaunch list --tags
    PROCESS STATUS PORT TAGS
    primary running 27017 27017, all, mongod, primary, running
    secondary running 27018 27018, all, mongod, running, secondary
    mongod down 27019 27019, all, down, mongod

    该命令显示所有节点的列表,它们的状态和端口号,以及它们的标签。 在这种情况下,环境由以下命令初始化:

    1
    mlaunch --replicaset
  • --startup

    此选项还显示带有启动命令的列,该启动命令用于运行给定实例。 如果需要手动启动实例,这很有用。

    For example:

    1
    2
    3
    4
    5
    6
    7
    mlaunch list --startup
    PROCESS PORT STATUS PID STARTUP COMMAND
    secondary 27017 running 4264 mongod --replSet replset --dbpath /tmp/data/replset/rs1/db --logpath /tmp/data/replset/rs1/mongod.log --port 27017 --logappend --fork -vv
    mongod 27018 running 4267 mongod --replSet replset --dbpath /tmp/data/replset/rs2/db --logpath /tmp/data/replset/rs2/mongod.log --port 27018 --logappend --fork -vv
    mongod 27019 running 4270 mongod --replSet replset --dbpath /tmp/data/replset/rs3/db --logpath /tmp/data/replset/rs3/mongod.log --port 27019 --logappend --fork -vv

    此命令显示所有节点的列表,它们的状态和端口号,以及它们的启动命令。

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2020 Fan() All Rights Reserved.

访客数 : | 访问量 :