高性价比开源软件集群(2)--mysql集群

RK3588服务器架构解析:从ARM集群到边缘计算实战 在边缘计算和服务器架构领域,ARM架构以其高能效比和并行处理能力,正成为x86架构的重要补充。其核心原理在于通过精简指令集和模块化设计,在有限功耗下提供密集计算单元。这一技术价值体现在为云手机、AI推理和视频处理等场景提供了极具性价比的解决方案。具体到应用层面,基于瑞芯微RK3588系列SoC构建的高密度服务器集群,通过集成专用NPU和硬件编解码器,能够规模化部署轻量级虚拟实例和并行处理多路视频流。本文聚焦的RK3588服务器,正是这一技术路线的典型代表,其模块化核心板设计和BMC远程管理系统,为开发者构建 阅读详情

没有女朋友就写点博客吧,了以解愁,接着昨天的继续.

mysql集群由三部分组成,管理节点,存储节点,SQL节点.模型图如下图所示:

 

管理节点顾名思义是用来管理存储节点和SQL节点的,存储节点和SQL节点都要与管理节点通信,SQL节点用来与应用程序通信,也是对外的接口,应用程序只能也只需访问它,存储节点用来负载均衡存储数据,而所用的存储引擎只能是NDB.一个集群至少由这三部分组成,每部分至少由一个节点组成,当然也可以把这三部分配置在一台电脑上,而且也可以只运行一个mysqld,ndb_mgmd,ndbd,mysqld三个进程在一台电脑上运行就能实现一个目的.我们继续.

mysql的安装:

网上不少资料以及mysql官网上都说要下载一个max版本的mysql,其实现在,到官网上随便下一个二进制的server版就行了,现在的server都包含了必需的工具.如果自己编译源码就比较麻烦了,默认情况下,源码编译后是不包含集群的工具的,要自己单独再下载集群需要的源码再编译才行.这里我们采用第一种方法,直接下载二进制文件.

下载后请执行下列命令:

groupadd mysql

useradd -g mysql mysql

tar -xvf mysql.tar.gz

cd mysql

scripts/mysql_install_db --user=mysql

chown -R root .

chown -R mysql data

chgrp -R mysql .

bin/mysqld_safe --user=mysql &

注意,在执行上述命令或mysql命令的时候可能会出现一系列的错误,这主要有两个可能,一是权限问题,二是一定要在mysql主目录下执行scripts/mysql_install_db --user=mysql和bin/mysqld_safe --user=mysql & 如果你在script或bin或下执行mysql_install_db --user=mysql和mysqld_safe --user=mysql & 都可能出现错误.

配置文件:

配置文件主要有两类,一是管理节点的配置文件,二是普通节点的配置文件.这里附上我的配置文件.

config.ini(管理节点的配置文件)

my.cnf(数据节点和SQL节点的配置文件)

config.ini中,[ndb_mgmd]指明管理节点的地址  [ndbd]指明数据节点的地址  [mysqld]指明SQL节点的地址

my.cnf中,[mysql_cluster]指明电脑上的mysqld,ndbd都公用这个配置,当然也可以分开配置,[ndbd]指明ndbd进程使用这个配置,  [mysqld]指明mysqld进程使用这个配置.示例配置如下:

 config.ini

# Example Ndbcluster storage engine config file.
#
[ndbd default]
NoOfReplicas= 2
MaxNoOfConcurrentOperations= 10000
DataMemory= 80M
IndexMemory= 24M
TimeBetweenWatchDogCheck= 30000
DataDir= /var/lib/mysql-cluster
MaxNoOfOrderedIndexes= 512

[ndb_mgmd default]
DataDir= /var/lib/mysql-cluster

[ndb_mgmd]
Id=1
HostName=202.115.138.47

[ndbd]
Id= 2
HostName=202.115.138.217
#hostname=localhost
datadir=/usr/local/mysql/data
[ndbd]
Id= 3
HostName=202.115.138.47 
datadir=/usr/local/mysql/data
[mysqld]
Id= 4
hostname=202.115.139.47
[mysqld]
Id= 5

