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

server2IP:172.25.38.2

server5IP:172.25.38.5

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

1)安装mysql[server2]、[server5]

yuminstall-ymysql-server

rpm-qa|grepmysql##安装好,可见已安装的包

mysql-libs-5.1.71-1.el6.x86_64

mysql-5.1.71-1.el6.x86_64

mysql-server-5.1.71-1.el6.x86_64

[server2] ##编辑mysql配置文件

vim /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

#Disablingsymbolic-linksisrecommendedtopreventassortedsecurityrisks

symbolic-links=0

server-id=2

binlog-do-db=dbtest

binlog-ignore-db=mysql

log-bin=mysql-bin

master-host=172.25.38.5

master-user=ly

master-password=westos

master-port=3306

replicate-ignore-db=mysql

replicate-do-db=dbtest

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

当配置server2为主时,server5为从时,把以#开头的,把#去掉

[server5]

vim /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

symbolic-links=0

server-id=5

log-bin=mysql-bin

binlog-do-db=dbtest

binlog-ignore-db=mysql

#master-host=172.25.38.2

#master-user=ly

#master-password=westos

#master-port=3306

#replicate-ignore-db=mysql

#replicate-do-db=dbtest

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

log-error=/var/log/mysqld.log


/etc/init.d/mysqld start##开启数据库

mysqladmin-urootpasswordwestos##设置密码

[root@server5~]#mysql-p##进入数据库设置

Enterpassword:

mysql>createuserly@'172.25.38.5'identifiedby'westos';##创建用户并设置密码

mysql>grantallon*.*toly@'172.25.38.5';##授予权限

mysql>flushprivleges;##刷新

mysql>showmasterstatus;##主节点状态

+------------------+----------+--------------+------------------+

|File |Position|Binlog_Do_DB|Binlog_Ignore_DB|

+------------------+----------+--------------+------------------+

|mysql-bin.000004| 254 |dbtest | mysql |

+------------------+----------+--------------+------------------+

1rowinset(0.00sec)

[root@server2 ~]# mysql -p

Enterpassword:

mysql>changemastertomaster_host='172.25.38.2',master_user='ly',master_password='westos';

mysql>startslave;##开启从节点

mysql>showslavestatus\G;##查看从的状态

***************************1.row***************************

Slave_IO_State:Waitingformastertosendevent

Master_Host:172.25.38.5

Master_User:ly

Master_Port:3306

Connect_Retry:60

Master_Log_File:mysql-bin.000004

Read_Master_Log_Pos:254

Relay_Log_File:mysqld-relay-bin.000005

Relay_Log_Pos:399

Relay_Master_Log_File:mysql-bin.000004

Slave_IO_Running:Yes

Slave_SQL_Running:Yes

Replicate_Do_DB:dbtest

Replicate_Ignore_DB:mysql

##做同样类似操作,最后做出双向主从同步

[root@server2 ~]# mysql -p

Enterpassword:

mysql>createuserly@'172.25.38.2'identifiedby'westos';

mysql>grantallon*.*toly@'172.25.38.2';

mysql>flushprivileges;

mysql>showmasterstatus;

+------------------+----------+--------------+------------------+

|File |Position|Binlog_Do_DB|Binlog_Ignore_DB|

+------------------+----------+--------------+------------------+

|mysql-bin.000012| 106 |dbtest |mysql |

+------------------+----------+--------------+------------------+

1rowinset(0.00sec)

[root@server5 ~]# mysql -p

Enterpassword:

mysql>changemastertomaster_host='172.25.38.2',master_user='ly',master_password='westos';

mysql>start slave;

mysql>showslavestatus\G;

***************************1.row***************************

Slave_IO_State:Waitingformastertosendevent

Master_Host:172.25.38.5

Master_User:ly

Master_Port:3306

Connect_Retry:60

Master_Log_File:mysql-bin.0000012

Read_Master_Log_Pos:254

Relay_Log_File:mysqld-relay-bin.0000013

Relay_Log_Pos: 106

Relay_Master_Log_File:mysql-bin.0000012

Slave_IO_Running:Yes

Slave_SQL_Running:Yes

Replicate_Do_DB:dbtest

Replicate_Ignore_DB:mysql

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

2)安装heartbeat[server2]、[server5]

得到如下安装包

heartbeat-3.0.4-2.el6.x86_64.rpm

heartbeat-devel-3.0.4-2.el6.x86_64.rpm

heartbeat-libs-3.0.4-2.el6.x86_64.rpm

ldirectord-3.9.5-3.1.x86_64.rpm

yuminstallopensslperl-Net-SSLeayperl-TimeDateperl-libwww-perlperl-Compress-Zlibperl-HTML-Parserperl-HTML-Tagsetipvsadm-y##解决依赖性

