10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 41.5 mb
PDF (A4)- 41.6 mb
手册页(TGZ)- 262.1 kb
手册页(邮政编码)- 372.2 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

23.4.3.7在NDB集群中定义SQL和其他API节点

(mysqld)而且(api)部分的config.ini文件定义了MySQL服务器(SQL节点)和其他应用程序(API节点)访问集群数据的行为。这里显示的参数都不是必需的。如果没有提供计算机或主机名,则任何主机都可以使用此SQL或API节点。

一般来说,一个(mysqld)节用于指示MySQL服务器为集群提供SQL接口,以及一个(api)节用于其他应用程序mysqld进程访问集群数据,但这两个名称实际上是同义词;例如,您可以列出作为SQL节点的MySQL服务器的参数(api)部分。

请注意

有关NDB集群的MySQL服务器选项的讨论,请参见第23.4.3.9.1节," NDB集群的MySQL服务器选项".关于与NDB集群相关的MySQL服务器系统变量的信息,请参见第23.4.3.9.2节," NDB集群系统变量"

  • Id

    (或更高版本) NDB 8.0.13
    类型或单位 无符号
    默认的 […]
    范围 1 - 255
    重新启动类型

    (NDB 8.0.13)

    Id是一个整数值,用于标识所有集群内部消息中的节点。取值范围包括1 ~ 255。无论节点类型如何,该值对于集群中的每个节点都必须是唯一的。

    请注意

    NDB 8.0要求数据节点id小于145。如果计划部署大量数据节点,最好将API节点(和管理节点)的节点id限制为大于144的值。(以前,数据节点ID的最大支持值是48。)

    NodeId是标识API节点时使用的首选参数名称。(Id继续支持向后兼容性,但现在已弃用,并在使用时生成警告。它还可能在未来被移除。)

  • ConnectionMap

    (或更高版本) NDB 8.0.13
    类型或单位 字符串
    默认的 […]
    范围 ...
    重新启动类型

    N (NDB 8.0.13)

    指定要连接的数据节点。

  • NodeId

    (或更高版本) NDB 8.0.13
    类型或单位 无符号
    默认的 […]
    范围 1 - 255
    重新启动类型

    (NDB 8.0.13)

    NodeId是一个整数值,用于标识所有集群内部消息中的节点。取值范围包括1 ~ 255。无论节点类型如何,该值对于集群中的每个节点都必须是唯一的。

    请注意

    NDB 8.0要求数据节点id小于145。如果计划部署大量数据节点,最好将API节点(和管理节点)的节点id限制为大于144的值。(以前,数据节点ID的最大支持值是48。)

    NodeId是识别管理节点时使用的首选参数名称。一个别名,Id,在非常老的NDB集群版本中被用于此目的,并继续支持向后兼容性;它现在已被弃用,并且在使用时会产生警告,并且可能在未来的NDB Cluster版本中被删除。

  • ExecuteOnComputer

    (或更高版本) NDB 8.0.13
    类型或单位 的名字
    默认的 […]
    范围 ...
    弃用 是(在NDB 7.5中)
    重新启动类型

    S (NDB 8.0.13)

    这指的是Id中定义的计算机(主机)之一(计算机)配置文件的部分。

    重要的

    该参数已弃用,在以后的版本中可能会被删除。使用主机名参数。

  • 这个节点的节点ID只能提供给显式请求它的连接。请求的管理服务器任何节点ID不能使用该节点ID。当在同一主机上运行多台管理服务器时使用主机名不足以区分过程。用于测试的。

  • 主机名

    (或更高版本) NDB 8.0.13
    类型或单位 名称或IP地址
    默认的 […]
    范围 ...
    重新启动类型

    N (NDB 8.0.13)

    指定此参数将定义SQL节点(API节点)驻留的计算机的主机名。要指定主机名,可以使用此参数或ExecuteOnComputer是必需的。

    如果没有主机名ExecuteOnComputer在给定的(mysql)(api)部分的config.ini文件,则SQL或API节点可以使用相应的从任何可以建立网络连接的主机到管理服务器主机的机器。这与数据节点的默认行为不同,其中本地主机假定为主机名除非另有说明

  • LocationDomainId

    (或更高版本) NDB 8.0.13
    类型或单位 整数
    默认的 0
    范围 0 - 16
    重新启动类型

    S (NDB 8.0.13)

    将SQL或其他API节点分配给指定的可用性域(也称为可用分区)中的云。的通知NDB在云环境中,可以通过以下方式提升性能:

    • 如果在同一节点上找不到所请求的数据,则可以将读取操作定向到同一可用性域中的另一个节点。

    • 保证不同可用域中节点间通信正常NDB运输车的广域网支持,无需任何进一步的人工干预。

    • 传输器的组号可以基于使用的可用性域,这样SQL和其他API节点也可以尽可能地与同一可用性域中的本地数据节点通信。

    • 仲裁员可以从不存在数据节点的可用性域中选择,如果找不到这样的可用性域,则可以从第三个可用性域中选择。

    LocationDomainId接受0到16(包括16)之间的整数值,0为默认值;使用0等同于不设置参数。

  • ArbitrationRank

    (或更高版本) NDB 8.0.13
    类型或单位 0 - 2
    默认的 0
    范围 0 - 2
    重新启动类型

    N (NDB 8.0.13)

    这个参数定义哪些节点可以充当仲裁器。管理节点和SQL节点都可以是仲裁器。值为0意味着该节点永远不会用作仲裁器,值为1表示该节点作为仲裁器具有高优先级,值为2表示它的优先级较低。正常的配置使用管理服务器作为仲裁器,设置其ArbitrationRank为1(管理节点的默认值),为所有SQL节点的默认值为0 (SQL节点的默认值)。

    通过设置ArbitrationRank在所有管理节点和SQL节点上设置为0时,可以完全禁用仲裁。您还可以通过重写此参数来控制仲裁;为此,设置仲裁参数(ndbd违约)部分的config.ini全局配置文件。

  • ArbitrationDelay

    (或更高版本) NDB 8.0.13
    类型或单位 毫秒
    默认的 0
    范围 0 - 4294967039 (0xFFFFFEFF)
    重新启动类型

    N (NDB 8.0.13)

    将此参数设置为0(默认值)以外的任何值意味着仲裁员对仲裁请求的响应将延迟指定的毫秒数。通常不需要更改这个值。

  • BatchByteSize

    (或更高版本) NDB 8.0.13
    类型或单位 字节
    默认的 16 k
    范围 1 k - 1 m
    重新启动类型

    N (NDB 8.0.13)

    对于转换为全表扫描或索引范围扫描的查询,以适当大小的批处理获取记录对于获得最佳性能非常重要。可以根据记录的数量(BatchSize)及以字节(BatchByteSize).实际批处理大小受到这两个参数的限制。

    根据设置该参数的方式,查询执行的速度可能会有超过40%的差异。

    该参数以字节为单位。缺省值是16K。

  • BatchSize

    (或更高版本) NDB 8.0.13
    类型或单位 记录
    默认的 256
    范围 1 - 992
    重新启动类型

    N (NDB 8.0.13)

    该参数以记录数量衡量,默认设置为256。最大尺寸为992。

  • ExtraSendBufferMemory

    (或更高版本) NDB 8.0.13
    类型或单位 字节
    默认的 0
    范围 0 - 4294967039 (0xFFFFFEFF)
    重新启动类型

    N (NDB 8.0.13)

    除已设置使用的内存外,此参数指定要分配的传输程序发送缓冲区内存的数量TotalSendBufferMemorySendBufferMemory,或两者兼而有之。

  • HeartbeatThreadPriority

    (或更高版本) NDB 8.0.13
    类型或单位 字符串
    默认的 […]
    范围 ...
    重新启动类型

    N (NDB 8.0.13)

    用于设置管理节点和API节点心跳线程的调度策略和优先级。设置该参数的语法如下所示:

    HeartbeatThreadPriority =政策[,优先级政策: {fifo | rr}

    设置该参数时,需要指定策略。这是其中之一先进先出(first in, first in)或RR(round robin)。后面可选地跟着优先级(一个整数)。

  • MaxScanBatchSize

    (或更高版本) NDB 8.0.13
    类型或单位 字节
    默认的 256 k
    范围 32 k - 16 m
    重新启动类型

    N (NDB 8.0.13)

    批大小是每个数据节点发送的每个批的大小。大多数扫描是并行执行的,以保护MySQL服务器从多个节点同时接收太多的数据;此参数设置所有节点上的总批处理大小的限制。

    默认值为256KB。它的最大大小是16MB。

  • TotalSendBufferMemory

    (或更高版本) NDB 8.0.13
    类型或单位 字节
    默认的 0
    范围 256K - 4294967039 (0xFFFFFEFF)
    重新启动类型

    N (NDB 8.0.13)

    此参数用于确定在此节点上为所有已配置传输程序之间的共享发送缓冲区内存分配的内存总量。

    如果设置了这个参数,它的最小允许值是256KB;0表示未设置该参数。有关详细信息,请参见第23.4.3.14节,“配置NDB集群发送缓冲区参数”

  • AutoReconnect

    (或更高版本) NDB 8.0.13
    类型或单位 布尔
    默认的
    范围 真的,假的
    重新启动类型

    N (NDB 8.0.13)

    这个参数是默认情况下。这将强制断开连接的API节点(包括充当SQL节点的MySQL服务器)使用到集群的新连接,而不是试图重用现有的连接,因为重用连接可能会在使用动态分配的节点id时导致问题。(错误# 45921)

    请注意

    该参数可以通过NDB API覆盖。有关更多信息,请参见Ndb_cluster_connection: set_auto_reconnect (),Ndb_cluster_connection: get_auto_reconnect ()

  • DefaultOperationRedoProblemAction

    (或更高版本) NDB 8.0.13
    类型或单位 枚举
    默认的 队列
    范围 中止、队列
    重新启动类型

    N (NDB 8.0.13)

    此参数(连同RedoOverCommitLimit而且RedoOverCommitCounter)控制在将重做日志刷新到磁盘花费太多时间时数据节点对操作的处理。当给定的重做日志刷新时间超过RedoOverCommitLimit秒,超过RedoOverCommitCounter时间,导致任何挂起的事务被中止。

    发生这种情况时,节点可以根据的值以两种方式中的一种进行响应DefaultOperationRedoProblemAction这里列出:

    • 中止:任何来自中止事务的挂起操作也被中止。

    • 队列:从被中止的事务中挂起的操作将排队等待重试。这个默认的。当重做日志耗尽空间(即当)时,挂起的操作仍然中止P_TAIL_PROBLEM错误发生。

  • DefaultHashMapSize

    (或更高版本) NDB 8.0.13
    类型或单位
    默认的 3840
    范围 0 - 3840
    重新启动类型

    N (NDB 8.0.13)

    使用的表散列映射的大小NDB可通过此参数进行配置。DefaultHashMapSize可以取三个可能值中的任何一个(0,240,3840)。下表描述了这些值及其影响。

    表23.17 DefaultHashMapSize参数值

    价值 描述/效果
    0 如果有,请使用集群中所有数据节点和API节点中该参数的最小值集;如果没有在任何数据或API节点上设置该值,则使用默认值。
    240 旧的缺省哈希映射大小
    3840 NDB 8.0默认使用哈希映射大小

    这个参数最初的用途是方便升级和从旧的NDB集群版本降级,在旧版本中,哈希映射大小不同,因为这个更改在其他方面是不向后兼容的。当升级到或从NDB Cluster 8.0降级时,这不是问题。

  • (或更高版本) NDB 8.0.13
    类型或单位 布尔
    默认的
    范围 真的,假的
    重新启动类型

    N (NDB 8.0.13)

    使用WAN TCP设置为默认值。

  • ConnectBackoffMaxTime

    (或更高版本) NDB 8.0.13
    类型或单位 整数
    默认的 0
    范围 0 - 4294967039 (0xFFFFFEFF)
    重新启动类型

    N (NDB 8.0.13)

    在一个有很多未启动数据节点的NDB集群中,该参数的值可以提高,以避免对集群中尚未开始工作的数据节点的连接尝试,以及对管理节点的中等高流量。只要API节点没有连接到任何新的数据节点,则StartConnectBackoffMaxTime参数是应用;否则,ConnectBackoffMaxTime用于确定连接尝试之间等待的时间长度(以毫秒为单位)。

    时间在计算此参数的运行时间时,不会考虑节点连接尝试。超时以大约100毫秒的分辨率应用,开始时有100毫秒的延迟;对于随后的每次尝试,这个周期的长度将增加一倍,直到达到ConnectBackoffMaxTime毫秒,最大可达100000毫秒(100秒)。

    一旦API节点连接到一个数据节点,并且该节点(以心跳消息的形式)报告它已经连接到其他数据节点,对这些数据节点的连接尝试将不再受此参数的影响,并且在连接之前每100毫秒进行一次连接尝试。一旦数据节点启动,它就会占用空间HeartbeatIntervalDbApi以便通知API节点发生了这种情况。

  • StartConnectBackoffMaxTime

    (或更高版本) NDB 8.0.13
    类型或单位 整数
    默认的 0
    范围 0 - 4294967039 (0xFFFFFEFF)
    重新启动类型

    N (NDB 8.0.13)

    在一个有很多未启动数据节点的NDB集群中,该参数的值可以提高,以避免对集群中尚未开始工作的数据节点的连接尝试,以及对管理节点的中等高流量。只要API节点没有连接到任何新的数据节点,则StartConnectBackoffMaxTime参数是应用;否则,ConnectBackoffMaxTime用于确定连接尝试之间等待的时间长度(以毫秒为单位)。

    时间在计算此参数的运行时间时,不会考虑节点连接尝试。超时以大约100毫秒的分辨率应用,开始时有100毫秒的延迟;对于随后的每次尝试,这个周期的长度将增加一倍,直到达到StartConnectBackoffMaxTime毫秒,最大可达100000毫秒(100秒)。

    一旦API节点连接到一个数据节点,并且该节点(以心跳消息的形式)报告它已经连接到其他数据节点,对这些数据节点的连接尝试将不再受此参数的影响,并且在连接之前每100毫秒进行一次连接尝试。一旦数据节点启动,它就会占用空间HeartbeatIntervalDbApi以便通知API节点发生了这种情况。

API节点调试参数。你可以使用ApiVerboseconfiguration参数来启用给定API节点的调试输出。此参数为整数值。0为默认值,关闭此类调试;1打开调试输出到集群日志;2补充道DBDICT调试输出。(Bug #20638450)参见转储1229

你也可以从运行在NDB集群SQL节点的MySQL服务器获取信息显示状态mysql客户端,如图所示:

mysql> SHOW STATUS LIKE 'ndb%';+-----------------------------+----------------+ | Variable_name |值  | +-----------------------------+----------------+ | Ndb_cluster_node_id | 5 | | Ndb_config_from_host | 198.51.100.112 | | Ndb_config_from_port | 1186 | | Ndb_number_of_storage_nodes | 4  | +-----------------------------+----------------+ 4行集(0.02秒)

有关此语句输出中出现的状态变量的信息,请参见第23.4.3.9.3节,“NDB集群状态变量”

请注意

要在一个正在运行的NDB Cluster的配置中添加新的SQL或API节点,需要在添加新的节点后对所有集群节点进行滚动重启(mysqld)(api)部分的config.ini文件(如果使用多个管理服务器,则为文件)。这必须在新的SQL或API节点连接到集群之前完成。

它是如果新的SQL或API节点可以在集群配置中使用以前未使用的API槽来连接到集群,则需要重新启动集群。

重新启动类型。本节参数说明所涉及的重启类型信息如下表所示。

表23.18 NDB集群重启类型

象征 重新启动类型 描述
N 节点 可以使用滚动重启更新参数(参见第23.6.5节,“滚动重启NDB集群”
年代 系统 必须完全关闭所有集群节点,然后重新启动,才能更改此参数
最初的 重启数据节点必须使用——初始选项