NDB群集安装

介绍

NDBCLUSTER(也称为NDB)是一种内存存储引擎,提供高可用性和数据持久性功能。

的NDBCLUSTER存储引擎可以与一系列故障切换和负载平衡选项进行配置,但最简单的是开始在集群级别的存储引擎。NDB Cluster的NDB存储引擎包含一整套数据,仅依赖于群集本身内的其他数据。

NDB群集的“群集”部分的配置独立于MySQL服务器。在NDB群集中,群集的每个部分都被视为一个节点。

共有三种类型的群集节点,并且在最小的NDB群集配置中,将至少有三个节点,这些类型之一:

管理节点:这种类型的节点的作用是管理NDB群集中的其他节点,执行诸如提供配置数据,启动和停止节点以及运行备份之类的功能。由于此节点类型管理其他节点的配置,因此应首先启动此类型的节点,然后再启动任何其他节点。使用命令ndb_mgmd启动一个MGM节点。

数据节点:这种类型的节点存储集群数据。

NDB群集表通常完全存储在内存中,而不是磁盘上(这就是为什么我们将NDB群集称为内存数据库)。但是,某些NDB群集数据可以存储在磁盘上。

SQL节点:这是访问集群数据的节点。对于NDB群集,SQL节点是使用NDBCLUSTER存储引擎的传统MySQL服务器。

SQL节点实际上只是API节点的一种特殊类型,它指定访问NDB群集数据的任何应用程序。API节点的另一个示例是用于还原集群备份的ndb_restore实用程序。可以使用NDB API编写此类应用程序。

1、资源规划

节点

IP地址

硬件资源

系统

管理节点(mgmd)

192.168.137.128

1cpu、1G内存

Centos7

管理节点(mgmd)

192.168.137.129

1cpu、1G内存

Centos7

数据节点“ A”(ndbd)

SQL节点(mysqld)

192.168.137.130

1cpu、3G内存

(数据节点吃内存)

Centos7

数据节点“ B”(ndbd)

SQL节点(mysqld)

192.168.137.131

1cpu、3G内存

Centos7

2、下载安装文件(192.168.137.130、192.168.137.131)

3.2、SQL节点

将位置更改为包含下载文件的目录,解压缩归档文件,并创建一个名为mysql该mysql 目录的符号链接。

useradd mysql

tar -xf mysql-cluster-gpl-8.0.20-linux-glibc2.12-x86_64.tar.gz

mv mysql-cluster-gpl-8.0.20-linux-glibc2.12-x86_64 /usr/local/mysql

3.3、将位置更改为mysql目录,并使用mysqld设置系统数据库--initialize,如下所示:

#rm -rf /data/apps/mysql-8.0/

mkdir -p /data/apps/mysql-8.0/logs && chown -R mysql.mysql /data/apps/mysql-8.0

chown -R mysql.mysql /usr/local/mysqlcat > /usr/local/mysql/my.cnf <

[mysqld]

basedir=/usr/local/mysql

datadir=/data/apps/mysql-8.0/data

socket=/tmp/mysql.sock

user=mysql

symbolic-links=0lower_case_table_names=1max_connections=2000wait_timeout=120interactive_timeout=120key_buffer_size=128M

tmp_table_size=16M

read_buffer_size=4M

read_rnd_buffer_size=16M

sort_buffer_size=32M

innodb_buffer_pool_size=1024M

ndbcluster

[mysqld_safe]

log-error=/data/apps/mysql-8.0/logs/mysqld.log

pid-file=/data/apps/mysql-8.0/mysqld.pid

user=mysql

[mysql_cluster]

ndb-connectstring=192.168.137.128,192.168.137.129EOE

mv /etc/my.cnf /etc/my.cnf_`date +%F-%s`

ln -s  /usr/local/mysql/my.cnf  /etc/my.cnf

3.4初始化数据库

/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/data/apps/mysql-8.0/data --initialize --user=mysql

记住密码一会儿用

3.4 将MySQL启动脚本复制到适当的目录,使其可执行,并将其设置为在操作系统启动时启动:

cp support-files/mysql.server /etc/rc.d/init.d/

chmod +x /etc/rc.d/init.d/mysql.server

chkconfig--add mysql.server

4.1数据节点,拷贝数据节点启动文件,如数据节点和sql节点在同一台,此步忽略

scp 192.168.137.130:/usr/local/mysql/bin/{ndbd,ndbmtd} /usr/local/bin/.

