亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 11804 | 回復: 8
打印 上一主題 下一主題

[FreeBSD] 5sky's MySQL NDB Cluster(簇) for 7.2 群集部署筆記 [復制鏈接]

論壇徽章:
1
數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2015-08-09 06:20:00
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-12-11 12:05 |只看該作者 |倒序瀏覽
這里不再做更新了,原文更新見我的blog吧.
http://blog.sysv.cn/?action=show&id=70

  因幫朋友忙,實現(xiàn)mysql的雙機復制。于是到官方去看文檔,看到關(guān)于MySQL簇這塊內(nèi)容,發(fā)現(xiàn)其中提及在FreeBSD上可以實現(xiàn)。但除了給個編譯參數(shù)外就沒有其他說明手工編譯實現(xiàn)mysql NDB的內(nèi)容。加之,GG上搜了下沒發(fā)現(xiàn)FreeBSD下實現(xiàn)NDB文檔。于是乎,萌發(fā)了搭建個基于FreeBSD的MySQL簇的想法。
  經(jīng)過幾天的抓摸,最終實現(xiàn)MySQL簇。本文文檔是MySQL簇實現(xiàn)過程中的編碼安裝筆記,且主體思路只是實現(xiàn)MySQL簇在FreeBSD的運行,不對性能和穩(wěn)定性進行測試。因此,在此算是拋磚引玉,希望大家指正。

準備工作:
硬件裝備:
4-5臺 pc server
1臺 100Mb交換機

系統(tǒng)裝備:
FreeBSD 7.2 release, Mini方式安裝完成后, 通過csup獲取ports源和src源.

軟件裝備:
通過ports來獲取,本次實驗NDB cluster的方案用的是mysql-server-5.1.40版本
預規(guī)劃:
預留地址: 10.10.10.1 - 10.10.10.7
管理(MGM)節(jié)點: 10.10.10.8 - 10.10.10.10
管理客戶端: 10.10.10.11 - 10.10.10.15
MySQL客戶端: 10.10.10.16 - 10.10.10.63
SQL節(jié)點(NDB): 10.10.10.64 - 10.10.10.127
數(shù)據(jù)節(jié)點(Data Node): 10.10.10.128 - 10.10.10.254
現(xiàn)網(wǎng)規(guī)劃:
MGM節(jié)點: 10.10.10.10
SQL節(jié)點: 10.10.10.18
數(shù)據(jù)節(jié)點: 10.10.10.129 / 10.10.10.130

拓撲結(jié)構(gòu):



實施步驟:
在各節(jié)點系統(tǒng)/etc/hosts填加:
10.10.10.10             DB_MGM     //管理節(jié)點
10.10.10.18             DB_SQL_1  //SQL節(jié)點
10.10.10.129           DB_DataNode_1  //Node節(jié)點1
10.10.10.130           DB_DataNode_2  //Node節(jié)點2

PORTS編譯安裝:
# cd /usr/ports/database/mysql51-client
# make WITH_CHARSET=utf8 WITH_XCHARSET=complex install clean
# cd /usr/ports/database/mysql51-server
# make WITH_CHARSET=utf8 WITH_XCHARSET=complex BUILD_STATIC=yes WITHOUT_INNODB=yes BUILD_OPTIMIZED=yes WITH_NDB=yes install clean
#說明: 各節(jié)點編譯方式都是一樣的,但需求不同,MGM節(jié)點的運行進程序為ndb_mgmd,SQL節(jié)點運行程序為mysqld,Node節(jié)點為ndbd。
#編譯完成后,SQL節(jié)點和Node節(jié)點需要使用mysql_install_db命令來初使化一次哈。


pkg_info得到的安裝包
gettext-0.17_1      GNU gettext package
gmake-3.81_3       GNU version of 'make' utility
libiconv-1.11_1      A character set conversion library
libtool-1.5.26         Generic shared library support script
mysql-client-5.1.40 Multithreaded SQL database (client)
mysql-server-5.1.40 Multithreaded SQL database (server)

