8个节点MySQL-cluster安装和配置,含两个管理节点

换装jdk


[root@clusterdata1 software]# rpm -qa | grep java
java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
tzdata-java-2012j-1.el6.noarch
java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
[root@clusterdata1 software]# rpm -e --nodeps tzdata-java-2012j-1.el6.noarch
[root@clusterdata1 software]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
[root@clusterdata1 software]# rpm -qa |grep java
java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
[root@clusterdata1 software]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
[root@clusterdata1 software]# rpm -qa |grep java
[root@clusterdata1 software]# ls
jdk-7u60-linux-x64.rpm  mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64.tar.gz
[root@clusterdata1 software]# rpm -ivh jdk-7u60-linux-x64.rpm
Preparing...                ########################################### [100%]
   1:jdk                    ########################################### [100%]
Unpacking JAR files...
	rt.jar...
	jsse.jar...
	charsets.jar...
	tools.jar...
	localedata.jar...
	jfxrt.jar...
[root@clusterdata1 software]# java -version
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)

安装datanode,准备工作只要两个执行文件


ndb-connectstring=xxx.xxx.xxx.xx1 
[root@clusterdata1 software]# tar -zxvf mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64.tar.gz
[root@clusterdata1 software]# cd mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64
[root@clusterdata1 mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64]# cp bin/ndbd /usr/local/bin/ndbd
[root@clusterdata1 mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64]# cp bin/ndbmtd /usr/local/bin/ndbmtd
[root@clusterdata1 mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64]# cd /usr/local/bin
[root@clusterdata1 bin]# chmod +x ndb*

创建一个数据存放的目录


ndb-connectstring=xxx.xxx.xxx.xx1 
[root@clusterdata1 bin]# cd /usr/local
[root@clusterdata1 local]# ls
bin  etc  games  include  lib  lib64  libexec  sbin  share  src
[root@clusterdata1 local]# mkdir -p mysql/data
[root@clusterdata1 local]# cd mysql/data
[root@clusterdata1 data]# pwd
/usr/local/mysql/data

sql节点

创建mysql用户


[root@clustersql2 software]# grep mysql /etc/passwd
[root@clustersql2 software]# grep mysql /etc/group
[root@clustersql2 software]# groupadd mysql
[root@clustersql2 software]# useradd -g mysql mysql

安装


Server version: 5.6.27-ndb-7.4.8-cluster-gpl MySQL Cluster Community Server (GPL)
[root@clustersql2 software]# tar -C /usr/local -xzvf mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64.tar.gz
[root@clustersql2 mysql]# ln -s /usr/local/mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64 /usr/local/mysql
[root@clustersql2 mysql]# cd /usr/local/mysql
[root@clustersql2 mysql]# scripts/mysql_install_db --user=mysql

[root@clustersql2 mysql]# chown -R root .
[root@clustersql2 mysql]# chown -R mysql data
[root@clustersql2 mysql]# chgrp -R mysql .

完成之后启动并设置下root密码


[root@clustersql1 bin]# ./mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
[1] 4999
[root@clustersql1 bin]# 151229 08:47:17 mysqld_safe Logging to '/usr/local/mysql/data/clustersql1.err'.
151229 08:47:17 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

# bin/mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

# bin/mysql -uroot mysql

mysql> update user set password=PASSWORD('tplink') where user='root';

mysql> flush privileges;

# bin/mysqladmin -uroot -p shutdown

# bin/mysql -uroot -p

管理节点安装


[root@clustermgm1 software]# tar -zxvf mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64.tar.gz

[root@clustermgm1 software]# cd mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64
[root@clustermgm1 mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64]# cp bin/ndb_mgm* /usr/local/bin
[root@clustermgm1 mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64]# cd /usr/local/bin
[root@clustermgm1 bin]# chmod +x ndb_mgm*
[root@clustermgm1 bin]# ll ndb_mgm*
-rwxr-xr-x 1 root root  7136783 Dec 10 00:19 ndb_mgm
-rwxr-xr-x 1 root root 16368291 Dec 10 00:19 ndb_mgmd

配置

数据节点配置


[root@clusterdata1 data]# vi /etc/my.cnf
[mysqld]
# Options for mysqld process:
ndbcluster # run NDB storage engine
[mysql_cluster]
# Options for MySQL Cluster processes:
ndb-connectstring=xxx.xxx.xxx.xx1,xxx.xxx.xxx.xx1 # location of management server

SQL节点配置


[root@clustersql1 bin]# cat /etc/my.cnf
[mysqld]
ndbcluster
character_set_server=utf8

max_connections=2000
connect_timeout=10
wait_timeout=28800
interactive_timeout=28800