cd/usr/local/binchmod +x ndb*

mkdir -p /data/apps/mysql-8.0

在每个数据节点主机上应重复上述步骤。

5.1管理节点。  137.128、137.129

scp 192.168.137.130:/usr/local/mysql/bin/ndb_mgm* /usr/local/bin/.

cd/usr/local/binchmod +x ndb_mgm*

mkdir -p /usr/local/mysql/mysql-cluster

5.2配置管理节点。

#配置文件详解

cat > /usr/local/mysql/config.ini <

[ndbd default]

# Options affecting ndbd processes on all data nodes:

NoOfReplicas=2# Number of replicas

DataMemory=98M # How much memory to allocate fordata storage

[ndb_mgmd]

NodeId=1# Management process options:

HostName=192.168.137.128# Hostname or IP address of MGM node

DataDir=/usr/local/mysql/mysql-cluster # Directory forMGM node log files

[ndb_mgmd]

NodeId=2# Management process options:

HostName=192.168.137.129# Hostname or IP address of MGM node

DataDir=/usr/local/mysql/mysql-cluster # Directory forMGM node log files

[ndbd]

# Optionsfor data node "A":

# (one [ndbd] section per data node)

HostName=192.168.137.130# Hostname or IP address

NodeId=3 # Node ID forthis data node

DataDir=/data/apps/mysql-8.0 # Directory for this data node's data files

[ndbd]

# Optionsfor data node "B":

HostName=192.168.137.131# Hostname or IP address

NodeId=4 # Node ID forthis data node

DataDir=/data/apps/mysql-8.0 # Directory for this data node's data files

[mysqld]

NodeId=5# SQL node options:

HostName=192.168.137.130# Hostname or IP address

# (additional mysqld connections can be

# specifiedfor this node forvarious

[mysqld]

# SQL node options:

NodeId=6HostName=192.168.137.131# purposes such as running ndb_restore)

EOE

6、NDB群集的初始启动

6.1管理主机

/usr/local/mysql/bin/ndb_mgmd -f /usr/local/mysql/config.ini --initial (初始化才加)

6.2在每个数据节点主机上,运行以下命令以启动 ndbd进程:

ndbd --initial (初始化才加)

如报错,执行下列命令

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

再次启动成功:

6.3 Sql节点启动数据库:

/usr/local/mysql/bin/mysqld &

如果一切顺利,并且集群已正确设置,则集群现在应该可以运行了。您可以通过调用ndb_mgm管理节点客户端来对此进行测试。输出看起来应该像这里显示的一样,尽管您可能会看到输出有些细微的差异,具体取决于所使用的MySQL版本:

管理节点

SQL节点在这里被称为 [mysqld(API)],这反映了mysqld进程充当NDB群集API节点的事实 。

7、安全关闭和重新启动NDB群集

7.1要关闭群集,请在托管管理节点的计算机上的外壳程序中输入以下命令:

ndb_mgm -e shutdown -e此处 的选项用于将命令从外壳传递给ndb_mgm客户端。

7.2 再次启动,管理节点执行

ndb_mgmd -f /usr/local/mysql/config.ini

7.3 在每个数据节点执行

ndbd

7.4 使用ndb_mgm客户端来验证两个数据节点均已成功启动。

7.5 在SQL主机上:

/usr/local/mysql/bin/mysqld &

如果其中一个数据节点挂掉,必须让其中一个节点完全恢复,集群才可以继续使用

8、 其他注意

创建表时必须设定主键和加上ENGINE=NDBCLUSTER

create table s_position

(id int not nullauto_increment,

name varchar(20) not null default '经理', #设定默认值

description varchar(100),

primary key PK_positon (id) #设定主键

) ENGINE=NDBCLUSTER;

