mysql-cluster 安裝篇(3)---rpm簡易安裝法

來源:互聯網
上載者:User

標籤:mysql-cluster 安裝7.35

周氏一族,整理技術文檔,給下一代留點教程......


網路架構

192.168.0.202    管理節點(MGM)

192.168.0.203    儲存節點(NDB)

192.168.0.204    查詢節點(API)

準備材料(可以到官網下載,解壓拿出來這兩個包)

MySQL-Cluster-client-gpl-7.3.5-1.el6.x86_64.rpm

MySQL-Cluster-server-gpl-7.3.5-1.el6.x86_64.rpm


開始安裝之前,還是再三告知,mgm管理節點,只需要bin/ndb_mgmd 和 bin/ndb_mgm ;ndb儲存節點,只需要 bin/ndb_mgm,知道這一點,那麼應該就很容易理解我們下面的配置了



192.168.0.202 配置如下:

1、清理本機內建任何跟mysql有關的包

[[email protected] ~]# rpm -qa |grep mysql

mysql-5.1.61-4.el6.x86_64

mysql-libs-5.1.61-4.el6.x86_64

mysql-devel-5.1.61-4.el6.x86_64


[[email protected] ~]# yum -y remove mysql-5.1.61-4.el6.x86_64 mysql-libs-5.1.61-4.el6.x86_64 mysql-devel-5.1.61-4.el6.x86_64


2、安裝,因為mgm只需要用到mysql-cluster-server 這個包裡面的兩個bin檔案,但是請注意,這裡我是直接安裝整個,雖然有點多此一舉,不過算了啦,懶得去拿那兩個包,直接rpm好了,自己知道就行了。


[[email protected] ~]# rpm -ivh MySQL-Cluster-server-gpl-7.3.5-1.el6.x86_64.rpm 

Preparing...                ########################################### [100%]

   1:MySQL-Cluster-server-gp########################################### [100%]


3、建立檔案夾

[[email protected] ~]# mkdir /var/lib/mysql/data

[[email protected] ~]# mkdir /var/lib/mysql-cluster

[[email protected] ~]# mkdir /var/run/mysqld

[[email protected] ~]# chmod -R 1777 /var/lib/mysql

[[email protected] ~]# chmod -R 1777 /var/lib/mysql-cluster/

[[email protected] ~]# chmod -R 1777 /var/run/mysqld/


有必要解釋一下,mysql/data 這個是存放資料庫,mysql-cluster這個是管理節點配置路徑,run/mysqld這個是mysql運行後台pid路徑,當然,這些你都可以根據你自己需要修改。


4、進入/var/lib/mysql-cluster目錄,建立config.ini設定檔;

[ndbd default]

NoOfReplicas=2

DataMemory=80M

IndexMemory=18M


[ndb_mgmd]

# IP address of the first management node

NodeId=1

hostname=192.168.0.202

datadir=/var/lib/mysql-cluster


[ndbd]

# IP address of the Storage Server (NDBD) node 1

hostname=192.168.0.203

datadir=/var/lib/mysql/data


[mysqld]

hostname=192.168.0.204


[mysqld]

[mysqld]


5、啟動 管理 節點 服務,記得指定配置路徑,否則系統會預設建立到

[[email protected] ~]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/

MySQL Cluster Management Server mysql-5.6.17 ndb-7.3.5

[[email protected]_server ~]# ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> show

Connected to Management Server at: localhost:1186

Cluster Configuration

---------------------

[ndbd(NDB)]     1 node(s)

id=2 (not connected, accepting connect from 192.168.0.203)


