NDB集群节点之间的通信通常使用TCP / IP处理。共享内存(SHM)运输机是杰出的信号是通过写在内存中,而不是一个套接字。共享内存运输车(SHM)可以提高性能通过否定一个TCP连接所需的开销的20%在运行一个API节点(通常是一个SQL节点)和一个数据节点在同一个主机上。您可以启用共享内存连接在这里列出的两种方式:
假设一个集群运行一个数据节点的节点ID 1和一个SQL节点在同一主机节点ID 51 10.0.0.1。表示启用一个单孔位微吹气扰动连接这两个节点之间,所有有必要确保以下条目中包含集群配置文件:
[ndbd] NodeId = 1主机名= 10.0.0.1 UseShm = 1 (mysqld)表示NodeId = 51主机名= 10.0.0.1。表示
两个条目只显示除了其他条目和集群所需的参数设置。一个更完整的例子是在本节所示。
在开始使用单孔位微吹气扰动数据节点连接之前,也必须确保每个电脑主机上的操作系统这样一个数据节点有足够的内存分配给共享内存段。看到您的操作平台10bet官方网站的文档信息。在多个主机的设置都运行一个数据节点和一个API节点,可以启用共享内存等所有主机通过设置UseShm
在(ndbd违约)
部分的配置文件。这是本节中的示例之后所示。
虽然没有严格的要求,优化集群中的所有SHM连接可以通过设置下列一个或多个参数(单孔位微吹气扰动违约)
集群的配置(config.ini
)文件:
ShmSize
:共享内存大小ShmSpinTime
:在睡前µs旋转SendBufferMemory
:信号从该节点发送缓冲区的大小,以字节为单位。SendSignalId
:表明信号ID是包含在每个信号通过光纤发送运输。校验和
:表明一个校验和包含在每个信号通过光纤发送运输。PreSendChecksum
:检查校验和是由前发送信号;校验和也必须支持这个工作
这个例子显示了一个简单的设置和SHM连接在多个主机,无所不能的NDB集群使用这里列出3计算机的主机名,主机显示的节点类型:
10.0.0.0
:管理服务器10.0.0.1
:一个数据节点和一个SQL节点10.0.0.2
:一个数据节点和一个SQL节点
在这个场景中,每个数据节点与管理服务器和其他数据通信节点使用TCP转运蛋白;每个SQL节点使用一个共享内存传输与数据节点通信,是本地和TCP传输与远程数据通信节点。一个基本配置反映启用此设置的配置。ini文件的内容所示:
ndbd默认DataDir =/ / datadir /路径UseShm = 1 (shm违约]ShmSize = 8 m ShmSpintime = 200 SendBufferMemory = 4 m [tcp违约]SendBufferMemory = 8 m [ndb_mgmd] NodeId = 49主机名= 10.0.0.0 DataDir =/ / datadir /路径[ndbd] NodeId = 1主机名= 10.0.0.1 DataDir表示=/ / datadir /路径[ndbd] NodeId = 2主机名= 10.0.0.2 DataDir =/ / datadir /路径(mysqld) NodeId = 51主机名= 10.0.0.1 (mysqld)表示NodeId = 52主机名= 10.0.0.2 (api) (api)
参数影响所有共享内存设置转运蛋白(单孔位微吹气扰动违约)
部分;这些可以覆盖每个连接在一个或多个基础(shm)
部分。每一个这样的部分必须与一个给定的SHM连接使用NodeId1
和NodeId2
;这些参数所需的值是两个节点连接的节点id的运输车。您还可以使用识别节点的主机名HostName1
和HostName2
,但这些参数不是必需的。
API节点的主机名设置使用TCP传输与数据通信节点独立的主机开始;中设置的参数和值(tcp违约)
部分的配置文件适用于所有TCP集群中的转运蛋白。
为了获得最佳性能,您可以定义一个自旋时间单孔位微吹气扰动运输车(ShmSpinTime
参数);这会影响数据节点接收线程和调查所有者(接收线程或用户线程)NDB
。
-
(或更高版本) NDB 8.0.13 类型或单位 布尔 默认的 真正的 范围 真的,假的 重新启动类型 N (NDB 8.0.13)
这个参数是一个布尔(
Y
/N
)参数,默认情况下是禁用的。启用时,校验和计算所有消息被放置在之前发送缓冲区。这个功能可以防止信息被损坏的发送缓冲区中等待。它也作为核对数据被损坏在运输。
-
(或更高版本) NDB 8.0.13 类型或单位 无符号 默认的 35 范围 0 - 200 重新启动类型 N (NDB 8.0.13)
决定了组接近;解释一个更小的值接近。默认值是足够的对于大多数条件。
-
(或更高版本) NDB 8.0.13 类型或单位 名或IP地址 默认的 […] 范围 … 重新启动类型 N (NDB 8.0.13)
的
HostName1
和HostName2
参数可以用来指定特定的网络接口用于给定SHM两个节点之间的连接。用于这些参数的值可以是主机名或IP地址。 -
(或更高版本) NDB 8.0.13 类型或单位 名或IP地址 默认的 […] 范围 … 重新启动类型 N (NDB 8.0.13)
的
HostName1
和HostName2
参数可以用来指定特定的网络接口用于给定SHM两个节点之间的连接。用于这些参数的值可以是主机名或IP地址。 -
(或更高版本) NDB 8.0.13 类型或单位 数字 默认的 (没有) 范围 1 - 255 重新启动类型 N (NDB 8.0.13)
确定两个节点之间的连接必须为每个人提供节点标识符,
NodeId1
和NodeId2
。 -
(或更高版本) NDB 8.0.13 类型或单位 数字 默认的 (没有) 范围 1 - 255 重新启动类型 N (NDB 8.0.13)
确定两个节点之间的连接必须为每个人提供节点标识符,
NodeId1
和NodeId2
。 -
(或更高版本) NDB 8.0.13 类型或单位 数字 默认的 (没有) 范围 1 - 63 重新启动类型 N (NDB 8.0.13)
确定一个共享内存的服务器端连接。默认情况下,这是数据节点的节点ID。
-
(或更高版本) NDB 8.0.13 类型或单位 字节 默认的 0 范围 0 - 4294967039 (0 xfffffeff) 重新启动类型 N (NDB 8.0.13)
当超过这个许多未寄出的字节发送缓冲区,连接被认为是超载。看到部分23.3.3.14,“配置NDB集群发送缓冲区参数”,部分23.5.14.55,“ndbinfo运输车表”为更多的信息。
-
(或更高版本) NDB 8.0.13 类型或单位 布尔 默认的 假 范围 真的,假的 重新启动类型 N (NDB 8.0.13)
如果这个参数,
校验和
都是启用的,执行pre-send校验和检查,检查所有单孔位微吹气扰动信号节点之间的错误。如果没有影响校验和
也不启用。 -
(或更高版本) NDB 8.0.13 类型或单位 整数 默认的 2米 范围 256 k - 4294967039 (0 xfffffeff) 重新启动类型 N (NDB 8.0.13)
共享内存缓冲区的大小(以字节为单位)从该节点发送的信号使用共享内存连接。
-
(或更高版本) NDB 8.0.13 类型或单位 布尔 默认的 假 范围 真的,假的 重新启动类型 N (NDB 8.0.13)
追溯一个分布式的道路信息,有必要为每个消息提供一个惟一的标识符。设置这个参数
Y
导致了这些消息id被在网络上。默认禁用这个特性在生产中构建,并启用调试
构建。 -
(或更高版本) NDB 8.0.13 类型或单位 无符号 默认的 0 范围 0 - 4294967039 (0 xfffffeff) 重新启动类型 N (NDB 8.0.13)
当设置共享内存段,一个节点ID,表示为一个整数,用于识别独特的通信所使用的共享内存段。没有默认值。如果
UseShm
启用,共享内存键自动计算NDB
。 -
(或更高版本) NDB 8.0.13 类型或单位 字节 默认的 4米 范围 64 k - 4294967039 (0 xfffffeff) 重新启动类型 N (NDB 8.0.13)
每个SHM连接节点之间共享内存段,消息发送者和读者的阅读。这段被定义为的大小
ShmSize
。默认值是4 mb。 -
(或更高版本) NDB 8.0.13 类型或单位 整数 默认的 0 范围 0 - 2000 重新启动类型 N (NDB 8.0.13)
当收到,等睡觉前,在微秒。
-
(或更高版本) NDB 8.0.13 类型或单位 无符号 默认的 […] 范围 0 - 4294967039 (0 xfffffeff) 弃用 是的(NDB 7.6) 重新启动类型 N (NDB 8.0.13)
这个参数是使用以前覆盖操作系统数字信号;在NDB 8.0中,不再使用,任何设置将被忽略。
重新启动类型。信息使用的启动类型参数在这一节中描述如下表所示:
表23.22 NDB集群启动类型
象征 | 重新启动类型 | 描述 |
---|---|---|
N | 节点 | 参数可以使用滚动更新重启(见部分23.5.5,“执行滚动重启一个NDB集群”) |
年代 | 系统 | 所有集群节点必须完全关闭,然后重新启动,这个参数变化的影响 |
我 | 最初的 | 数据节点必须重新启动使用——初始 选项 |