Ubuntu進行mysql集羣



Ubuntu進行mysql集羣

一、mysql單機測試

ha 條數437326

/*
未優性能優化的情況下

單臺mysql併發連數75個時爲最優:
單表執行6000selectinsert操作大約29S
單表執行1000selectinsert操作大約7S
單表執行1000select操作大約4S
單表執行1000insert操作大約5S
*/

二、集羣部署mysql-cluster

http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-installation.html

4.1、管理節點配置

root@hadoop0:/usr/local/mysql/mysql-cluster#more config.ini

[ndbd default]

NoOfReplicas=2

DataMemory=128M

IndexMemory=32M

 

[tcp default]

#portnumber=2202

 

[ndb_mgmd]

#ndb-nodeid=1

hostname=172.17.0.2

datadir=/usr/local/mysql/mysql-cluster

 

[ndbd]

#ndb-nodeid=2

hostname=172.17.0.3

datadir=/usr/local/mysql/data

 

 

[ndbd]

#ndb-nodeid=3

hostname=172.17.0.4

datadir=/usr/local/mysql/data

 

[mysqld]

hostname=172.17.0.3

 

[mysqld]

hostname=172.17.0.4

 

 

[mysqld]

[mysqld]

4.2、數據節點配置

root@hadoop1:/etc/mysql# more my.cnf

[mysql]

socket=/tmp/mysql.sock

 

[mysqld]

ndbcluster

skip-name-resolve

 

[mysql_cluster]

ndb-connectstring=172.17.0.2

 

 

4.3sql節點配置

root@hadoop1:/etc/mysql# more my.cnf

[mysql]

socket=/tmp/mysql.sock

 

[mysqld]

ndbcluster

skip-name-resolve

 

[mysql_cluster]

ndb-connectstring=172.17.0.2

 

 

四、mysql-cluster集羣啓動

4.1、管理節點啓動

shell> ndb_mgmd -f /usr/local/mysql/mysql-cluster/config.ini

 

查看集羣狀態

shell> ndb_mgm

-- NDB Cluster -- ManagementClient --

ndb_mgm> SHOW

Connected to Management Serverat: localhost:1186

Cluster Configuration

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

[ndbd(NDB)]     2 node(s)

id=2    @192.168.0.30  (Version: 5.7.16-ndb-7.5.5, Nodegroup: 0, *)

id=3    @192.168.0.40  (Version: 5.7.16-ndb-7.5.5, Nodegroup: 0)

 

[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.0.10  (Version: 5.7.16-ndb-7.5.5)

 

[mysqld(API)]   1 node(s)

id=4    @192.168.0.20  (Version: 5.7.16-ndb-7.5.5)

4.2、數據節點啓動

shell> ndbd

 

4.3sql節點啓動

以用戶ROOT啓動,且在後臺運行。引用/etc/mysq/my.cnf文件作爲配置文件

shell>mysqld –-user=root &

Table 5.2 OptionFiles Read on Unix and Unix-Like Systems

File Name

Purpose

/etc/my.cnf

Global options

/etc/mysql/my.cnf

Global options

SYSCONFDIR/my.cnf

Global options

$MYSQL_HOME/my.cnf

Server-specific options (server only)

defaults-extra-file

The file specified with --defaults-extra-file, if any

~/.my.cnf

User-specific options

~/.mylogin.cnf

User-specific login path options (clients only)

 

4.4Mysql修改root密碼

mysql> ALTER USER 'root'@'localhost' IDENTIFIEDBY '123456';

4.5、允許root遠程登陸

grant allprivileges on*.* to root@'%' identified by '123456';

4.6root遠程登陸

shell>mysql –uroot –hipadress -p

五、lvs集羣負截均衡

https://my.oschina.net/bobo2cj/blog/203852

5.1LVS Server

創建虛擬網絡:

# brctl addbr lvs     (建立一個邏輯網段,名稱爲lvs)

# 安裝IPVS後,就可以配置LVS集羣了,首先在Director Server上綁定一個虛擬IP(也叫VIP),此IP用於對外提供服務,執行如下命令:

/sbin/ifconfiglvs $VIP broadcast $VIP netmask 255.255.255.255 up

 

# 然後給設備lvs指定一條路由,執行如下指令:

/sbin/routeadd  -host $VIP dev lvs

 

分別在lbserver1lbserver2上創建啓動腳本 (* 附錄B)

#!/bin/bash

vip=192.168.56.200

rs1=192.168.56.201

rs2=192.168.56.202

 

#clear ipvs tables

ipvsadm -C

 

#set LVS  Server

ipvsadm -A -t $vip:80 -s rr

ipvsadm -a -t $vip:80 -r $rs1:80 -g -w 1 #-w表示權重,默認爲1

ipvsadm -a -t $vip:80 -r $rs2:80 -g  #不加-w 1效果同上句

 

# update /etc/sysctl.conf,以下配置重啓後將復原

echo "1" >/proc/sys/net/ipv4/ip_forward #啓用ip轉發

echo "1" >/proc/sys/net/ipv4/conf/all/send_redirects

echo "1" >/proc/sys/net/ipv4/conf/default/send_redirects

echo "1" >/proc/sys/net/ipv4/conf/eth0/send_redirects

#sysctl -p  #查看sysctl的配置變化,可不執行

 

5.2Real Server

分別在real server1real server2上創建啓動腳本 (* 附錄B)

#!/bin/bash

vip=192.168.56.200

ifconfig lo:0 $vip netmask 255.255.255.255 broadcast $vip up #網關要和虛ip一樣,掩碼不能同於eth0

route add -host $vip dev lo:0  #添加永久路由

#echo "0" >/proc/sys/net/ipv4/ip_forward #關閉real server ip轉發,2.6.*內核默認是關閉的

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

#sysctl -p  #查看sysctl的配置變化,可不執行

5.3、測試LVS

 

發佈了19 篇原創文章 · 獲贊 6 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章