https://github.com/hd19940104
https://gitee.com/hd19940104

方案:1+2+2(3台服务器)

环境清理及准备(在各节点服务器上都要执行)

1、 清除MySQL旧版本,首先使用如下命令来清理之前操作系统自带的MySQL安装

yum -y remove mysql

然后使用如下命令:

rpm -qa | grep mysql*

#如找到剩余MySQL包,按照如下的命令格式予以删除:

rpm -e  --nodeps  mysql-*

===============================================================================

#关闭防火墙禁止开机启动(在各节点服务器上都要执行)

systemctl stop firewalld.service

systemctl disable firewalld.service

firewall-cmd --state  #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)


vim /etc/profile(在各节点服务器上都要执行

#mysql配置

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

export PATH

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

刷新配置

source /etc/profile


2、 软件准备(在各节点服务器上都要执行,我使用SSH连接的CentOS7 )

mkdir –p /home/ndbdata   (数据目录)

新建mysql用户及用户组,授权(在各节点服务器上都要执行)

groupadd mysql

useradd -g mysql-s /usr/bin/bash mysql

chown -Rmysql:mysql /home/ndbdata

 

把压缩包放在/usr/local目录下

tar -zxf mysql-cluster-gpl-7.5.7-linux-glibc2.5-x86_64.tar.gz

mv  mysql-cluster-gpl-7.5.7-linux-glibc2.5-x86_64.tar.gzmysqlc

 

3、 开始安装

(1)      管理节点安装

创建安装目录

【管理节点是需要bin/下面的ndb_mgm和ndb_mgmd命令】

mkdir –p /usr/local/mysql/bin

【存放config.ini配置文件】

mkdir –p/usr/local/mysql/etc

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

拷贝执行文件 

cd /usr/local

cd mysqlc

cp bin/ndb_mgmd/usr/local/mysql/bin 

cp bin/ndb_mgm/usr/local/mysql/bin

 

创建配置文件目录及文件  

vim/usr/local/mysql/etc/config.ini

config.ini配置文件如下: 

------------------------------------------------------------------------------
[ndb_mgmd default]
datadir = /home/ndbdata
[ndbd default]
NoOfReplicas= 2
DataMemory=20G
IndexMemory=5G
MaxNoOfConcurrentTransactions=8192
MaxNoOfConcurrentOperations=100000
MaxNoOfLocalOperations=110000
NoOfFragmentLogFiles=128
TimeBetweenLocalCheckpoints=6
FragmentLogFileSize=256M
RedoBuffer=64M
#datadir=/home/ndbdata
[ndb_mgmd]
NodeId= 1
HostName=10.254.11.64
datadir = /home/ndbdata
[ndbd]
NodeId=11
HostName=10.254.11.62
datadir = /home/ndbdata
[ndbd]
NodeId=12
HostName=10.254.11.63
datadir = /home/ndbdata
[mysqld]
NodeId=21
HostName=10.254.11.62
[mysqld]
NodeId=22
HostName=10.254.11.63
[mysqld]
NodeId=23
 
----------------------------------------

删除自带的 /etc/my.cnf

切记:一定要删除掉!因为ndb_mgmd启动的时候,也会加上/etc/my.cnf的配置内容,干扰我们,所以要删除它,如果此处要配置成数据节点或者sql节点可以不操作】


rm -rf/etc/my.cnf


cd/usr/local/mysql/bin

ndb_mgmd--ndb-nodeid=1 --initial --config-dir=/usr/local/mysql/etc/--config-file=/usr/local/mysql/etc/config.ini

 

查看管理各节点情况

ndb_mgm

->show

 

(2)      安装配置数据节点

mv/usr/local/mysqlc  /usr/local/mysql

cd/usr/local/mysql

配置my.cnf

 

vim /etc/my.cnf

 


加入如下配置:

[mysql]
[mysqld]
character_set_server=utf8
basedir = /usr/local/mysql
datadir = /home/ndbdata
socket=/tmp/mysql.sock
character_set_server=utf8
init_connect='SET NAMES utf8'
# Disabling symbolic-links is recommendedto prevent assorted security risks
#symbolic-links=0
# Settings user and group are ignored whensystemd is used.
# If you need to run mysqld under adifferent user or group,
# customize your systemd unit file formariadb according to the
# instructions inhttp://fedoraproject.org/wiki/Systemd
 
[mysqld_safe]
#!includedir /etc/my.cnf.d
[mysqld]
basedir=/usr/local/mysql
datadir=/home/ndbdata
socket=/tmp/mysql.sock
ndbcluster
ndb-connectstring=10.254.11.64
[mysql_cluster]
ndb-connectstring=10.254.11.64
[mysql.server]
 [client]
default_character_set=utf8

如果下方这个命令无法使用,那么就进入bin目录下使用./mysqld --initialize进行初始化,总之正常安装mysql如何初始化就如何进行安装就可以了,这里还可以设置安装数据库的data目录等参数这里就不多解释了,网上安装mysql5.7的教程很多。


cd /usr/local/mysql/bin  mysqld --initialize --user=mysql --basedir=/usr/local/mysql/  --datadir=/home/ndbdata

如果初始化成功之后,系统会提示一个随机生成的数据库密码,此时需要记住这个密码,之后登录数据库需要使用这个密码!!

(3)      安装配置SQL节点

cp -rf/usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

5、.启动节点

Management Node > Data Node > SQL Node

(前面管理节点已经起来了就只需启动数据节点和sql节点)

#不是必须的,如果config.ini有改动则要加上--initial首次加载/usr/local/mysql/etc/config.ini文件有改变,其它时候不要加,除非是在备份、恢复或配置变化后重启时,其他时候不要加,不然数据就清空。。。

 

查看集群状态

ndb_mgm

>show

5.2启动数据节点

/usr/local/mysql/bin/ndbd --initial

#(第一次启动必须添加选项,另外备份/恢复,修改配置文件也需要执行)

/usr/local/mysql/bin/ndbd    #不是第一次启动需要执行的命令

5.3启动sql节点

service mysqld start

 

数据同步

建表索引要ndbcluster

在一个服务器上连接数据库

create database test;

use test;

create table test(numint) engine=ndbcluster

insert into test values(2);

在另外一个服务器数据库查看

很多人不知道数据存储在哪,这里教大家一个方法:用lsof查看ndb打开的文件:

>sudo lsof -c ndb

6、关闭集群

关闭顺序:SQL节点->管理节点

 

#关闭SQL节点

service mysqld stop

#关闭管理节点和数据节点

ndb_mgm〉 shutdown

 

mysql>set password for'root'@'localhost'=password('MyNewPass4!');

6、添加远程登录用户

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:

mysql> GRANT ALL PRIVILEGES ON*.*TOmysql@'%' IDENTIFIED BY'mysql'WITH GRANT OPTION;

 

===============================================================================

java 环境配置

 配置环境变量(/etc/profile)【所有机器】

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

JAVA_HOME=/usr/java/jdk1.7.0
JRE_HOME=/usr/java/jdk1.7.0/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
--------------------------------------------------------------------

使修改生效

[root@admin local]# source /etc/profile   //使修改立即生效

查看系统环境状态

[root@admin ~]# echo $PATH

 


tomcat环境配置


 配置环境变量(/etc/profile)【所有机器】


CATALINA_BASE=/usr/local/tomcat
PATH=$CATALINA_BASE/bin:$PATH
export PATH CATALINA_BASE

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

配置tomcat

1.配置server.xml:

vim /usr/local/tomcat/conf/server.xml
---------------------------------------------------------->
 <Connector port="80" protocol="HTTP/1.1"     //默认端口为8080,改为80
connectionTimeout="20000"
            redirectPort="8443" />

tomcat有manager-gui的管理页面,想要使用必须配置管理用户,不使用可以跳过此步。配置tomcat-users.xml:

vim /usr/local/tomcat/conf/tomcat-users.xml
----------------------------------------------------------------------------------------------------------------<rolerolename="manager-gui"/>                                 
 
  <user username="tomcat"password="tomcat" roles="manager-gui"/>