rpm-ivhheartbeat-libs-3.0.4-2.el6.x86_64.rpmldirectord-3.9.5-3.1.x86_64.rpmheartbeat-3.0.4-2.el6.x86_64.rpmheartbeat-devel-3.0.4-2.el6.x86_64.rpm

vim/etc/ha.d/ha.cf##编辑配置

34logfacilitylocal0

48keepalive2

56deadtime30

61warntime10

71initdead60

76udpport694##端口

91bcasteth0#Linux

157auto_failbackon

211nodeserver5.example.com

212nodeserver2.example.com

222ping172.25.38.250##一个同一网段可ping的IP,最好是网关

255respawnhacluster/usr/lib64/heartbeat/ipfail

261apiauthipfailgid=haclientuid=hacluster

vim/etc/ha.d/haresources##资源配置

server5.example.comIPaddr::172.25.38.100/24/eth0drbddisk::exampleFilesystem::/dev/drbd1::/var/lib/mysql::ext4mysqld

vim/etc/ha.d/authkeys

auth1

1crc

#2sha1HI!

#3md5Hello!

两台配置一样,直接scp过去就好。

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

3)配置drbd

在两台主机上添加硬盘,最好一样大小,方便操作

////////////////////

得到如下包

drbd-8.4.2.tar.gz

或者8个如下安装包

drbd-8.4.2-2.el6.x86_64.rpm

drbd-xen-8.4.2-2.el6.x86_64.rpm

drbd-udev-8.4.2-2.el6.x86_64.rpm

drbd-utils-8.4.2-2.el6.x86_64.rpm

drbd-pacemaker-8.4.2-2.el6.x86_64.rpm

drbd-heartbeat-8.4.2-2.el6.x86_64.rpm

drbd-bash-completion-8.4.2-2.el6.x86_64.rpm

drbd-km-2.6.32_431.el6.x86_64-8.4.2-2.el6.x86_64.rpm

以tar包方式进行安装如下:

rpm-ivhdrbd-*

yuminstallgccflexrpm-buildkernel-devel-y

cp/root/drbd-8.4.0.tar.gz/root/rpmbuild/SOURCES/

tarzxfdrbd-8.4.0.tar.gz

cddrbd-8.4.0

./configure--enable-spec

./configure--enable-spec--with-km

在当前目录下得到两个文件

drbd.specdrbd-km.spec

rpmbuild-bbdrbd.spec

rpmbuild-bbdrbd-km.spec

cd/root/rpmbuild/RPMS/x86_64

rpm-ivh*