[mysqld]
Id= 6

[mysqld]
Id= 7

# choose an unused port number
# in this configuration 63132, 63133, and 63134
# will be used
[tcp default]
PortNumber= 63132

my.cnf

# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /usr/local/mysql/data) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
[client]
#password    = your_password
port        = 3306
socket        = /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port        = 3306
socket        = /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
# 
#skip-networking

# Replication Master Server (default)
# binary logging is required for replication
log-bin=mysql-bin

# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id    = 1

# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave, you can choose between
# two methods :
#
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
#    the syntax is:
#
#    CHANGE MASTER TO MASTER_HOST=
<host>, MASTER_PORT=<port>,
#    MASTER_USER=
<user>, MASTER_PASSWORD=<password> ;
#
#    where you replace 
<host>, <user>, <password> by quoted strings and
#    
<port> by the master's port number (3306 by default).
#
#    Example:
#
#    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
#    MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# OR
#
# 2) Set the variables below. However, in case you choose this method, then
#    start replication for the first time (even unsuccessfully, for example
#    if you mistyped the password in master-password and the slave fails to
#    connect), the slave will create a master.info file, and any later
#    change in this file to the variables' values below will be ignored and
#    overridden by the content of the master.info file, unless you shutdown
#    the slave server, delete master.info and restart the slaver server.
#    For that reason, you may want to leave the lines below untouched
#    (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 2 and 2^32 - 1
# (and different from the master)
# defaults to 2 if master-host is set
# but will not function as a slave if omitted
#server-id       = 2
#
# The replication master for this slave - required
#master-host     =   
<hostname>
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user     =   
<username>
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password =   
<password>
#
# The port the master is listening on.
# optional - defaults to 3306
#master-port     =  
<port>
#
# binary logging - not required for slaves, but recommended
#log-bin=mysql-bin

# Point the following paths to different dedicated disks
#tmpdir        = /tmp/        
#log-update     = /path-to-dedicated-directory/hostname

# Uncomment the following if you are using BDB tables
#bdb_cache_size = 4M
#bdb_max_lock = 10000

# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /usr/local/mysql/data/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /usr/local/mysql/data/
#innodb_log_arch_dir = /usr/local/mysql/data/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
#add by endall
[mysqld]
ndbcluster
ndb-connectstring=202.115.138.217
[mysql_cluster]
ndb-connectstring=202.115.138.217

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

 

注意.config.ini中指明了所有的数据节点和SQL节点,它将管理这些地址,数据节点和SQL节点中都指明了管理节点的地址,它们通过它进行与管理节点的通信,但SQL节点中并没有指明数据节点的地址,所以它通过管理节点来与数据节点进程通信.

mysql群的启动:

1.启动管理节点:

ndb_mgmd -f /var/lib/config.ini

2.启动数据节点:

ndbd --initial(这个参数只有在首次运行的时候才加上)

3.启动SQL节点:

mysqld_safe --user=mysql

4.关闭群:

ndb_mgm -e shutdown

它将导致群中ndb_mgm,ndb_mgmd ,ndbd进程温和的结束.

测试:

ndb_mgm

show

显示如图:

AMD数据中心技术栈解析:从EPYC处理器到ROCm生态的AI计算实践 在数据中心和AI计算领域,异构计算已成为提升算力效率的核心范式。其原理是通过CPU、GPU、DPU等不同架构处理器的协同工作,针对特定负载优化性能与能效。这一技术价值在于能够应对生成式AI和高性能计算(HPC)对算力多元化、定制化的爆炸性需求。应用场景广泛覆盖AI训练集群、云原生基础设施和科学计算等领域。以AMD为代表的技术方案,正通过其EPYC处理器、Instinct加速卡及开源的ROCm软件生态,为开发者提供高性价比的异构计算解决方案。其中,基于Chiplet设计的EPYC处理器实现了高核心密度与成本优 阅读详情

