• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

详解MySQL Cluster治理结点的config.ini配置文件

mysql 搞代码 4年前 (2022-01-09) 21次浏览 已收录 0个评论

详解MySQL Cluster管理结点的config.ini配置文件 一、定义MySQL Cluster的TCP/IP连接 TCP/IP是MySQL集群用于建立连接的默认传输协议,正常情况下不需要定义连接。可使用“[TCP DEFAULT]”或“[TCP]”进行定义。 1. SendBufferMemory TCP传输缓存。默认为 256K

详解MySQL Cluster管理结点的config.ini配置文件
一、定义MySQL Cluster的TCP/IP连接TCP/IP是MySQL集群用于建立连接的默认传输协议,正常情况下不需要定义连接。可使用“[TCP DEFAULT]”或“[TCP]”进行定义。
1. SendBufferMemoryTCP传输缓存。默认值为 256KB。
2. SendSignalId通过网络传输消息ID。默认禁止该特性(取值: Y/N或1/0)。
3. Checksum启用该参数将在所有消息置于发送缓冲之前,为所有参数计算校验和。默认禁止该特性(取值: Y/N或1/0)。
4. ReceiveBufferMemory指定从TCP/IP Socket接收数据时所使用的缓冲大小。几乎不需要更改该参数的默认值,默认值为64KB。
二、定义数据结点默认行为NoOfReplicas为必要参数,使用“[NDBD DEFAULT]”进行定义。
1. NoOfReplicas定义集群中每个表保存的拷贝数,另外还指定结点组的大小。结点组指保存相同信息的结点集合。通常情况下不需要为该参数指定值。NoOfReplicas没有默认值,最大的可能值为 4。
三、定义管理服务器(MGM)用于配置管理服务器的行为。下面的参数均可以被忽略,如果是这样,将使用其默认值。如果没有定义ExecuteOnComputer或HostName,则会指定为localhost。可使用“[NDB_MGMD]”定义单个管理结点的行为,也可使用“[NDB_MGMD DEFAULT]”定义多个管理结点的默认行为。
1. NodeId集群中结点的唯一标识,取值 1~63。
2. HostName指定结点主机名或IP。
3. ExecuteOnComputer引用在“[COMPUTER]”部分中定义的计算机之一。
4. PortNumber管理服务器监听端口(默认值: 2202)。
5. LogDestination结点日志出处理方式,可取下述值:
5.1. CONSOLE
将日志输出到标准输出设备(stdout)。
5.2. SYSLOG:facility=syslog
将日志发送到syslog(系统日志)软设备,可能值:
auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, syslog
, user, uucp, local0, local12~7
5.3. FILE:filename=/var/log/mgmd.log,maxsize=1000000,maxfiles=6
讲日志输出到文件,可指定一下值:
filename:日志文件名称。
maxsize:日志文件最大尺寸,大于该尺寸时自动创建新日志文件。
maxfiles:日志文件最大数量。
6. ArbitrationRank指定哪个结点扮演决策角色,只有MGM结点和SQL结点可以使用(默认值:1)。通常情况下,应将值设为 1,并将所有SQL结点设为 0,以MGM服务器作为决策程序。可取下述值之一:
0:该结点永远不用作决策。
1:该结点具有高优先级。
2:该结点具有低有限级。
7. ArbitrationDelay指定管理服务器对决策请求的延迟时间,毫秒为单位,默认为 0。通常情况下不需要改变它。
8. DataDir保存管理服务器输出文件的位置,包括日志,进程输出文件,以及程序的pid文件。对于日志文件,可通过设置LogDestination的FILE参数覆盖它。
四、定义数据结点(NDBD)用于配置数据结点的行为。ExecuteOnComputer或HostName为必要参数。对于各种参数,可以使用后缀k、M或G指明单位。使用“[NDBD]”进行定义。
1. NodeId启动结点时,可在命令行中分配ID(即数据结点ID),也能在配置文件中分配。
2. HostName指定结点主机名或IP。
3. ExecuteOnComputer引用在“[COMPUTER]”部分中定义的计算机之一。
4. DataDir指定存放跟踪文件,日志文件,pid文件以及错误日志的目录。
5. BackupDataDir指定存放备份的目录,默认为 {FileSystemPath}/BACKUP。
6. DataMemory指定数据内存,默认值为 80MB,最小值 1MB,无大小限制。
7. IndexMemory指定索引内存,默认值为 18MB,最小值 1MB,无大小限制。
8. MaxNoOfConcurrentTransactions用于设定结点内可能的并发事务数,默认值为 4096。对于所有结点,必须将参数设置为相同的值。
9. MaxNoOfConcurrentO本文来源gaodaimacom搞#^代%!码&网*perations设置能同时出现在更新阶段或同时锁定的记录数。默认值为 32768。
10. MaxNoOfLocalOperations默认情况下,将按照1.1 * MaxNoOfConcurrentOperations计算该参数,它适合于具有很多并发事务,但不存在特大事务的系统。如果需要在某一时间处理特大事务,而且有很多结点,最好通过明确指定该参数以覆盖默认值。
11. MaxNoOfConcurrentIndexOperations该参数的默认值为8192。只有在极其罕见的情况下,需要使用唯一性哈希索引执行极高的并行操作时,才有必要增大该值。如果确信该集群不需要高的并行操作,可以使用较小的值并节省内存。
12. MaxNoOfFiredTriggers默认值是4000,它足以应付大多数情况。在某些情况下,如果认为在集群中对并行操作的要求并不高, 甚至还能降低它。
13. TransactionBufferMemory该参数影响的内存用于跟踪更新索引表和读取唯一索引时执行的操作。该内存用于保存关于这类操作的键和列信息。几乎不需要更改该参数的默认值。
14. MaxNoOfConcurrentScans该参数用于控制可在集群中执行的并行扫描的数量。默认值为256,最大值为500。
15. MaxNoOfLocalScans如果很多扫描不是完全并行化的,指定本地扫描记录的数量。
16. BatchSizePerLocalScan该参数用于计算锁定记录的数量。要想处理很多并发扫描操作,需要这类记录。默认值是64,该值与SQL结点中定义的 ScanBatchSize 关系密切。
17. LongMessageBuffer用于在单个结点内和结点之间传递消息的内部缓冲。尽管几乎不需要改变它,但它仍是可配置的。默认情况下,它被设置为1MB。
18. NoOfFragmentLogFiles设置结点的REDO日志文件的大小,默认值为 8。
19. MaxNoOfSavedMessages设置跟踪文件的最大数,默认值为 25。
20. MaxNoOfAttributes设置可在集群中定义的属性数量,默认值为 1000,最小值为 32。
21. MaxNoOfTables设置集群中最大表对象数量。默认值为128,最小值为 8,最大值为 1600。
22. MaxNoOfOrderedIndexes对于集群中的每个有序索引,会分配一个对象,用于描述索引的内容,以及它的存储片段。在默认情况下,每个如此定义的索引还定义了一个有序索引。每个唯一索引和主键都具有一个有序索引和一个哈希索引。MaxNoOfOrderedIndexes设置有序索引的总数,这是系统任何时候能够使用的有序索引的总数。这个参数的默认值是128。每个结点中的每个索引对象尺寸大约为10KB。
23. MaxNoOfUniqueHashIndexes对于每个不是主键的唯一索引,会分配一个表,用于将唯一键映射至索引表的主键。在默认情况下,还会为每个唯一索引定义一个有序索引。想要避免这种情况,当定义唯一索引时,你还必须指定“USING HASH”选项。默认值是64。每个结点中的每个索引的尺寸大约为15KB。
24. MaxNoOfTriggers该参数用于设置集群中触发器的最大数量。
25. LockPagesInMainMemory对于很多操作系统,能够将进程锁定在内存中,以避免与磁盘的交换。使用它可以确保集群的实时特性。默认情况下,该特性是被禁止的(取值:Y/N或1/0)。
26. StopOnError出现错误时,该参数指定NDBD进程是退出还是自动重启。默认情况下,该特性是启用的(取值:Y/N或1/0)。
27. Diskless指定集群为“无磁盘”,意味着不会为表在磁盘上设立检查点,也不会记录任何日志。默认情况下,该特性是被禁止的(取值:Y/N或1/0)。
28. RestartOnErrorInsert仅当编译为调试版时才能访问该特性。默认情况下,该特性是被禁止的。
29. TimeBetweenWatchDogCheck指定监控线程检查的间隔。该参数以毫秒为单位,默认值为 4000 毫秒。
30. StartPartialTimeout该参数指定了在调用集群初始化子程序之前,集群等待所有存储结点出现的时间。默认值为 30000 毫秒(0 表示无限超时)。
31. StartPartitionedTimeout如果集群做好了启动准备,但仍可能处于隔离状态,集群将等待该超时时间结束。默认值为 60000 毫秒。
32. StartFailureTimeout如果数据结点在该参数指定的时间内未完成其启动序列,结点启动将失败。如果将该参数设置为0,表示不采用数据结点超时。默认值为 60000 毫秒。
33. HeartbeatIntervalDbDb每个数据结点发送心跳信号到SQL结点的间隔。默认值为 1500 毫秒。
34. HeartbeatIntervalDbApi每个数据结点都会向每个MySQL服务器(SQL结点)发送心跳信号,以确保它们依然保持接触。如果一个MySQL服务器没能成功地及时发送一个心跳,那么就会将其声明为“失效”,在这种情况下,所有正在进行的事务都会结束,并且释放所有资源。SQL结点不能重连,直到由先前的MySQL实例所初始化的所有活动都已经结束为止。默认的时间间隔是1500毫秒(1.5秒)单个数据结点之间的这个时间间隔可以是不同的,因为每个数据结点都会监视与其连接的MySQL服务器,与所有其他的数据结点无关。
35. TimeBetweenLocalCheckpoints该参数默认值为20。
36. TimeBetweenGlobalCheckpoints该参数定义了全局检查点操作之间的时间间隔。默认值为 2000 毫秒。
37. TimeBetweenInactiveTransactionAbortCheck该参数默认值为 1000 毫秒。
38. TransactionInactiveTimeout如果事务目前未执行任何查询,而是等待进一步的用户输入,该参数指明了放弃事务之前用户能够等待的最长时间。默认值为 0。
39. TransactionDeadlockDetectionTimeout该超时参数指明了放弃事务之前,事务协调器等候另一结点执行查询的时间。
40. NoOfDiskPagesToDiskAfterRestartTUP该参数指定了执行本地检查点操作的速度,并能与NoOfFragmentLogFiles、DataMemory和IndexMemory一起使用。默认值是 40(每秒3.2MB的数据页)。
41. NoOfDiskPagesToDiskAfterRestartACC该参数使用的单位与NoOfDiskPagesToDiskAfterRestartTUP的相同。工作方式也类似,但限制的是从索引内存进行的索引页写入速度。该参数的默认值为每秒20个索引内存页(1.6MB每秒)。
42. NoOfDiskPagesToDiskDuringRestartTUP该参数涉及从数据内存写入的页。默认值是40(3.2MB每秒)。
43. NoOfDiskPagesToDiskDuringRestartACC该参数默认值是20(1.6MB每秒)。
44. ArbitrationTimeout指定数据结点等待决策程序对决策消息的回应的时间。默认值为 1000 毫秒。
45. UndoIndexBuffer指定UNDO索引缓冲区大小。默认值为 2MB,最小值为1MB。
46. UndoDataBuffer指定UNDO数据缓冲区大小。默认值为 16MB,最小值为1MB。
47. RedoBuffer指定REDO数据缓冲区大小。默认值为 8MB,最小值为1MB。
48. LogLevelStartup日志级别,用于进程启动过程中生成的事件。默认级别为 1。
49. LogLevelShutdown日志级别,用于作为结点恰当关闭进程组成部分而生成的事件。默认级别为 0。
50. LogLevelStatistic日志级别,用于统计事件,如主键法读取次数、更新数、插入数、与缓冲使用有关的信息等。默认级别为 0。
51. LogLevelCheckpoint日志级别,用于由本地和全局检查点操作生成的事件。默认级别为 0。
52. LogLevelNodeRestart日志级别,用于在结点重启过程中生成的事件。默认级别为 0。
53. LogLevelConnection日志级别,用于由集群结点间的连接生成的事件。默认级别为 0。
54. LogLevelError日志级别,用于由在整个集群内的错误和警告生成的事件。这类错误不会导致任何结点失败,但仍值得记录。默认级别为 0。
55. LogLevelInfo日志级别,用于为集群的一般状态信息而生成的事件。默认级别为 0
56. BackupDataBufferSize指定数据备份缓冲区大小。默认值为 2MB。
57. BackupLogBufferSize指定日志备份缓冲区大小。默认值为 2MB。
58. BackupMemory该参数是BackupDataBufferSize和BackupLogBufferSize之和。默认值是2MB + 2MB = 4MB。
59. BackupWriteSize该参数指定了由备份日志缓冲和备份数据缓冲写入磁盘的消息大小。默认值为 32KB。
60. FileSystemPath该参数指定了存放为元数据创建的所有文件、REDO日志、UNDO日志和数据文件目录。注意:在ndbd进程启动前,该目录必须已存在。
五、定义MySQL服务器(SQL)定义用于访问集群数据的MySQL服务器(SQL结点)的行为。可使用“[MYSQLD]”定义单个SQL结点的行为,也可使用“[MYSQLD DEFAULT]”定义多个SQL结点的默认行为。
1. NodeId集群中结点的唯一标识。取值 1~63。
2. HostName指定结点主机名或IP。
3. ExecuteOnComputer引用在“[COMPUTER]”部分中定义的计算机之一。
4. ArbitrationRank对于正常配置,使用管理服务器作为决策程序。将管理服务器的ArbitrationRank设置为 1(默认),并将所有SQL结点的ArbitrationRank设置为 0。
5. ArbitrationDelay指定管理服务器对决策请求的延迟时间,以毫秒为单位。默认为 0,通常情况下不需要改变它。
6. BatchByteSize对于被转换为全表扫描或索引范围扫描的查询来说,以适当大小批量获取记录,可以获得最佳的性能。这个合适的尺寸既可以用记录数量(BatchSize)表示,也可以用字节数量(BatchByteSize)表示。实际的批量尺寸受这两个参数的限制。根据这个参数的设置方法,查询性能最多可以提高40%。该参数以字节为单位,默认值是 32KB。
7. BatchSize该参数以字节为单位,默认值是 64,最大值为 992。
8. MaxScanBatchSize指定从各数据结点发送的每批数据的大小,默认值是 256KB,最大值为 16MB。
六、配置文件示例

[ndbd default] # 数据结点的默认配置
NoOfReplicas=2 # 数据在集群中具有两份拷贝
DataMemory=80M # 数据内存大小为80 MB
IndexMemory=18M # 索引内存大小为18 MB

[ndb_mgmd] # 管理结点配置
NodeId=1
hostname=192.168.124.141 # 管理结点的IP地址
datadir=/var/lib/mysql-cluster # 保存管理结点的输出文件的位置

[ndbd] # 数据结点的配置
NodeId=2
hostname=192.168.124.142 # 数据结点的IP地址
datadir=/usr/local/mysql/data # 指定存放跟踪文件、日志文件、pid文件以及错误日志的目录

[ndbd] # 数据结点的配置
NodeId=3
hostname=192.168.124.143 # 数据结点的IP地址
datadir=/usr/local/mysql/data
[mysqld] # SQL结点的配置
NodeId=4
hostname=192.168.124.144 # SQL结点的IP地址
[mysqld] # SQL结点的配置
NodeId=5
hostname=192.168.124.145 # SQL结点的IP地址


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:详解MySQL Cluster治理结点的config.ini配置文件
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址