scp/root/rpmbuild/RPMS/x86_64/*172.25.38.5:/root

并且执行rpm-ivhdrbd-*

vim/etc/drbd.d/example.res

1resourceexample{

2meta-diskinternal;

3device/dev/drbd1;

4syncer{

5verify-algsha1;

6}

7onserver5.example.com{

8disk/dev/vdb;

9address172.25.38.5:7789;

10}

11onserver2.example.com{

12disk/dev/vdb;

13address172.25.38.2:7789;

14}

15}

drbdadmcreate-mdexample

/etc/init.d/drbdstart

drbdadmprimaryexample

cat/proc/drbd#在两台主机上查看同步状态

mkfs.ext4/dev/drbd1#数据同步结束后创建文件系统

mount/dev/drbd1/var/www/html#挂载文件系统

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

4)安装jdk

得到

jdk-6u32-linux-x64.bin

shjdk-6u32-linux-x64.bin

mvjdk-6u32-linux-x64java

mvjava/usr/local

vim/etc/profile

exportJAVA_HOME=/usr/local/java

exportCLASSPATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/lib

exportPATH=$PATH:$JAVA_HOME/bin

source/etc/profile

cd/home/

测试:

vimtest.java

classtest{

publicstaticvoidmain(String[]args)

{

System.out.println("Helloworld!");

}

}

javatest

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

5)安装cobar

cobar-server-1.2.6.zip

unzipcobar-server-1.2.6.zip

cd/root/cobar-server-1.2.6/conf

vimschema.xml

<!--schema定义-->

<schemaname="dbtest">

<tablename="usertb"dataNode="server5,server2"/>

</schema>

<dataSourcename="dbtest"type="mysql">

<propertyname="location">

<location>172.25.38.5:3306/dbtest</location>

<location>172.25.38.5:3306/dbtest</location>

</property>

<propertyname="user">root</property>

<propertyname="password">westos</property>

<propertyname="sqlMode">STRICT_TRANS_TABLES</property>

</dataSource>

vimserver.xml

<username="root">

<propertyname="password">westos</property>

<propertyname="schemas">dbtest</property>

</user>

<!--

<username="root">

<propertyname="password"></property>

</user>

<cluster>

<nodename="cobar1">

<propertyname="host">172.25.38.5</property>

<propertyname="weight">1</property>

</node>

</cluster>

<cluster>

<nodename="cobar2">

<propertyname="host">172.25.38.2</property>

<propertyname="weight">2</property>

</node>

</cluster>

vimrule.xml

<!DOCTYPEcobar:ruleSYSTEM"rule.dtd">

<cobar:rulexmlns:cobar="http://cobar.alibaba.com/">

<!--路由规则定义,定义什么表,什么字段,采用什么路由算法-->

<tableRulename="rule1">

<rule>

<columns>id</columns>

<algorithm><![CDATA[func1(${id})]]></algorithm>

</rule>

</tableRule>

<!--路由函数定义-->

<functionname="func1"class="com.alibaba.cobar.route.function.PartitionByLong">

<propertyname="partitionCount">2</property>

<propertyname="partitionLength">512</property>

</function>

cd/root/cobar-server-1.2.6/bin

[root@server2bin]#./startup.sh

"/usr/local/java/bin/java"-Dcobar.home="/root/cobar-server-1.2.6"-classpath"/root/cobar-server-1.2.6/conf:/root/cobar-server-1.2.6/lib/classes:/root/cobar-server-1.2.6/lib/cobar-common-1.2.6.jar:/root/cobar-server-1.2.6/lib/cobar-config-1.2.6.jar:/root/cobar-server-1.2.6/lib/cobar-net-1.2.6.jar:/root/cobar-server-1.2.6/lib/cobar-parser-1.2.6.jar:/root/cobar-server-1.2.6/lib/cobar-route-1.2.6.jar:/root/cobar-server-1.2.6/lib/cobar-server-1.2.6.jar:/root/cobar-server-1.2.6/lib/log4j-1.2.16.jar:/root/cobar-server-1.2.6/lib/slf4j-api-1.6.4.jar:/root/cobar-server-1.2.6/lib/slf4j-log4j12-1.6.4.jar"-server-Xms1024m-Xmx1024m-Xmn256m-Xss128k-XX:+AggressiveOpts-XX:+UseBiasedLocking-XX:+UseFastAccessorMethods-XX:+DisableExplicitGC-XX:+UseParNewGC-XX:+UseConcMarkSweepGC-XX:+CMSParallelRemarkEnabled-XX:+UseCMSCompactAtFullCollection-XX:+UseCMSInitiatingOccupancyOnly-XX:CMSInitiatingOccupancyFraction=75com.alibaba.cobar.CobarStartup>>"/root/cobar-server-1.2.6/logs/console.log"2>&1&

[root@server2bin]#/etc/init.d/drbdstart

StartingDRBDresources:[

]

.

[root@server2bin]#ipaddrshow

1:lo:<LOOPBACK,UP,LOWER_UP>mtu16436qdiscnoqueuestateUNKNOWN

link/loopback00:00:00:00:00:00brd00:00:00:00:00:00

inet127.0.0.1/8scopehostlo

inet6::1/128scopehost

valid_lftforeverpreferred_lftforever

2:eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000

link/ether52:54:00:f6:11:cdbrdff:ff:ff:ff:ff:ff

inet172.25.38.2/24brd172.25.38.255scopeglobaleth0

inet172.25.38.100/24brd172.25.38.255scopeglobalsecondaryeth0

inet6fe80::5054:ff:fef6:11cd/64scopelink

valid_lftforeverpreferred_lftforever

[root@server2bin]#df

Filesystem 1K-blocksUsedAvailable Use%Mountedon

/dev/mapper/VolGroup-lv_root15006084 17235281252029213%/

tmpfs 2030080 2030080%/dev/shm

/dev/vda1 495844 33452 4367928%/boot

/dev/drbd1 4128284 95208 38233723%/var/lib/mysql

[root@server2 bin]#./shutdown.sh

[root@server5conf]#df

Filesystem 1K-blocksUsedAvailable Use%Mountedon

/dev/mapper/VolGroup-lv_root17069948 1602508 14600320 10% /

tmpfs 2511360 251136 0%/dev/shm

/dev/vda1 495844 33467 4367778%/boot

/dev/drbd1 4128284 95232 38233483%/var/lib/mysql

[root@server5conf]#ipaddrshow

1:lo:<LOOPBACK,UP,LOWER_UP>mtu16436qdiscnoqueuestateUNKNOWN

link/loopback00:00:00:00:00:00brd00:00:00:00:00:00

inet127.0.0.1/8scopehostlo

inet6::1/128scopehost

valid_lftforeverpreferred_lftforever

2:eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000

link/ether52:54:00:6e:00:88brdff:ff:ff:ff:ff:ff

inet172.25.38.5/24brd172.25.38.255scopeglobaleth0

inet172.25.38.100/24brd172.25.38.255scopeglobalsecondaryeth0

inet6fe80::5054:ff:fe6e:88/64scopelink

valid_lftforeverpreferred_lftforever

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