相关推荐

阿里云RDS数据库调研

阿里云RDS数据库调研

杨鑫newlife的专栏 1567

高可用 - 01 闲聊高性能集群

集群是一组协同工作的服务集合,用来提供比单一服务更稳定、更高效、更具扩展性的服务平台。在集群的内部,有两个或两个以上的服务实体在协调、配合完成一系列复杂的工作。集群一般由两个或两个以上的服务器组建而成。每个服务器称为一个集群节点,集群节点之间可以相互通信。集群应该具有节点间服务状态监控功能,同时还必须具有服务实体的扩展功能,可以灵活地增加和剔除某个服务实体。集群应该具有故障自动切换功能: 在集群中,同样的服务可以由多个服务实体提供。

小工匠 2万+

开源基础架构和集群最佳实践

开源基础架构和集群最佳实践-包含开源一些架构方案,高阔keepaived,lvs,nginx等

Leave a dent in the world:陶建辉,52岁程序员与TDengine一起成长的四年

点击查看活动详情: https://t.csdnimg.cn/L4B8 社区介绍: TDengine是涛思数据研发的专注物联网大数据处理,不依赖任何开源或第三方软件,拥有自主知识产权的高性能、可伸缩、高可靠、零管理的物联网大数据平台软件。TDengine将数据库、缓存、消息队列、流式计算等功能完全融合在一起。由于针对物联网大数据特点做了各种优化,TDengine的数据插入、查询的性能比通用的大数据平台好10倍以上,存储空间也大为节省,采用SQL接口,与第三方软件能无缝集成,大幅简化了物联网平台的系..

涛思数据 6325

linux开源集群管理软件rocks,压缩文件6/7

linux开源集群管理软件rocks,压缩文件6/7

电磁场数值分析作业(西电)共5次【2021】

文章目录作业1作业2作业3作业4作业5 作业1 一个二维正方形(边长a=10mm)的静电场区域,电位边界条件如图所示(单位:V),求区域内的电位分布。要求用超松弛迭代法求解差分方程组进行计算。 clc clear close all hx=11; hy=11; v1=zeros(hy,hx); v1(hy,:)=ones(1,hx)*100; v1(1,:)=ones(1,hx)*50; for i=1:hy v1(i,1)=0; v1(i,hx)=100; end w=2/(1+

薛定谔的壳的博客 5074

基于开源软件构建高性能集群NAS系统

大数据时代的到来已经不可阻挡,面对数据的爆炸式增长,尤其是半结构化数据和非结构化数据,NoSQL存储系统和分布式文件系统成为了技术浪潮,得到了长足的发展。非结构化数据目前呈现更加快速的增长趋势,IDC研究报告分析指出,到2012年非结构化数据将占到数据存储总量的80%以上。集群NAS是一种横向扩展(Scale-out)存储架构,具有容量和性能线性扩展的优势,已经得到全球市场的认可。从EMC对ISI...

云计算? 675

OBS技术深度剖析:从开源直播工具到专业制作引擎的进化之路

本文深入剖析了开源直播软件OBS的技术架构与发展历程。从2012年诞生至今,OBS已成长为直播领域的事实标准,其成功源于模块化设计和开源协作模式。文章详细解析了OBS的核心技术:1) 分层架构与插件系统,2) GPU加速的渲染管线,3) 智能音频处理,4) 多平台编码优化。同时探讨了虚拟摄像头、浏览器源等高级功能的实现原理,并提供了性能优化方案和硬件配置建议。随着AI、WebRTC等新技术发展,OBS将持续引领实时内容创作工具的创新,为开发者和创作者提供更强大的技术支持。

程序猿老樊的博客 326

开源数据库MYSQL之集群

一、集群技术 1、集群概述

yiweii的博客 473

记录一下本地部署Dify的坑

