设为首页 收藏本站
查看: 623|回复: 0

[经验分享] Mysql ndb_Cluster 测试环境搭建

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-8 09:00:14 | 显示全部楼层 |阅读模式
系统环境:Centos6.3  +    mysql-cluster-gpl-7.1.15a-linux-x86_64-glibc23.tar .gz                                 
说明:
1)    MySQLCluster 的启动:
启动顺序:管理服务器  -->  存储节点  --> SQL 节点
2)  安全关闭 ndb cluster:
关闭顺序:SQL 节点  -->  数据节点    -->  管理节点。
# /usr/local/mysql/bin/mysqladmin-u root shutdown    #  关闭 sql 节点
# /usr/local/mysql/ndb_mgm  -e  shutdown    #  关闭管理节点, shutdown, 它会把所有 MGMNode 和所有 Data Node
的 ndb_mgmd  和 ndbd 都停止掉(mysql 还留着)
署操作步骤:
***系统内核调优必做****
一)部署 cluster 软件,所有机器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1)  下载 Cluster 软件
32 位
# wget-c http://downloads.skysql.com/arch ... ux-i686-glibc23.tar .gz
64 位
#wget-c http://downloads.skysql.com/arch ... -x86_64-glibc23.tar .gz
2)  安装与配置 Cluster
useradd mysql-d/dev/null -s /sbin/nologin
tar-xvf /usr/local/src/mysql-cluster-gpl-7.1.15a-linux-x86_64-glibc23.tar .gz -C /usr/local/src/
yum install rsync
rsync -avl /usr/local/src/mysql-cluster-gpl-7.1.15a-linux-x86_64-glibc23//usr/local/mysql_cluster
chown mysql:mysql/usr/local/mysql_cluster-R
echo "P A TH=\$P A TH:/usr/local/mysql_cluster/bin/" >> /etc/profile
source  /etc/profile
which mysql
/usr/local/mysql_cluster/bin/mysql



二)  管理节点
1)  配置管理节点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
mkdir /data/mysql/mgmd    /data/mysql/ndb_data  /data/mysql/ndb_data_backup  /data/mysql/etc
/data/mysql/binlog  /data/mysql/mysql_data  /data/logs  -p
chown mysql:mysql  /data/mysql  -R
cat  >/data/mysql/etc/config.ini << EOF
[TCPDEF AUL T]
SendBufferMemory=4M
ReceiveBufferMemory=4M
[NDB_MGMD DEF AUL T]
PortNumber=1186
Datadir=/data/mysql/mgmd
[NDB_MGMD]
NodeId=1
Hostname=管理节点 IP 地址
LogDestination=FILE:filename=ndb_1_cluster .log,maxsize=10000000,maxfiles=6
ArbitrationRank=1
[NDBDDEF AUL T]
NoOfReplicas=2
ServerPort=2200
Datadir=/data/mysql/ndb_data
FileSystemPath=/data/mysql/ndb_data
BackupDataDir=/data/mysql/ndb_data_backup
DataMemory=9728M
IndexMemory=1216M
LockPagesInMainMemory=1
MaxNoOfConcurrentOperations=100000
MaxNoOfConcurrentT ransactions=16384
StringMemory=25
MaxNoOfT ables=4096
MaxNoOfOrderedIndexes=4096
MaxNoOfUniqueHashIndexes=512
MaxNoOfAttributes=24576
MaxNoOfT riggers=14336
### Params for REDO LOG
FragmentLogFileSize=512M
InitFragmentLogFiles=SP ARSE
NoOfFragmentLogFiles=38
RedoBuffer=48M
T ransactionBufferMemory=8M
TimeBetweenGlobalCheckpoints=1000
TimeBetweenEpochs=100
TimeBetweenEpochsTimeout=0
### Params forLCP
DiskCheckpointSpeedInRestart=100M
DiskCheckpointSpeed=10M
TimeBetweenLocalCheckpoints=20
### Heartbeating
HeartbeatIntervalDbDb=15000
HeartbeatIntervalDbApi=15000
### Params for setting logging
MemReportFrequency=30
BackupReportFrequency=10
LogLevelStartup=15
LogLevelShutdown=15
LogLevelCheckpoint=8
LogLevelNodeRestart=15
### Params forBACKUP
BackupMaxWriteSize=1M
BackupDataBufferSize=24M
BackupLogBufferSize=16M
BackupMemory=40M
### Params for ODIRECT
#Reports indicates that odirect=1 can cause io errors (os err code 5) on some systems. Y ou must test.
#ODirect=1
### Watchdog
TimeBetweenWatchdogCheckInitial=60000
### T ransactionInactiveTimeout  - should be enabled in Production
T ransactionInactiveTimeout=60000
###New 7.1.10 redo logging parameters
RedoOverCommitCounter=3
RedoOverCommitLimit=20
### REAL TIME EXTENSIONS
#RealTimeScheduler=1
### REAL TIME EXTENSIONS FOR 6.3 ONL Y
#SchedulerExecutionTimer=80
#SchedulerSpinTimer=40
### DISK DAT A
SharedGlobalMemory=20M
DiskPageBufferMemory=64M
### Multithreading
MaxNoOfExecutionThreads=8
### Increasing theLongMessageBuffer b/c of a bug (20090903)
LongMessageBuffer=32M
BatchSizePerLocalScan=512
[NDBD]
NodeId=2
Hostname=  数据节点 IP
[NDBD]
NodeId=3
Hostname=数据节点 IP
[NDBD]
NodeId=4
Hostname=数据节点 IP
[NDBD]
NodeId=5
Hostname=数据节点 IP
[NDBD]
NodeId=6
Hostname=数据节点 IP
[NDBD]
NodeId=7
Hostname=数据节点 IP
[NDBD]
NodeId=8
Hostname=数据节点 IP
[MYSQLD DEF AUL T]
DefaultOperationRedoProblemAction=QUEUE
BatchSize=512
[MYSQLD]
NodeId=10
[MYSQLD]
NodeId=11
[MYSQLD]
NodeId=12
[MYSQLD]
NodeId=13
[MYSQLD]
NodeId=14
[MYSQLD]
NodeId=15
[MYSQLD]
NodeId=16
[MYSQLD]
NodeId=17
[MYSQLD]
NodeId=18
[MYSQLD]
NodeId=19
[MYSQLD]
NodeId=20
EOF



