安裝MySQL-Cluster7.2.5(redhat6.4)

fudaliang1999發表於2013-11-02

安裝介質說明
MySQL-Cluster-server-advanced-7.3.2-1.el6.x86_64.rpm           server包括ndb、mysqld等
MySQL-Cluster-client-advanced-7.3.2-1.el6.x86_64.rpm           mysql、mysqldump等客戶端命令
MySQL-Cluster-devel-advanced-7.3.2-1.el6.x86_64.rpm            主要是標頭檔案等
MySQL-Cluster-shared-advanced-7.3.2-1.el6.x86_64.rpm           mysqlclinet 類庫
MySQL-Cluster-shared-compat-advanced-7.3.2-1.el6.x86_64.rpm    mysqlclinet 類庫
MySQL-Cluster-test-advanced-7.3.2-1.el6.x86_64.rpm             一些mysql測試用

MySQL-Cluster-embedded-advanced-7.3.2-1.el6.x86_64     mysql嵌入式資料庫

準備、環境說明
192.168.100.20 
  資料節點
  sql節點
192.168.100.21
  資料節點
  sql節點
  管理節點
 
一、安裝軟體

 
MySQL-Cluster-server-advanced-7.3.2-1.el6.x86_64.rpm           server包括ndb、mysqld等
MySQL-Cluster-client-advanced-7.3.2-1.el6.x86_64.rpm           mysql、mysqldump等客戶端命令
MySQL-Cluster-devel-advanced-7.3.2-1.el6.x86_64.rpm            主要是標頭檔案等
MySQL-Cluster-shared-advanced-7.3.2-1.el6.x86_64.rpm           mysqlclinet 類庫
MySQL-Cluster-shared-compat-advanced-7.3.2-1.el6.x86_64.rpm    mysqlclinet 類庫


rpm -ivh MySQL-Cluster-server-advanced-7.3.2-1.el6.x86_64.rpm          
rpm -ivh MySQL-Cluster-client-advanced-7.3.2-1.el6.x86_64.rpm

iptables -A INPUT -s 192.168.100.0/24 -i eth2 -p tcp -m tcp -j ACCEPT
/etc/init.d/iptables save

 注:如果之前安裝了老版本的,用下面命令解除安裝
rpm -e 軟體包名 --nodeps

二、配置ndb ( 該檔案只在管理節點存在)
 vi /etc/ndb_config.ini
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M

[tcp default]

[ndb_mgmd]
NodeId=1
hostname=192.168.100.21 
datadir=/app/mysql-cluster

[ndbd]
NodeId=2
hostname=192.168.100.21  
datadir=/app/mysql-cluster/data   

[ndbd]
NodeId=3
hostname=192.168.100.20
datadir=/app/mysql-cluster/data

[mysqld]
hostname=192.168.100.21 

#[mysqld]
#hostname=192.168.100.20 


三、配置sqld節點( 該檔案在每個資料節點和sql節點都要存在)

[mysqld]
ndbcluster
ndb-connectstring=192.168.100.21
datadir=/app/mysql/data
basedir=/usr
user=mysql
socket=/var/lib/mysql/mysql.sock
join_buffer_size=128M
sort_buffer_size=4M
read_rnd_buffer_size=4M
max_allowed_packet=256M
character_set_server=utf8
port=3306

[mysql_cluster]
ndb-connectstring=192.168.100.21

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid



四、啟動 ndb_mgmd
rpm 安裝的時候用root啟動ndb_mgmd
ndb_mgmd -f /etc/ndb_config.ini

啟動ndbd資料節點
ndbd --initial   第一次啟動執行
ndbd  以後每次執行

啟動sql節點
--ndb_nodeid=5 引數必須與ndb配置檔案一致,否則就不要寫了
mysqld_safe  --user=mysql &
mysqld --ndb_nodeid=4
mysqld --defaults-file=/etc/my.cnf
五、檢查
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @192.168.100.21  (mysql-5.6.11 ndb-7.3.2, Nodegroup: 0, Master)
id=3    @192.168.100.20  (mysql-5.6.11 ndb-7.3.2, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.100.21  (mysql-5.6.11 ndb-7.3.2)

[mysqld(API)]   4 node(s)
id=4 (not connected, accepting connect from 192.168.100.21)
id=5    @192.168.100.20  (mysql-5.6.11 ndb-7.3.2)
id=6 (not connected, accepting connect from any host)
id=7 (not connected, accepting connect from any host)


建立資料庫表
與沒有使用 Cluster的MySQL相比,在MySQL Cluster內運算元據的方式沒有太大的區別。執行這類操作時應記住兩點:
表必須用ENGINE=NDB或ENGINE=NDBCLUSTER選項建立,或用ALTER TABLE選項更改,以使用NDB Cluster儲存引擎在 Cluster內複製它們。如果使用mysqldump的輸出從已有資料庫匯入表,可在文字編輯器中開啟SQL指令碼,並將該選項新增到任何表建立語句,或 用這類選項之一替換任何已有的ENGINE(或TYPE)選項。
另外還請記住,每個NDB表必須有一個主鍵。如果在建立表時使用者未定義主鍵,NDB Cluster儲存引擎將自動生成隱含的主鍵。(註釋:該隱含 鍵也將佔用空間,就像任何其他的表索引一樣。由於沒有足夠的記憶體來容納這些自動建立的鍵,出現問題並不罕見)。

六、問題
 ndb_mgm -e show 命令顯示 id=4的mysql節點有時是connected有時是not connected。沒有找到原因,不過不影響使用。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15711267/viewspace-775568/,如需轉載,請註明出處,否則將追究法律責任。

相關文章