1. 截止2025-3-4为止,请注意,不要直接拉Dify的1.0.0版本。请先试用0.15.3版本。1.0.0有一个bug需要解决。3. 请使用docker-ce 新版本,docker-engine等老版本可能会有部分容器启动脚本执行莫名报错。2. 注意,请使用docker-compose V2版本,或者V1较高版本,否则会导致解析官方yml模板错误。

哈利路亚的收藏夹 5346

JMeter脚本录制-快速上手篇

有的项目应用场景下,压测时,需要考虑带宽因素,压测不只是压测接口,静态资源也要一起压测。一般来说,静态资源比较多,如果一个个手工去写请求,是比较繁琐的,此时,可以使用Jmeter的脚本录制功能。 步骤1,创建脚本录制模版。 JMeter菜单:文件>模版,下拉选择到Recording,点击“Create”按钮; 填写录制参数: hostToRecord:填写要录制的主机域名,例如,我们这里填入:www.baidu.com schemeToRecord:填写要录制的模式,例如,htt...

软件测试大叔 5734

高性价比开源软件集群(1)--引子

           因为是穷人,没钱买易用的商业软件,只好自己想办法,来实现一些自己的想法. 收入总是与投入成正比的,一个穷人哪里有钱投资,但又想有回报,没法用商业软件,只好自己设计一 只需花钱买硬件,软件全用开源的系统了.一个通俗浅显的设计如下:mysql(postgresql)+自己写的JAVA程序+tomcat+apache.除了apache是被公认的世上最好的web服务器外,另外两个my

EndAll的专栏 2214

170、电机控制中的温升测试

本文以一次IGBT炸管事故为切入点,深入剖析电机控制中温升测试的实质:不仅是温度测量,更是对铜损、铁损、散热效率等热管理问题的系统验证。作者强调测试前热电偶布置、环境记录、预运行的重要性,提出实时监控电流谐波、绕组电阻、散热梯度等关键参数,并通过损耗分离与冷却系统实测,揭示真实热源。结合温升曲线异常分析与经验建议,强调留余量、仿真结合实测、关注瞬态工况等实践要点,警示温升测试是保障可靠性与安全性的核心环节。

2401_88858637的博客 49

mysql各个版本之间的区别

MySQL是一个开放源码的关系数据库管理系统,开发者为瑞典MySQL AB公司,被Sun公司收购,最后全都归并到Oracle麾下。MySQL由于性能高、成 本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站 和应用,比如维基百科、Google和Facebook。非常流行的开源软件组合LAMP中的M就是指

ggxxkkll的专栏 8324

【数据集】中国2003年至2022年全天空每日气温数据集

中国2003年至2022年全天空每日气温数据集

WW、forever的博客 603

【CanMV K210】AI 视觉 MNIST 手写数字识别与分类推理

本文介绍了基于CanMV K210开发板的MNIST手写数字识别实验。实验通过摄像头采集图像,经过开窗、灰度化、缩放、反色等预处理后,使用KPU神经网络加速器运行MNIST分类模型,最终在LCD上显示识别结果。重点讲解了分类模型与检测模型的区别、图像预处理流程以及KPU推理结果的解析方法。实验帮助理解从图像采集到分类输出的完整AI视觉处理链路,并提供了调试思路和硬件连接说明。

Mr数据杨 366

SQL Server真的比不上MySQL吗

在数据库领域,SQL Server与MySQL都是备受瞩目的存在。近年来,有一种观点悄然流传,认为 SQL Server比不上MySQL。这两款数据库在不同的应用场景和企业需求下,各有其独特的优势与特点。让我们深入探讨一番。

2403_88087488的博客 755

Python爬虫实战:中国土地市场网招拍挂数据抓取与分析

本文详细介绍了如何使用Python爬虫技术从中国土地市场网抓取土地招拍挂数据,并进行初步的数据分析与可视化。文章涵盖了爬虫的基本原理、反爬虫策略应对、数据清洗与存储、数据分析与可视化等多个方面,为土地市场研究者提供了一套完整的数据获取与分析解决方案。

