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)【所有机器】
--------------------------------------------------------------------
|
使修改生效
|
查看系统环境状态
|
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"/>