返回顶部
首页 > 资讯 > 数据库 >搭建mysql NDB集群
  • 354
分享到

搭建mysql NDB集群

搭建mysqlNDB集群 2020-08-26 05:08:56 354人浏览 猪猪侠
摘要

NDB群集安装 介绍 https://dev.Mysql.com/doc/refman/8.0/en/mysql-cluster-basics.html NDBCLUSTER (也称为NDB)是一种内存存储引擎,提供高可用性和数据

搭建mysql NDB集群

NDB群集安装

介绍

https://dev.Mysql.com/doc/refman/8.0/en/mysql-cluster-basics.html

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

1cpu1G内存

Centos7

 

 

管理节点(mgmd

192.168.137.129

1cpu1G内存

Centos7

 

 

数据节点“ A”ndbd

SQL节点(mysqld

192.168.137.130

1cpu3G内存

(数据节点吃内存)

Centos7

 

 

数据节点“ B”ndbd

SQL节点(mysqld

192.168.137.131

1cpu3G内存

Centos7

 

 

 

下载安装文件(192.168.137.130192.168.137.131)

官网地址:Https://dev.mysql.com/downloads/cluster/

wget https://cdn.mysql.com//Downloads/MySQL-Cluster-8.0/mysql-cluster-8.0.19-linux-glibc2.12-x86_64.tar.gz

 

2SQL节点

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

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将位置更改为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/mysql

cat > /usr/local/mysql/my.cnf <<EOE

[mysqld]

basedir=/usr/local/mysql

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

Socket=/tmp/mysql.sock

user=mysql

symbolic-links=0

lower_case_table_names=1

max_connections=2000

wait_timeout=120

interactive_timeout=120

key_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.129 

EOE

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 

 

 

 

记住密码一会儿用

 

 

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

 

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

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

cd /usr/local/bin

chmod +x ndb*

mkdir -p /data/apps/mysql-8.0

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

 

1管理节点。  137.128137.129

scp 192.168.137.130:/usr/local/mysql/bin/ndb_mgm*  /usr/local/bin/.
cd /usr/local/bin
chmod +x ndb_mgm*
mkdir -p /usr/local/mysql/mysql-cluster

 

2配置管理节点。

#配置文件详解

#https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-config-file.html

 

cat >  /usr/local/mysql/config.ini <<EOE
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2    # Number of replicas
DataMemory=98M    # How much memory to allocate for data 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 for MGM 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 for MGM node log files

[ndbd]
# Options for data node "A":
                               # (one [ndbd] section per data node)
HostName=192.168.137.130         # Hostname or IP address
NodeId=3                        # Node ID for this data node
DataDir=/data/apps/mysql-8.0   # Directory for this data node"s data files

[ndbd]
# Options for data node "B":
HostName=192.168.137.131          # Hostname or IP address
NodeId=4                        # Node ID for this 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
                                # specified for this node for various
[mysqld] # SQL node options: NodeId
=6 HostName=192.168.137.131 # purposes such as running ndb_restore) EOE

 

6NDB群集的初始启动

1管理主机

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

 

 

 

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

再次启动成功:

 

3 Sql节点启动数据库:

/usr/local/mysql/bin/mysqld &

 

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

管理节点

 

 

 

 

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

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

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

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

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 null auto_increment,

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

description varchar(100),

primary key PK_positon (id) #设定主键

) ENGINE=NDBCLUSTER;

 

 

您可能感兴趣的文档:

--结束END--

本文标题: 搭建mysql NDB集群

本文链接: https://lsjlt.com/news/4892.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 搭建mysql NDB集群
    NDB群集安装 介绍 https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-basics.html NDBCLUSTER (也称为NDB)是一种内存存储引擎,提供高可用性和数据...
    99+
    2020-08-26
    搭建mysql NDB集群
  • MySQL集群NDB 7.5有哪些知识点
    这篇文章主要介绍“MySQL集群NDB 7.5有哪些知识点”,在日常操作中,相信很多人在MySQL集群NDB 7.5有哪些知识点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • MySQL 5.5 NDB集群如何查看日志
    这篇文章主要介绍了MySQL 5.5 NDB集群如何查看日志,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 在管理节点查看日志~> ...
    99+
    2024-04-02
  • 如何搭建MySQL集群
    这篇文章给大家介绍如何搭建MySQL集群,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。概述MySQL Cluster 是MySQL 适合于分布式计算环境的高实用、可拓展、高性能、高冗余...
    99+
    2024-04-02
  • 集群搭建
      1.  集群搭建之主从复制 MySQL主从复制是一个异步的复制过程,主库发送更新事件到从库,从库读取更新记录,并执行更新记录,使得从库的内容与主库保持一致。 1.1   主服务器的配置 1.1.1   第一步:修改my.con...
    99+
    2017-09-01
    集群搭建
  • mysql中如何搭建集群
    mysql中如何搭建集群,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MySQL 群集是 MySQL 适合于分布式计算环境的高可用、高冗余...
    99+
    2024-04-02
  • MySQL 5.7 主从集群搭建
    IP功能Linux版本192.168.56.136MasterCentOS 7.9192.168.56.140SlaveCentOS 7.9 一、安装前的准备 1、卸载老版本 (1)查看是否安装mariadb(centos7默认安装) 命令...
    99+
    2023-09-16
    mysql 数据库 linux
  • kubernetes之statefulset搭建MySQL集群
    目录实现步骤具体代码创建一个 StatefulSet 对象来定义mysql创建一个 headless service实现步骤 在 Kubernetes 集群中创建一个 StatefulSet 对象。创建一个 headle...
    99+
    2023-04-19
    kubernetes statefulset搭建MySQL statefulset搭建MySQL集群
  • docker mysql集群怎么搭建
    要搭建Docker MySQL集群,可以按照以下步骤进行操作: 安装Docker:在每个节点上安装Docker引擎。 创建D...
    99+
    2023-10-27
    docker mysql
  • redis集群搭建
    Redis 5.0之后版本的高可用集群搭建 Redis系统介绍: Redis的基础介绍与安装使用步骤:https://www.jianshu.com/p/2a23257af57b Redis的基础数据结构与使用:https...
    99+
    2019-03-23
    redis集群搭建
  • mongodb集群搭建
    mongodb集群搭建 小码农叔叔 2019-06-17 22:51:33 4086 收藏 7 分类专栏: mongodb 版权 集群方式有三种:Replica Set、Sharding、Master-Slaver三种方式 常用的主要是副...
    99+
    2014-09-28
    mongodb集群搭建
  • MHA集群搭建
    开篇 本文主要介绍如何搭建MHA集群,希望给你带来帮助 基本环境介绍 Linux:CentOS 7.4 MySQL:5.7.21+传统复制(开启GTID不搭建binlog server) VIP:192.1...
    99+
    2024-04-02
  • Hadoop集群搭建
    文章目录 一、运行环境配置(所有节点)1、基础配置2、配置Host 二、依赖软件安装(101节点)1、安装JDK2、安装Hadoop(root)3、Hadoop目录结构 三、本地运行模式(官方WordCount)1、简介...
    99+
    2023-08-30
    hadoop linux java
  • kafka集群搭建
     一个典型的Kafka 集群中包含若干Producer(可以是web 前端产生的Page View,或者是服务器日志,系统 CPU、Memory 等),若干broker(Kafka 支持水平扩展,一般broker 数量越多,集群吞...
    99+
    2023-01-31
    集群 kafka
  • 搭建Domino群集
    搭建Domino群集浙江省电力办公自动化系统(以下简称:OA系统)是全省推广,统一软件、统一平台、统一规划与实施的一套大型应用系统。它的硬件平台采用IBM的小型机AS/400,软件采用Lotus Domino/Notes,并实施了在一台小型...
    99+
    2023-06-03
  • 搭建Nacos集群
    nacos的默认端口是8848,但是他还占用了另外两个接口:9848、9849。因此,在单机配置集群时,不可使用三个连续的端口,否则会导致 gRPC端口冲突。 端口与主端口(8848)偏移量作用98481000客户端gRPC请求服务端口,用...
    99+
    2023-08-18
    java mysql 开发语言 nacos
  • nacos集群搭建
    在官方文档上面就有结束搭建nacos是介绍 官方文档提供了一个Nacos集群的架构图,当我们访问Nacos时,首先会经过SLB,也就是负载均衡,通常是一个nginx,通过nginx来进行分发到具体的Nacos服务器上面。我们需要给不同的服...
    99+
    2023-08-19
    centos linux 服务器
  • MySQL MGR集群搭建的步骤
    本篇内容介绍了“MySQL MGR集群搭建的步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.背景My...
    99+
    2024-04-02
  • docker中怎么搭建mysql集群
    要在Docker中搭建MySQL集群,你可以使用Docker Compose来定义和管理多个MySQL容器。以下是一个简单的示例: ...
    99+
    2024-04-02
  • Minikube搭建Kubernetes集群
    Minikube 打开 https://github.com/kubernetes/minikube/releases/tag/v1.19.0 下载最新版本的二进...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作