ubuntu1204 12.04 安装 mysql-cluster过程(亲测)

kevin.Zhu 发布于:2013-1-16 12:30 分类:Mysql  有 16 人浏览,获得评论 0 条  


安装mysqlcluster

1.安装cmake

apt-get -y install cmake build-essential git libcurses-ocaml-dev default-jdk default-jre 


2. http://www.mysql.com/downloads/cluster/

到mysql官网下载 mysql-cluster-gpl-7.4.8.tar.gz  ,解压并进入目录 


cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata1/db  -DINSTALL_LIBDIR=/usr/local/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_NDBCLUSTER_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=gb2312,gbk -DWITH_DEBUG=1 -DWITH_BUNDLED_LIBEVENT=ON -DWITH_BUNDLED_MEMCACHED=ON -DWITH_NDBMTD=ON -DWITH_NDB_TEST=ON -DENABLE_DOWNLOADS=1

注: 目录自定义


3. 编译 

make && make install 



二 . 配置及开启服务

1. 配置管理节点

mkdir -p  /data/cluster/

[NDBD DEFAULT]

NoOfReplicas=2

DataDir=/data/db


#此值按数据库大小设置,官方给出了公式

#(内存) 数据大小 *副本 * 1.25 = 数据库内存总需求

#实例:50 GB * 2 * 1.25 = 125 GB

#(数据大小 *副本 * 1.25)/节点数 = 每个节点的内存大小

#实例:(2 GB * 2 * 1.25)/4 = 1.25 GB

DataMemory=5120M

IndexMemory=400M


#此值设置为1的时候,ndb将不会把数据写入磁盘(意思就是shutdown后数据库就没了)

Diskless=0

#速度快,你可以改为1试试,具体含义参考mysql官方文档

ODirect=0


RedoBuffer=32M


[MGM DEFAULT]

PortNumber=1186

DataDir=/data/cluster


[TCP DEFAULT]

SendBufferMemory=32M

ReceiveBufferMemory=32M



[NDB_MGMD]

NodeId=1

HostName=10.237.2.173

ArbitrationRank=1


[NDBD]

NodeId=10

HostName=10.237.2.177


[NDBD]

NodeId=11

HostName=10.237.2.178


[NDBD]

NodeId=12

HostName=10.237.2.179


[NDBD]

NodeId=13

HostName=10.237.2.180



[API]

NodeId=20

HostName=10.237.2.174

ArbitrationRank=2



[API]

NodeId=21

HostName=10.237.2.175


[API]

NodeId=22

HostName=10.237.2.176


#空几个在这里是有用的

[API]

[API]

[API]

[API]



2. 配置ndb 数据节点 , 在my.cnf[mysqld]中添加

ndbcluster

ndb-connectstring=192.168.2.203:1186      #管理节点


3. 配置sql节点

ndbcluster

ndb-connectstring=192.168.2.203:1186      #管理节点

[mysql_cluster]

ndb-connectstring=192.168.2.203:1186      #管理节点


启动: 

管理节点: /usr/local/mysql/bin/ndb_mgmd  -f  /配置文件路径

数据节点: /usr/local/mysql/bin/ndbd  (--initial)    

服务节点: 

/usr/local/mysql/scripts/init-db   --user=mysql   --basedir=         --datadir=    

/usr/local/mysql/bin/mysqld_safe   --defaults-file=配置文件路径