配置SQL節(jié)點 && Node節(jié)點:
配置my.cnf(由于默認安裝,我的my.cnf放在/var/db/mysql/data/)
在對應位置增加以下項后保存退出
# Options for mysqld process:
[MYSQLD]
ndbcluster
ndb-connectstring=DB_MGM
# Options for ndbd process:
[MYSQL_CLUSTER]
ndb-connectstring=DB_MGM

配置MGM節(jié)點:
# mkdir /usr/local/etc/mysql-cluster
# cd /usr/local/etc/mysql-cluster
# cat > config.ini << EOF
# Options affecting ndbd processes on all data nodes:
[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
# TCP/IP options:
[TCP DEFAULT]
portnumber=2202
# Management process options:
[NDB_MGMD]
id=1
hostname=DB_MGM
datadir=/usr/local/etc/mysql-cluster
# Options for data node "A":
[NDBD]
id=2
hostname=DB_DataNode_1
datadir=/var/db/mysql
# Options for data node "B":
[NDBD]
id=3
hostname=DB_DataNode_2
datadir=/var/db/mysql
# SQL node options:
[MYSQLD]
id=4
hostname=DB_SQL_1
EOF

架構(gòu)各節(jié)點的初始化以及啟動:
啟動順序:
管理服務(wù)器(ndb_mgmd) -> 存儲引擎節(jié)點(ndbd) -> MySQL服務(wù)器進程(mysqld)
關(guān)閉順序:
MySQL服務(wù)器進程(mysqld) -> 存儲引擎節(jié)點(ndbd) -> 管理服務(wù)器(ndb_mgmd)
MGM節(jié)點的啟動:
/usr/local/libexec/ndb_mgmd -f /usr/local/etc/mysql-cluster/config.ini
SQL節(jié)點的啟動:
/usr/local/etc/rc.d/mysql-server start
DataNode的啟動:
初始化啟動:
su -l mysql -c "/usr/local/libexec/ndbd --initial --ndb-mgmd-host=DB_MGM"
#注意,僅應在首次啟動ndbd時,或在備份/恢復或配置變化后重啟ndbd時使用“--initial”參數(shù)
日常啟動:
su -l mysql -c "/usr/local/libexec/ndbd --ndb-mgmd-host=DB_MGM"

啟動后進程狀態(tài):
MGM節(jié)點:
# sockstat -4l
USER     COMMAND    PID     FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS      
root     ndb_mgmd   94443  3    tcp4     *:1186                        *:*
root     sendmail        623      4    tcp4     127.0.0.1:25               *:*
root     sshd              608      4    tcp4     *:22                            *:*
root     syslogd         482      7    udp4     *:514                          *:*
SQL節(jié)點:
# sockstat -4l
USER     COMMAND    PID      FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS      
mysql    mysqld          13635 14  tcp4      *:3306                        *:*
root      sshd              14530  4   tcp4      *:22                            *:*
root      syslogd          13911  7   udp4     *:514                          *:*
root      sendmail         599     4   tcp4      127.0.0.1:25                *:*
DataNode節(jié)點:
# sockstat -4l
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS      
mysql    ndbd             5780  7  tcp4      10.10.10.129:2202     *:*
root      sshd               885   4   tcp4      *:22                            *:*
root      sendmail         633   4   tcp4      127.0.0.1:25               *:*
root      syslogd          495    7  udp4      *:514                          *:*

查看連接、狀態(tài)等情況:
MGM節(jié)點:
MGM_Node# sockstat -4c
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
root     ndb_mgmd   94443 5  tcp4   127.0.0.1:58765       127.0.0.1:1186
root     ndb_mgmd   94443 8  tcp4   127.0.0.1:1186        127.0.0.1:58765
root     ndb_mgmd   94443 9  tcp4   10.10.10.10:1186      10.10.10.130:51676
root     ndb_mgmd   94443 10 tcp4   10.10.10.10:1186      10.10.10.129:60067
root     ndb_mgmd   94443 11 tcp4   10.10.10.10:1186      10.10.10.18:49390
MGM_Node# pwd
/usr/local/etc/mysql-cluster
MGM_Node# ll -G
total 140
-rw-r--r--  1 root  wheel  -  486B Nov 19 23:18 config.ini
-rw-r--r--  1 root  wheel  -    6B Nov 20 00:12 ndb_1.pid
-rw-r--r--  1 root  wheel  -  133K Dec 11 11:24 ndb_1_cluster.log
-rw-r--r--  1 root  wheel  -  264B Nov 20 01:02 ndb_1_out.log

SQL節(jié)點:
SQL_Node_1# sockstat -4c
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
mysql    mysqld     13635 10 tcp4   10.10.10.18:49390     10.10.10.10:1186
mysql    mysqld     13635 12 tcp4   10.10.10.18:65336     10.10.10.129:2202
mysql    mysqld     13635 13 tcp4   10.10.10.18:56529     10.10.10.130:2202
SQL_Node_1# pwd
/var/db/mysql
SQL_Node_1# ll -G
total 20544
-rw-rw----  1 mysql  mysql  -  7.3K Nov 19 22:44 SQL_Node_1.err
-rw-rw----  1 mysql  mysql  -    6B Nov 19 22:44 SQL_Node_1.pid
-rw-rw----  1 mysql  mysql  -  5.0M Nov 19 22:49 ib_logfile0
-rw-rw----  1 mysql  mysql  -  5.0M Nov 19 20:27 ib_logfile1
-rw-rw----  1 mysql  mysql  -   10M Nov 19 22:49 ibdata1
-rw-r--r--  1 mysql  mysql  -  144B Nov 19 20:34 my.cnf
drwx------  2 mysql  mysql  -  2.0K Nov 19 20:36 mysql
drwx------  2 mysql  mysql  -  512B Nov 19 23:17 world

DataNode1節(jié)點:
Data_Node_1# sockstat -4c
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
mysql    ndbd       5780  3  tcp4   10.10.10.129:60067    10.10.10.10:1186
mysql    ndbd       5780  8  tcp4   10.10.10.129:2202     10.10.10.130:63398
mysql    ndbd       5780  20 tcp4   10.10.10.129:2202     10.10.10.18:65336
Data_Node_1# pwd
/var/db/mysql
chunk2# ll -G
total 1120
drwxr-x---  3 mysql  mysql      512 Nov 19 23:23 BACKUP
-r--------  1 mysql  mysql      144 Nov 19 20:59 my.cnf
drwx------  2 mysql  mysql     2048 Nov 19 20:32 mysql
-rw-r--r--  1 mysql  mysql        5 Nov 19 23:08 ndb_2.pid
-rw-r--r--  1 mysql  mysql      568 Nov 19 21:36 ndb_2_error.log
drwxr-x---  9 mysql  mysql      512 Nov 19 21:00 ndb_2_fs
-rw-r--r--  1 mysql  mysql    14042 Nov 19 23:58 ndb_2_out.log
-rw-r--r--  1 mysql  mysql  1085744 Nov 19 21:36 ndb_2_trace.log.1
-rw-r--r--  1 mysql  mysql        1 Nov 19 21:36 ndb_2_trace.log.next

DataNode2節(jié)點:
Data_Node_2# sockstat -4c
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
mysql    ndbd       5601  3  tcp4   10.10.10.130:51676    10.10.10.10:1186
mysql    ndbd       5601  9  tcp4   10.10.10.130:63398    10.10.10.129:2202
mysql    ndbd       5601  17 tcp4   10.10.10.130:2202     10.10.10.18:56529
DataNode2# pwd
/var/db/mysql
DataNode2# ll -G
total 30
drwxr-x---  3 mysql  mysql    512 Nov 19 23:24 BACKUP
-r--------  1 mysql  mysql    144 Nov 19 21:00 my.cnf
drwx------  2 mysql  mysql   2048 Nov 19 20:33 mysql
-rw-r--r--  1 mysql  mysql      5 Nov 19 23:09 ndb_3.pid
drwxr-x---  9 mysql  mysql    512 Nov 19 21:01 ndb_3_fs
-rw-r--r--  1 mysql  mysql  18734 Nov 19 23:59 ndb_3_out.log

建立和導入測試數(shù)據(jù):
注意: 數(shù)據(jù)的操作只能SQL節(jié)點上完成,建庫時須在涉及的每個SQL節(jié)點重復輸入一次命令,測試數(shù)據(jù)為官方下的world庫,下載地址見參考文獻章節(jié)
建立數(shù)據(jù)庫:
# mysql mysql> CREATE DATABASE world DEFAULT CHARACTER SET = utf8 COLLATE utf8_general_ci;       //5.02之前版本須使用命令
# mysql> CREATE SCHEMA world DEFAULT CHARACTER SET = utf8 COLLATE utf8_general_ci;      //#5.02之后版可使用命令:
# mysql> FLUSH TABLES;
導入數(shù)據(jù):
//world數(shù)據(jù)樣本默認存儲引擎為MyISAM,因此注意在導入每個表數(shù)據(jù)工作前需將原表的存儲引擎的內(nèi)容改為NDBCLUSTER,更改完成后再導入。
# mysql world < world.sql.ndbcluster

官方文檔中摘抄的一些注意事項
注意:
1. 僅管能夠按任何順序啟動節(jié)點,但官方建議,應首先啟動管理節(jié)點,然后啟動存儲節(jié)點,最后啟動SQL節(jié)點
2. 簇管理節(jié)點的默認端口是1186,數(shù)據(jù)節(jié)點的默認端口2202。從MySQL 5.0.3開始,該限制已被放寬,簇能夠根據(jù)空閑的端口自動地為數(shù)據(jù)節(jié)點分配端口。
3. 數(shù)據(jù)節(jié)點的最大數(shù)目為48(mysql 5.1版本)
4. 所有的MySQL簇表必須有主鍵,這點極其重要
5. 所有的數(shù)據(jù)節(jié)點應具有相同的RAM量,這是因為,簇中任何數(shù)據(jù)節(jié)點所能使用的內(nèi)存均不超過任意單獨數(shù)據(jù)節(jié)點的最低可用內(nèi)存。換句話講,如果有三臺運行簇數(shù)據(jù)節(jié)點的計算機,在其中兩臺計算機上,有3GB用于保存簇數(shù)據(jù)的RAM,另一臺計算機只有1GB RAM,那么每個數(shù)據(jù)節(jié)點僅能為簇貢獻1GB。
6. 簇節(jié)點能夠通過下述三種協(xié)議中的任何一種進行通信:TCP/IP、SHM(共享內(nèi)存)和SCI(規(guī)模可擴展的計算機連接接口)。
7. 表必須用ENGINE=NDB或ENGINE=NDBCLUSTER選項創(chuàng)建,或用ALTER TABLE選項更改,以使用NDB簇存儲引擎在簇內(nèi)復制它們。
8. 對于IndexMemory和DataMemory,重要的是,總的數(shù)據(jù)庫大小是各節(jié)點組的所有數(shù)據(jù)內(nèi)存和所有索引內(nèi)存之和。每個節(jié)點組用于保存復制信息,因此,如果有4個節(jié)點和2個副本,將有2個節(jié)點組。對于每個數(shù)據(jù)節(jié)點,可用的總數(shù)據(jù)內(nèi)存是2*DataMemory。
9. 強烈建議為所有的節(jié)點設(shè)置相同的DataMemory值和IndexMemory值。由于數(shù)據(jù)是平均分布在簇中的所有節(jié)點上,任何節(jié)點可用的最大空間不超過簇中最小節(jié)點的可用空間。
10. 啟動ndbd時,它實際上將啟動兩種進程。第1種進程稱為“angel process”(天使進程),它的唯一任務(wù)是發(fā)現(xiàn)執(zhí)行進程在何時完成,然后重啟ndbd進程(如果作了該配置的話)。因此,如果你打算使用Unix的kill命令殺死ndbd進程,就需要殺死這兩個進程。中止ndbd進程的更恰當方法是使用管理客戶端,并通過該管理客戶端停止進程。
11. 注意,在MySQL 5.1中,NDB簇不支持自動發(fā)現(xiàn)數(shù)據(jù)庫的功能,這點很重要(請參見17.8節(jié),“MySQL簇的已知限制”)。這意味著,一旦在一個數(shù)據(jù)節(jié)點上創(chuàng)建了世界(world)數(shù)據(jù)庫和它的表,在簇中的每個SQL節(jié)點上還需要發(fā)出命令CREATE DATABASE world(從MySQL 5.0.2開始,可以使用CREATE SCHEMA world取而代之),后跟FLUSH TABLES。這樣,節(jié)點就能識別數(shù)據(jù)庫并讀取其表定義。

參考文獻:
MySQL 5.1參考手冊 :: 17. MySQL簇
http://dev.mysql.com/doc/refman/5.1/zh/ndbcluster.html
MySQL集群配置
http://bbs3.chinaunix.net/viewthread.php?tid=640588&extra=page%3D1%26amp%3Bfilter%3Ddigest
相關(guān)軟件:
mysql 下載
http://dev.mysql.com/downloads/
樣本數(shù)據(jù)
http://dev.mysql.com/doc/        //在此頁面可找個world的樣本庫

[ 本帖最后由 5sky 于 2009-12-18 22:56 編輯 ]

論壇徽章:
0
2 [報告]
發(fā)表于 2009-12-11 15:10 |只看該作者
收藏一下。

還是感覺上次在FOSS.MY的開源峰會上那小子現(xiàn)場找12臺筆記本架集群比較NB。。。

論壇徽章:
0
3 [報告]
發(fā)表于 2009-12-11 17:13 |只看該作者
5sky 新作,收藏

論壇徽章:
54
2017金雞報曉
日期:2017-02-08 10:39:42操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-03-08 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-03-07 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-02-22 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-01-29 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-01-27 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-01-20 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-01-06 06:20:0015-16賽季CBA聯(lián)賽之江蘇
日期:2015-12-21 20:00:24操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-12-21 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-11-17 06:20:002015亞冠之廣州恒大
日期:2015-11-12 10:58:02
4 [報告]
發(fā)表于 2009-12-11 17:54 |只看該作者
收藏,慢慢學習吧,一下子看不了。

論壇徽章:
0
5 [報告]
發(fā)表于 2009-12-12 11:35 |只看該作者
對這個方案采用真實PC實做后得到的性能比較關(guān)注!繼續(xù)觀望!

論壇徽章:
0
6 [報告]
發(fā)表于 2009-12-13 13:57 |只看該作者

回復 #1 5sky 的帖子

我也來收藏一下

論壇徽章:
0
7 [報告]
發(fā)表于 2010-04-07 08:06 |只看該作者
先留個紀念,需要認真學習!

論壇徽章:
2
IT運維版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00
8 [報告]
發(fā)表于 2010-04-07 20:10 |只看該作者
關(guān)注。。。。先收藏再閱讀。

論壇徽章:
0
9 [報告]
發(fā)表于 2010-05-19 08:29 |只看該作者
穩(wěn)定嗎?穩(wěn)定嗎?穩(wěn)定嗎?穩(wěn)定嗎?穩(wěn)定嗎?穩(wěn)定嗎?穩(wěn)定嗎?穩(wěn)定嗎?穩(wěn)定嗎?
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP