小導的博客

          成功的人不是贏在起點,而是贏在轉折點,機會是獻給有準備的人。

          雙機冗余備份和負載均衡策略(Mysql Cluster入門安裝配置指南)

          MySQL Cluster 是MySQL適合于分布式計算環境的高實用、高冗余版本。它采用了NDB Cluster 存儲引擎,允許在1個 Cluster 中運行多個MySQL服務器。MySQL Cluster 是一種技術,該技術允許在無共享的系統中部署“內存中”數據庫的 Cluster 。通過無共享體系結構,系統能夠使用廉價的硬件,而且對軟硬件無特殊要求。此外,由于每個組件有自己的內存和磁盤,不存在單點故障。

          首先我們下載Mysql Cluster,下載鏈接地址為MySQL Cluster 7.1.17,我們采用的服務器為CentOS Server和Ubuntu Server,所以我們下載針對Linux Generic版本。

          現在我有三臺服務器,兩個是CentOS Server,一個是Ubuntu Server,前兩個Server分別作為Data Node和SQL Node(Data Node和SQL Node在同一個機器上面),

          后者作為Management Node,如果沒有真實機器的,可以用虛擬機模擬,下面是我的IP部署:

          1 192.168.56.10     Data Node + Sql Node
          2 192.168.56.20 Data Node +Sql Node
          3 192.168.56.30 Management Node

          下面是我機器的大致拓撲圖結構:

          接下來我們就需要對這幾個節點進行詳細的配置工作:

          1、配置Data Node和SQL Node

          目前我們采用的三臺機器策略,所以把這兩個節點放在同一個機器上面,所以我們在一次配置就可以了。

          首先我們在192.168.56.10這臺機器上面進行操作配置,192.168.56.20操作配置和這樣

          我們需要在ROOT賬戶下面執行下屬操作,如果在CentOS中遇到命令找不到的問題,就參考我的BlogCentOS系統bash: groupadd: command not found問題

          接下來我們要創建一個新的用戶組和用戶,命令如下:

          1 groupadd mysql
          2 useradd –g mysql mysql

          將mysql cluster放在/usr/local/下面,執行命令:

          1 tar -C /usr/local -xzvf mysql-cluster-gpl-7.1.17-linux-i686-glibc23.tar.gz
          2 ln -s /usr/local/mysql-cluster-gpl-7.1.17-linux-i686-glibc23 /usr/local/mysql

          進入到mysql目錄下面,執行數據庫初始化命令:

          1 scripts/mysql_install_db --user=mysql

          進行權限更改操作,命令為:

          1 chown -R root .
          2 chown -R mysql data
          3 chgrp -R mysql .

          2、配置Management Node

          將ndb_mgmd和ndb_mgm腳本文件放入到/usr/local/bin目錄下面,命令為:

          1 tar -zxvf mysql-5.1.56-ndb-7.1.17-linux-i686-glibc23.tar.gz
          2 cd mysql-5.1.56-ndb-7.1.17-linux-i686-glibc23
          3 cp bin/ndb_mgm* /usr/local/bin

          更改其對應的權限,命令為:

          1 cd /usr/local/bin
          2 chmod +x ndb_mgm*

          新建目錄/var/lib/mysql-cluster/,命令為:

          mkdir -p /var/lib/mysql-cluster/

          3、配置三臺機器的配置文件

          兩臺數據節點的在/etc目錄下面創建配置文件my.cnf,其內容為:

          [mysqld]
          ndbcluster
          datadir=/usr/local/mysql/data
          basedir=/usr/local/mysql
          port=3306
          [mysql_cluster]
          ndb-connectstring=192.168.56.10

          如果在運行過程中出現Mysql數據庫“Communications link failure due to underlying exception”問題,請參考這邊博文進行配置。

          針對192.168.56.20機器只要把ndb-connectstring替換一下就行了。

          在管理節點機器/etc目錄下面創建config.ini文件,其內容為:

           1 [ndbd default]
          2 NoOfReplicas=2
          3 DataMemory=80M
          4 IndexMemory=18M
          5
          6 [ndb_mgmd]
          7 NodeId=1
          8 hostname=192.168.56.30
          9 datadir=/var/lib/mysql-cluster
          10
          11 [ndbd]
          12 NodeId=2
          13 hostname=192.168.56.10
          14 datadir=/usr/local/mysql/data
          15
          16 [ndbd]
          17 NodeId=3
          18 hostname=192.168.56.20
          19 datadir=/usr/local/mysql/data
          20
          21 [mysqld]
          22 [mysqld]

          4、啟動集群環境

          首先我們需要先啟動管理節點192.168.56.30機器,執行命令:

          1 ndb_mgmd -f /etc/config.ini --initial

          如果出現The default config directory '/usr/local/mysql/mysql-cluster' does not exist這個錯誤信息,就手動創建這個文件夾。

          接下來我們需要在192.168.56.10和192.168.56.20啟動數據節點,命令為:

          1 bin/ndbd --initial

          第一次啟用需要加—initial參數,第二次啟動不能加這個參數。兩臺機器都分別執行這個命令。

          接下來啟動這兩臺機器的sql節點,命令為:

          1 bin/mysqld_safe --user=mysql &

          兩臺機器都需要執行這個命令。
          最后進入到管理臺查看我們的集群是否配置完成,輸入命令:

          1 ndb_mgm –e show

          如果出現下面信息,說明配置成功:

          如果看不到上述信息,可能是防火墻問題,你可以選擇把CentOS的防火墻關掉,命令為:

          1 /etc/init.d/iptables stop

          當然你可以選擇配置防火墻,開放一些必要的端口,可以參考我的另一篇文章CentOS 打開3306端口

          關閉集群,執行命令:

          1 ndb_mgm –e shutdown

          posted on 2011-12-28 11:03 小導 閱讀(371) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 太湖县| 北川| 淮南市| 沽源县| 化州市| 洞口县| 济源市| 松原市| 白玉县| 富锦市| 井陉县| 宁津县| 马尔康县| 海城市| 唐河县| 达州市| 蒙自县| 大渡口区| 德保县| 基隆市| 沙田区| 贡嘎县| 陆丰市| 罗山县| 五台县| 皋兰县| 奉节县| 靖宇县| 香港| 堆龙德庆县| 抚宁县| 峨山| 衡山县| 高陵县| 孝感市| 环江| 芜湖县| 林芝县| 怀仁县| 都昌县| 博罗县|