2201_76125261的博客 684

mysql各版本特点

MySQL(发音:[ˌmaɪ ɛs kjuː ˈɛl],但也经常读作My- SEQuel)是一个开放源码的关系数据库管理系统,开发者为瑞典MySQL AB公司,现为Sun公司的一部分。2009年Oracle宣布收购Sun公司,因此MySQL可能成为Oracle旗下产品。MySQL由于性能高、成 本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。随着MySQ

格物致知 1922

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Oracle与MySQL:一场深度技术较量

Oracle与MySQL作为数据库领域中两款极具影响力的系统,各自拥有庞大的用户群体和丰富的应用场景。尽管它们均致力于解决数据存储、管理和检索问题,但在设计理念、核心特性、适用场景及运维管理等方面存在显著差异。本篇文章将深入剖析Oracle与MySQL之间的区别性特征,旨在为开发者、架构师以及决策者提供全面的技术参考,以便根据项目需求选择最适合的数据库解决方案。

聚焦于深度解析最新的编程语言特性、框架升级、架构设计、开发工具和最佳实践,涵盖Web前端(如Vue3, React, Angular等)、后端开发(如Node.js, Java, Python等)、移动端开发(iOS, Android原生及跨平台开发) 5万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

MySQL与Oracle数据库对比

**SQL标准支持**:Oracle对SQL标准的支持更加全面,提供了丰富的函数和扩展,而MySQL对SQL标准的支持相对较少,但它易于学习和使用。- **分区和分片**:Oracle提供了高级的表分区和数据分片功能,能够有效管理海量数据。- **存储过程和触发器**:两者都支持存储过程和触发器,但Oracle在这方面提供了更强大的功能和更好的性能。- **Oracle**:适用于大型企业、金融机构、电信公司和其他对性能、可靠性和安全性有高要求的核心业务系统。相对而言,其总体成本较低。

weixin_45990682的博客 1014

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

关系型数据库MySql与非关系型数据库NoSql

云计算背后的秘密:NoSQL诞生的原因和优缺点 我本来一直觉得NoSQL其实很容易理解的,我本身也已经对NoSQL有了非常深入的研究,但是在最近准备YunTable的Chart的时候,发现NoSQL不仅非常博大精深,而且我个人对NoSQL的理解也只是皮毛而已,但我还算是一个“知耻而后勇”的人,所以经过一段时间的学习之后,从本系列第六篇开始,就将和大家聊聊NoSQL,而本篇将主要给大家做一下N

index_ling的博客 2万+

OpenTenBase安装部署速成指南(新手上路)

本文介绍了OpenTenBase开源分布式数据库的安装部署指南。首先概述了OpenTenBase的核心特性及其三大模块(Coordinator、Datanode、GTM)的架构。然后详细说明了在腾讯云轻量应用服务器上的部署步骤:包括系统要求、创建专用用户、配置环境变量、下载源码以及执行编译安装的全过程。通过图文并茂的方式,帮助初学者快速完成从环境准备到编译安装的操作流程,适合新手入门OpenTenBase数据库部署。

csdn565973850的博客 1422

云原生 - 自建数据库与云数据库RDS性能优势分析,值不值得购买?

很多人对数据库是什么不是很清楚,那么数据库到底是什么呢?传统数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。 阿里云提供的云数据库RDS(ApsaraDB for RDS,简称RDS)是一种稳定可靠、可弹性伸缩的在线数据...

3149

云数据库和普通数据库的区别

背景 什么是数据库?传统数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。 阿里云提供的云数据库RDS(ApsaraDB for RDS,简称RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于飞天分布式系统和全SSD盘高性能存储,支持MySQL、SQL Server、PostgreSQL和PPAS(高度兼容Oracle)引擎,

km_1790的博客 1462
上一篇: 高性价比开源软件集群(1)--引子
下一篇: javascript对象模型
EndAll
博客等级 码龄20年 30粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值