mysql cluster 安装NDB二进制版本
2019獨角獸企業重金招聘Python工程師標準>>>
mysql cluster 基于NDB CLUSTER存儲引擎的完整的分布式數據庫系統。MYSQL CLUSTER是一個share nothing架構,各個mysql server之間并不共享任何數據。mysql cluster實際上是在無共享存儲設備上實現的一種完全分布式數據庫系統。現在版本的MYSQL CLUSTER可以做到將所有搜索引擎裝載在內存中,實際的數據可以不用全部裝載到內存中。
mysql cluster有3部分組成:
1.sql node:負責數據庫存儲層之上的所有事情,比如鏈接管理,quere優化和相應,cache管理。需要在配置文件(my.cnf)添加ndbcluster參數。
2.data node:實現底層的數據存儲功能,保存cluster的數據,每個data節點保存完整數據的一個fragment.一般來說ndb節點被組織成一個一個的ndb group,一個ndb group實際上就是一組存有完全相同的物理數據的NDB節點群。數據節點的配置參數在管理節點的config.ini中配置。NoOfreplicas參數指定每一份數據被冗余存儲在不同節點上面的分數,一般至少設置成2.
3.managerment node:負責管理整個集群中的各個節點的管理工作,包括集群的配置,啟動關閉節點,對各個節點進行常規維護,以及實施數據的備份等。
mysql cluter 啟動順序:
managerment node --->data node --->sql node
######################################################3
mysql cluster network:
managerment node:10.10.54.86
data node:10.10.54.85/87
sql node:10.10.54.85/87
備份以前數據:
[root@nan86 ~]# mv /usr/local/mysql/ /usr/local/mysql_bak
[root@nan85 ~]# mv /usr/local/mysql/ /usr/local/mysql_bak
[root@nan87 ~]# mv /usr/local/mysql/ /usr/local/mysql_bak
配置步驟:
1.解壓文件: 三個主機85,86,87都做如下操作: #tar?xvf?mysql-cluster-gpl-7.2.15-linux2.6-x86_64.tar.gz #mv?mysql-cluster-gpl-7.2.15-linux2.6-x86_64?/usr/local/mysql #chown?mysql.mysql?-R?/usr/local/mysql2.配置管理節點 在主機10.10.54.86上:[root@nan86?bin]#?cp?/usr/local/mysql/bin/ndb_mgm*?/usr/local/bin/ [root@nan86?etc]#?pwd /etc [root@nan86?etc]#?mkdir?ndb [root@nan86?ndb]#?vim?/etc/ndb/config.ini? [NDBD?DEFAULT] NoOfReplicas=2 DataMemory=512M IndexMemory=256M//可以不加 [TCP?DEFAULT] portnumber=2202[NDB_MGMD] nodeid=1 hostname=10.10.54.86 datadir=/data/ndb[NDBD] nodeid=2 hostname=10.10.54.85 datadir=/data/ndb BackupDataDir=/data/backup[NDBD] nodeid=3 hostname=10.10.54.87 datadir=/data/ndb BackupDataDir=/data/backup[MYSQLD] nodeid=10 hostname=10.10.54.85[MYSQLD] nodeid=11 hostname=10.10.54.873.SQL節點配置 在主機10.10.54.85和10.10.54.87上做如下操作:#/etc/init.d/mysqld?stop #?vim?/etc/my.cnf //添加如下: [mysql_cluster] ndb-connectstring=10.10.54.86 [mysqld] datadir=/data/ndb ndbcluster ndb-connectstring=10.10.54.86#?vim?/etc/init.d/mysqld? #修改下面的數據 datadir=/data/ndb初始化數據: #/usr/local/mysql/scripts/mysql_install_db?--user=mysql?--basedir=/usr/local/mysql4.啟動管理節點 在主機10.10.54.86上[root@nan86?~]#?ndb_mgmd?-f?/etc/ndb/config.ini?--initial MySQL?Cluster?Management?Server?mysql-5.5.35?ndb-7.2.15[root@nan86?~]#?ndb_mgm --?NDB?Cluster?--?Management?Client?-- ndb_mgm>?show5.啟動data節點 在10.10.54.85和10.10.54.87 #?ndbd?--initial?--ndb-connectstring=10.10.54.86 2014-02-26?08:21:38?[ndbd]?INFO?????--?Angel?connected?to?'10.10.54.86:1186' 2014-02-26?08:21:38?[ndbd]?INFO?????--?Angel?allocated?nodeid:?26.啟動SQL節點 在10.10.54.85和10.10.54.87 #/etc/init.d/mysqld?start7.查看SQL節點和data節點是否成功 在管理節點上,看到如下是成功的。 [root@nan86?ndb]#?ndb_mgm --?NDB?Cluster?--?Management?Client?-- ndb_mgm>?show Connected?to?Management?Server?at:?localhost:1186 Cluster?Configuration --------------------- [ndbd(NDB)] 2?node(s) id=2 @10.10.54.85??(mysql-5.5.35?ndb-7.2.15,?Nodegroup:?0,?*) id=3 @10.10.54.87??(mysql-5.5.35?ndb-7.2.15,?Nodegroup:?0)[ndb_mgmd(MGM)] 1?node(s) id=1 @10.10.54.86??(mysql-5.5.35?ndb-7.2.15)[mysqld(API)] 2?node(s) id=4 @10.10.54.85??(mysql-5.5.35?ndb-7.2.15) id=5 @10.10.54.87??(mysql-5.5.35?ndb-7.2.15)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 如果看到如下: ndb_mgm>?show Connected?to?Management?Server?at:?localhost:1186 Cluster?Configuration --------------------- [ndbd(NDB)] 2?node(s) id=2?(not?connected,?accepting?connect?from?10.10.54.85) id=3?(not?connected,?accepting?connect?from?10.10.54.87)[ndb_mgmd(MGM)] 1?node(s) id=1 @10.10.54.86??(mysql-5.5.35?ndb-7.2.15)[mysqld(API)] 2?node(s) id=4?(not?connected,?accepting?connect?from?10.10.54.85) id=5?(not?connected,?accepting?connect?from?10.10.54.87)解決方法: (1)查看SQL節點和data節點是否啟動。 (2)查看/data/ndb下所有文件所有者否是mysql.mysql/usr/local/mysql下所有文件所有者否是mysql.mysql (3)查看iptables (4)查看網絡 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@7.驗證NDB集群 在10.10.54.85上 mysql>?create?table?sn(age?int)->?engine=ndb; mysql>?show?tables; +----------------+ |?Tables_in_test?| +----------------+ |?sn?????????????| +----------------+ mysql>?insert?into?sn?values(12); ... 在10.10.54.87上 mysql>?select?*?from?sn; +------+ |?age??| +------+ |???12?| |???12?| |???12?| |???12?| |???12?| +------+ 經測試,插入更新同樣能同步。轉載于:https://my.oschina.net/u/1454868/blog/203568
總結
以上是生活随笔為你收集整理的mysql cluster 安装NDB二进制版本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NSString字符串常用知识点
- 下一篇: 20年工作经验的架构师写给程序员的一封信