2)  第一次启动管理节点【或者添加新节点了】:
ndb_mgmd  -f  /data/mysql/etc/config.ini--configdir=/data/mysql/etc/  参数注意--initial
修改配置文件后启动方法:
ndb_mgmd  -f  /data/mysql/etc/config.ini--configdir=/data/mysql/etc/ --reload
三)  配置数据节点
cat >/data/mysql/etc/my .cnf << EOF
[MYSQL_CLUSTER]
ndb-connectstring="管理节点 IP"
EOF
第一次启动数据节点【以后启动禁止加入 initial 参数】:
ndbd--defaults-file=/data/mysql/etc/my .cnf    注意参数  --initial
四)配置启动 sql 节点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
cat >/data/mysql/etc/my .cnf << EOF
[MYSQLD]
user=mysql
basedir=/usr/local/mysql_cluster
datadir=/data/mysql/mysql_data
pid-file=/tmp/mysqld.pid
socket=/tmp/mysql.sock
port=3306
skip_name_resolve
#ndb-cluster-connection-pool=4
ndbcluster=1
ndb-connectstring="管理节点 IP"
ndb-force-send=1
ndb-use-exact-count=0
ndb-extra-logging=1
ndb-batch-size=24M
ndb-autoincrement-prefetch-sz=1024
engine-condition-pushdown=1
default-storage-engine=ndbcluster
#REPLICA TION SPECIFIC - GENERAL
#server-id must be unique acrossall mysql servers participating in replication.
#server-id=3
#REPLICA TION SPECIFIC - MASTER
#log-bin=binlog
#binlog-format=ROW
#expire-logs-days=5
#LOGS
log-error=/data/logs/error .log
#log
#log-slow-queries
#OTHERTHINGS, BUFFERS ETC
key_buffer_size = 256M
max_allowed_packet = 16M
#thread_cache_size=1024
myisam_sort_buffer_size = 8M
memlock=0
sysdate_is_now=1
max-connections=3000
thread-cache-size=128
###QUERY CACHE ISDISABLED
###THE QUERY CACHE IN MYSQL CLUSTER    CAN HAMPER PERFORMANCEA LOT . HENCE IT ISDISABLED
###BECAUSE INVALIDA TION OF IT T AKESTIME (REMEMBER, IT ISA DISTRIBUTED ENVIRONMENT)
###ONL Y ENABLE ITAND USE SQL_CACHE TOCACHE ONL Y CERT AIN QUERIES ON READONL Y T ABLES
query_cache_type = 0
query_cache_size = 0
table_open_cache=1024
lower-case-table-names=0
[MYSQL]
socket=/tmp/mysql.sock
[client]
socket=/tmp/mysql.sock
[MYSQLD_SAFE]
pid-file=mysqld.pid
log-error=/data/logs/mysqld_safe_error .log
basedir=/usr/local/mysql_cluster
datadir=/data/mysql/mysql_data
EOF
初始化数据库:
/usr/local/mysql_cluster/scripts/mysql_install_db  --basedir=/usr/local/mysql_cluster  --datadir=/data/mysql/mysql_data
--user=mysql
启动 sql 节点
mysqld  --defaults-file=/data/mysql/etc/my .cnf  --user=mysql &



五)数据验证
在 sql 节点一操作:

1
2
3
4
5
6
7
8
9
10
11
mysql> use test;
Database changed
mysql> show tables;
Empty set (0.11 sec)
mysql> create table t1(a int) engine=ndb; ##<--需指定 ndb 引擎
Query OK, 0 rows affected (0.74 sec)
mysql> insert into t1values(100);
Query OK, 1 row affected (0.32 sec)
节点 sql2 上验证,用 root 查看效果
mysql> use test
mysql> select *from t1    #<--发现有 100 这个记录为 OK。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-64835-1-1.html 上篇帖子: Mysql常用命令集合 下篇帖子: mysql-qps统计python脚本(每秒查询处理量)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表