[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.0.202  (mysql-5.6.17 ndb-7.3.5)


[mysqld(API)]   3 node(s)

id=3 (not connected, accepting connect from 192.168.0.204)

id=4 (not connected, accepting connect from any host)

id=5 (not connected, accepting connect from any host)

可以看到,起來了,但是,請注意下面三個情況:

情況一:如果,你是雙管理節點,那麼此時此刻,是不可能起來的,他要等另外一個管理節點的串連,報錯如下

[[email protected] ~]# ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> show

Connected to Management Server at: localhost:1186

ERROR Message: The cluster configuration is not yet confirmed by all defined management servers. This management server is still waiting for node 2 to connect.


Could not get configuration

*  4012: Failed to get configuration

*        The cluster configuration is not yet confirmed by all defined management servers. This management server is still waiting for node 2 to connect.

ndb_mgm> 

情況二:如果你是雙管理節點,而且兩者都把管理節點服務啟動了,並且,都正常,然後把其中一個管理節點關掉,另外一個管理節點show一下,沒問題。

情況三:如果你是雙管理節點,而且兩者都把管理節點服務啟動了,並且,都正常,然後把整個叢集關閉,或者你就類比意外斷電,所有機器都shutdown,開機,你會發現,這時候的管理節點,一個也能show,不需要等待兩個管理節點一起up才能show。


總結:

     單管理節點,沒有任何問題,直接啟動服務,就能show

     雙管理節點,有問題,第一次,有且初次開機的時候,需要等待雙方協商握手之後,才能完整,打個必須,兩個人一起上洗手間,A上完了,不能走,必須等B也上完,才能一起牽手離開;但是,第二次的時候,A上完,就能獨自離開了,因為它已經知道它還有另外一個B,心裡知道就行了,不用管B的死活了。同樣道理,B也是一樣;



192.168.0.203 配置如下:

1、清理本機內建任何跟mysql有關的包

[[email protected] ~]# rpm -qa |grep mysql

mysql-5.1.61-4.el6.x86_64

mysql-libs-5.1.61-4.el6.x86_64

mysql-devel-5.1.61-4.el6.x86_64


[[email protected] ~]# yum -y remove mysql-5.1.61-4.el6.x86_64 mysql-libs-5.1.61-4.el6.x86_64 mysql-devel-5.1.61-4.el6.x86_64


2、安裝,因為ndb只需要用到mysql-cluster-server 這個包裡面的一個bin檔案(ndbd),但是請注意,這裡我是直接安裝整個,有點多此一舉。


[[email protected] ~]# rpm -ivh MySQL-Cluster-server-gpl-7.3.5-1.el6.x86_64.rpm 

Preparing...                ########################################### [100%]

   1:MySQL-Cluster-server-gp########################################### [100%]


3、建立檔案夾

[[email protected] ~]# mkdir /var/lib/mysql/data

[[email protected] ~]# mkdir /var/lib/mysql-cluster

[[email protected] ~]# mkdir /var/run/mysqld

[[email protected] ~]# chmod -R 1777 /var/lib/mysql

[[email protected] ~]# chmod -R 1777 /var/lib/mysql-cluster/

[[email protected] ~]# chmod -R 1777 /var/run/mysqld/


有必要解釋一下,mysql/data 這個是存放資料庫,mysql-cluster這個是管理節點配置路徑,run/mysqld這個是mysql運行後台pid路徑,當然,這些你都可以根據你自己需要修改。


4、建立/etc/my.cnf

[client]

socket=/var/lib/mysql/mysql.sock


[mysqld]

max_connections=100

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock


[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid


[mysql_cluster]

ndb-connectstring=192.168.0.202


5、啟動ndb節點

[[email protected] ~]# ndbd --initial

2014-07-15 19:12:35 [ndbd] INFO     -- Angel connected to ‘192.168.0.202:1186‘

2014-07-15 19:12:35 [ndbd] INFO     -- Angel allocated nodeid: 2


6、到管理節點,show 一下看看

ndb_mgm> show

Cluster Configuration

---------------------

[ndbd(NDB)]     1 node(s)

id=2    @192.168.0.203  (mysql-5.6.17 ndb-7.3.5, starting, Nodegroup: 0)


[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.0.202  (mysql-5.6.17 ndb-7.3.5)


[mysqld(API)]   3 node(s)

id=3 (not connected, accepting connect from 192.168.0.204)

id=4 (not connected, accepting connect from any host)

id=5 (not connected, accepting connect from any host)

很明顯,已經串連上來了。



192.168.0.204 配置如下:

1、清理本機內建任何跟mysql有關的包

[[email protected] ~]# rpm -qa |grep mysql

mysql-5.1.61-4.el6.x86_64

mysql-libs-5.1.61-4.el6.x86_64

mysql-devel-5.1.61-4.el6.x86_64


[[email protected] ~]# yum -y remove mysql-5.1.61-4.el6.x86_64 mysql-libs-5.1.61-4.el6.x86_64 mysql-devel-5.1.61-4.el6.x86_64


2、安裝,mysql-cluster-server 和 mysql-cluster-client


[[email protected] ~]# rpm -ivh MySQL-Cluster-server-gpl-7.3.5-1.el6.x86_64.rpm 

Preparing...                ########################################### [100%]

   1:MySQL-Cluster-server-gp########################################### [100%]

[[email protected] ~]# rpm -ivh MySQL-Cluster-client-gpl-7.3.5-1.el6.x86_64.rpm 

Preparing...                ########################################### [100%]

   1:MySQL-Cluster-client-gp########################################### [100%]


3、建立檔案夾

[[email protected] ~]# mkdir /var/lib/mysql/data

[[email protected] ~]# mkdir /var/lib/mysql-cluster

[[email protected] ~]# mkdir /var/run/mysqld

[[email protected] ~]# chmod -R 1777 /var/lib/mysql

[[email protected] ~]# chmod -R 1777 /var/lib/mysql-cluster/

[[email protected] ~]# chmod -R 1777 /var/run/mysqld/


有必要解釋一下,mysql/data 這個是存放資料庫,mysql-cluster這個是管理節點配置路徑,run/mysqld這個是mysql運行後台pid路徑,當然,這些你都可以根據你自己需要修改。


4、建立/etc/my.cnf

[client]

socket=/var/lib/mysql/mysql.sock


[mysqld]

max_connections=100

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

ndbcluster

ndb-connectstring=192.168.0.202


[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid


5、啟動sql服務

[[email protected] ~]# /etc/init.d/mysql start

Starting MySQL....... SUCCESS! 

[[email protected] ~]#


6、到管理節點,show一下,看看mysql—api是不是已經起來

ndb_mgm> show

Cluster Configuration

---------------------

[ndbd(NDB)]     1 node(s)

id=2    @192.168.0.203  (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0, *)


[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.0.202  (mysql-5.6.17 ndb-7.3.5)


[mysqld(API)]   3 node(s)

id=3    @192.168.0.204  (mysql-5.6.17 ndb-7.3.5)

id=4 (not connected, accepting connect from any host)

id=5 (not connected, accepting connect from any host)


7、到此,整個叢集算是完成。


問題總結:

1、如果要擴大叢集,例如增加一台ndb節點,那要怎麼搞

   管理節點,刪除/var/lib/mysql-cluster/ 下面ndb開頭的所有檔案

   管理節點,修改/var/lib/mysql-cluster/config.ini,增加ndb叢集id和hostname

   儲存節點,修改my.cnf,增加[mysql_cluster]  ndb-connectstring=192.168.0.202


2、如果,有一天,突然,想把203這台ndb節點,附加上api節點,那麼就會有一個蛋疼的事情出現,理論上,mysql-cluster各個節點,都是獨立的,管它是同一台還是不同台,都是正常的;但是,如果你加上去的話,你就要注意一個事情

   同一台機器的 ndb 節點和 sql節點,必須ndb節點先啟動,才能啟動sql節點,否則sql節點,是永遠都連不上叢集,千萬切忌,我就是糾結這個問題,老是不啟動ndb節點,在疑問自己,為什麼sql節點啟動了,管理節點看不到sql節點狀態。


3、關閉叢集的命令

   先關閉  查詢節點  mysqladmin -uroot -p shutdown  密碼在 /root/.mysql_secret

   再關閉 叢集節點   ndb_mgm -e shutdown


本文出自 “周氏一族” 部落格,謝絕轉載!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.