mysql ndb_搭建mysql NDB集群相关推荐

  1. mysql ndb集群

    重要说明:mysql-cluste与非集群时用的mysql-server与mysql-client没有任何关系,mysql-cluste安装包中已自带了集群用的server与client,启动mysq ...

  2. 深入学习MySQL、SQL优化、集群搭建

    个人博客欢迎访问 总结不易,如果对你有帮助,请点赞关注支持一下 微信搜索程序dunk,关注公众号,获取博客源码 日拱一卒,不期速成,厚积薄发 序号 内容 1 Java基础面试题 2 JVM面试题 3 ...

  3. 想提高运维效率,那就把MySQL数据库部署到Kubernetes 集群中

    摘要:Kubernetes 很多看起来比较"繁琐"的设计的主要目的,都是希望为开发者提供更多的"可扩展性",给使用者带来更多的"稳定性"和& ...

  4. WebDay19 MySQL存储引擎 索引 锁 集群

    MySQL存储引擎 索引 锁 集群 一.MySQL存储引擎 1.MySQL体系结构 2.MySQL存储引擎 3.常用引擎的特性对比 4.引擎的操作 5.总结:引擎的选择 二.MySQL索引 1.索引的 ...

  5. 如何在Ubuntu 16.04上使用MySQL 5.6配置Galera集群

    原作者:梅丽莎安德森  转载翻译:https://www.digitalocean.com/community/tutorials/how-to-configure-a-galera-cluster- ...

  6. Mysql8 NDB集群二进制方式免安装配置图解

    Mysql8 NDB集群二进制解压安装配置图解 声明与简介 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理.本文主要介绍mysql的NDB集群 ...

  7. 实战:Docker容器虚拟化技术(使用DockerFile构建镜像并搭建 swarm+compose集群)5

    实战:Docker容器虚拟化技术 (使用DockerFile构建镜像并搭建 swarm+compose集群)5 要求: 使用DockerFile构建镜像并搭建 swarm+compose集群 在Swa ...

  8. CDH5.15离线搭建简易版集群(完整版)

    运用CDH5.15离线搭建简易版集群 关于CDH和Cloudera CDH(Cloudera的发行版,包括Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定 ...

  9. 大数据测试平台搭建记录(CDH集群)

    大数据测试平台搭建记录(CDH集群) 服务器ip密码 关闭防火墙以centos7为例: systemctl stop firewalld.service systemctl disable firew ...

  10. Docker中搭建redis分片集群,搭建redis哨兵结构,实现springboot中对redis分片集群、哨兵结构的访问,Redis缓存雪崩、缓存击穿处理(非关系型数据库技术课程 第十二周)

    文章目录 一.要求: 二.知识总结 缓存雪崩 解决方案 docker中redis分片集群搭建 配置好配置文件 redis-6380.conf redis-6381.conf redis-6382.co ...

最新文章

  1. javascript实现base64加解密
  2. JVM 的 工作原理,层次结构 以及 GC工作原理
  3. java 无符号 类型_java中符号类型和无符号类型的问题分析
  4. CodeForces - 1096D Easy Problem(线性dp)
  5. 公司c语言面试题目,c语言面试最必考的十道试题,求职必看!!!
  6. 利用二分法解决 leetcode 378. Kth Smallest Element in a Sorted Matrix
  7. 深度了解视频直播CDN技术
  8. 关于模板类中,子类无法访问父类成员问题的解决方法
  9. 小猿圈分享Javascript技巧(下)
  10. 微信功能栏Android代码,微信隐藏代码合集 你不知道的微信隐藏代码功能
  11. 计算机软件著作权模板及个人申请全套攻略-软著
  12. ! [remote rejected] master -> master (pre-receive hook declined)
  13. 关于OGG trail file 到999999之后的处理方法
  14. 南京信息工程大学计算机与科学专业,南京信息工程大学王牌专业有哪些及专业排名...
  15. java 拼图游戏_Java学员作品-拼图游戏
  16. 智慧养老平台推广文案列
  17. Redis安装与配置Redis安装与配置
  18. 歌曲《幽兰操》,演唱:宁静
  19. 计算机可以配置不同的显示系统,为什么Win7系统显卡显示型号和电脑配置型号不一样...
  20. ffmpeg实例,图片转视频,图片放大移动示例解说

热门文章

  1. XRD测试的68个问题(一)
  2. Sat Sep 25 07:38:46 Local time zone must be set--see zic manual page 2021
  3. html给手机震动,用了这么多年的手机,是怎么震动的你知道吗?
  4. Java文字转语音功能实现
  5. Stata实现结构方程模型
  6. hpux 内存 够不够_hpux查看内存大小
  7. 深空天体反差指数计算
  8. 目标检测经典论文——YOLOv3论文翻译:YOLOv3: An Incremental Improvement(YOLOv3:增量式的改进)
  9. 无广告天气预报插件 免费天气iframe网页插件
  10. 数组常用操作。以逗号隔开、以逗号+单引号隔开、转List等