mysql cluster配置
依賴包要求:cmake gcc gcc-c++ ncurses Perl
在7.3以及更高的版本中, WITH_NDB_JAVA是默認啟動的,需要配置JAVA環境,
WITH_CLASSPATH配置JAVA目錄
。如果不啟用,可以: -DWITH_NDB_JAVA=OFF。
CMAKE配置選項:
具體參閱:https://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html#cmake-general-options
SQL節點存儲的是表結構,數據節點存儲的是數據文件。
配置參數:
數據節點配置參數參閱:https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-params-ndbd.html https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbd-definition.html
SQL節點配置參數參閱:https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-params-api.html https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-api-definition.html
管理節點參數參閱:https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-params-mgmd.html https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-mgm-definition.html
其他參數參閱:https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-params-other.html
SQL節點與數據節點配置(my.cnf): #SQL節點與數據節點配置都是一樣的,在管理節點上區分兩個節點。
[mysqld]
ndbcluster
[mysql_cluster]
ndb-connectstring=198.51.100.10 #指向管理服務器
管理節點(config.ini):
[ndbd default] #數據節點所有默認配置
NoOfReplicas=2 #一份數據在集群中的存在份數,與數據節點對應
DataMemory=80M #裝載到內存中的數據大小
IndexMemory=18M #裝載到內存中索引大小
ServerPort=2202 #默認端口
LockPagesInMainMemory=1
NoOfFragmentLogFiles=300
DataDir=/usr/local/mysql/data
MaxNoOfConcurrentOperations=100000
SchedulerSpinTimer=400
SchedulerExecutionTimer=100
RealTimeScheduler=1
TimeBetweenGlobalCheckpoints=1000
TimeBetweenEpochs=200
RedoBuffer=32M
MaxNoOfTables=1024
MaxNoOfOrderedIndexes=256
[tcp default]
SendBufferMemory=2M
ReceiveBufferMemory=2M
[ndb_mgmd] #管理節點
HostName=198.51.100.10 #IP或者hostname,管理節點
DataDir=/usr/local/mysql/data #數據文件存放目錄
[ndbd] #數據節點節點1
HostName=198.51.100.30 #節點IP
NodeId=2 #節點ID
DataDir=/usr/local/mysql/data #節點數據目錄
LockExecuteThreadToCPU=1
LockMaintThreadsToCPU=0
[ndbd] #數據節點節點2
HostName=198.51.100.40 #節點IP
NodeId=3
DataDir=/usr/local/mysql/data
LockExecuteThreadToCPU=1
LockMaintThreadsToCPU=0
[mysqld] #sql節點1
HostName=198.51.100.20
[mysqld] #sql節點2
HostName=198.51.100.20
管理節點上進行初始化:
ndb_mgmd -f /var/lib/mysql-cluster/config.ini #指定config.ini文件位置,配置文件位置
SQL節點與數據節點上執行:
ndbd --ndbcluster
--ndbcluster(--initial):該NDBCLUSTER
存儲引擎是必要的使用NDB簇
關閉集群,在管理節點上執行:
ndb_mgm -e shutdown
mysql cluster配置