[mysql_cluster]
ndb-connectstring=xxx.xxx.xxx.xx1,xxx.xxx.xxx.xx1

管理节点配置


[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@clustermgm1 mysql-cluster]# cat config.ini
[ndbd default]
NoOfReplicas= 2
LockPagesInMainMemory=1
DataMemory= 16G
IndexMemory= 4G
#ODirect=1

MaxNoOfOrderedIndexes= 512
MaxNoOfConcurrentOperations= 1000000
MaxNoOfLocalScans= 40000
MaxNoOfConcurrentScans=500
#MaxParallelScansPerFragment=1024

# real-time scheduling
SchedulerSpinTimer=400
SchedulerExecutionTimer=50
RealTimeScheduler=1

#Logging and Checkpointing
NoOfFragmentLogFiles=300
FragmentLogFileSize=16M

TimeBetweenWatchDogCheck= 30000
TimeBetweenLocalCheckpoints= 3
#TimeBetweenGlobalCheckpoints= 1000
TimeBetweenEpochs=200
TimeBetweenWatchdogCheckInitial= 60000

#DiskPageBufferMemory=1024M
TransactionInactiveTimeout= 50000
MaxNoOfExecutionThreads= 8
BatchSizePerLocalScan= 512

TransactionDeadlockDetectionTimeout=10000

[ndb_mgmd]
NodeId=1
HostName= xxx.xxx.xxx.xx1
DataDir= /usr/local/mysql/mysql-cluster

[ndb_mgmd]
NodeId=2
HostName= xxx.xxx.xxx.xx1
DataDir= /usr/local/mysql/mysql-cluster

[ndbd]
NodeId=3
HostName= xxx.xxx.xxx.xx3
DataDir= /usr/local/mysql/data
NodeGroup= 0

[ndbd]
NodeId=4
HostName= xxx.xxx.xxx.xx3
DataDir= /usr/local/mysql/data
NodeGroup= 0

[ndbd]
NodeId=5
HostName= xxx.xxx.xxx.xx4
DataDir= /usr/local/mysql/data
NodeGroup= 1


[ndbd]
NodeId=6
HostName= xxx.xxx.xxx.xx4
DataDir= /usr/local/mysql/data
NodeGroup= 1

[mysqld]
NodeId=7
HostName= xxx.xxx.xxx.xx2
[mysqld]
NodeId=8
HostName= xxx.xxx.xxx.xx2

[mysqld]
[mysqld]

# choose an unused port number
# in this configuration 63132, 63133, and 63134
# will be used
[tcp default]
PortNumber= 63132
SendBufferMemory=2M
ReceiveBufferMemory=2M

首次启动

管理节点


[root@clustermgm1 mysql-cluster]# ndb_mgmd --config-file=/usr/local/mysql/mysql-cluster/config.ini
[root@clustermgm1 mysql-cluster]# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Cluster Configuration

[ndbd(NDB)] 4 node(s)
id=3 @xxx.xxx.xxx.xx3 (mysql-5.6.27 ndb-7.4.8, Nodegroup: 0, *)
id=4 @xxx.xxx.xxx.xx3 (mysql-5.6.27 ndb-7.4.8, Nodegroup: 0)
id=5 @xxx.xxx.xxx.xx4 (mysql-5.6.27 ndb-7.4.8, Nodegroup: 1)
id=6 @xxx.xxx.xxx.xx4 (mysql-5.6.27 ndb-7.4.8, Nodegroup: 1)

[ndb_mgmd(MGM)] 2 node(s)
id=1 @xxx.xxx.xxx.xx1 (mysql-5.6.27 ndb-7.4.8)
id=2 @xxx.xxx.xxx.xx1 (mysql-5.6.27 ndb-7.4.8)

[mysqld(API)] 4 node(s)
id=7 @xxx.xxx.xxx.xx2 (mysql-5.6.27 ndb-7.4.8)
id=8 @xxx.xxx.xxx.xx2 (mysql-5.6.27 ndb-7.4.8)
id=9 (not connected, accepting connect from any host)
id=10 (not connected, accepting connect from any host)

data节点


[root@clusterdata1 ~]# ndbd --initial
2015-12-11 01:05:07 [ndbd] INFO     -- Angel connected to 'xxx.xxx.xxx.xx1:1186'
2015-12-11 01:05:07 [ndbd] INFO     -- Angel allocated nodeid: 1

sql节点


[root@clustersql1 bin]# mysqld_safe --user=mysql &
[1] 3028
[root@clustersql1 bin]# 151229 14:48:20 mysqld_safe Logging to '/usr/local/mysql/data/clustersql1.err'.
151229 14:48:21 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
原文地址:https://www.cnblogs.com/shenfeng/p/mysqlcluster_installation.html