重新安装个试试
点击下载:官方最新版mysql
MySQL的3个主要组成部分
1、负载均衡节点(mysql)
负载均衡节点(也叫SQL节点)是用来访问集群数据的。相关的软件,就是我们平时所使用的MySQL数据库软件;也就是由/etc/initd/mysql脚本来管理的那个服务。
2、存储节点(ndbd)
数据存储节点是用来保存集群数据的,其服务的启停是由脚本/etc/initd/mysql-ndb来管理的。
3、管理节点(ndbd-mgm)
管理节点是用来管理集群内其他节点的,比如提供配置信息、启动或停止节点、执行备份等。其服务的启停是由/etc/initd/mysql-ndb-mgm脚本来管理的。由于这类节点是管理者,所以管理节点必须首先启动,然后其他两类节点再启动。
mysql cluster的优缺点
一、优点:
1、99999 %的高可用性
2、快速的自动失效切换
3、灵活的分布式体系结构,没有单点故障
4、高吞吐量和低延迟
5、可扩展性强,支持在线扩容
二、缺点:
1、存在很多限制,比如:不支持外键,数据行不能超过8K(不包括BLOB和text中的数据)
2、部署、管理、配置很复杂
3、占用磁盘空间大,内存大
4、备份和恢复不方便
5、复杂的sql查询性能一般
主要结构
1、管理(MGM)节点:
这类节点的作用是管理MySQLCluster内的其他节点,如提供配 置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启 动这类节点。MGM节点是用命令“ndb_mgmd”启动的。对硬件没什么要求,差一点的机器完全能够胜任。默认端口1186。
2、数据节点:
这类节点用于保存Cluster的数据。数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点。不过没有必要设置多个副本。数据节点是用命令“ndbd”启动的。可以选择大内存,cpu也相对来讲不错的,尤其是以后ndbmtd对多核Cpu的支持。默认端口2202
3、SQL节点:
这是用来访问Cluster数据的节点。对于MySQLCluster,客户端节点是使用NDBCluster存储引擎的传统MySQL服务器。通常,SQL节点是使用命令“mysqld–ndbcluster”启动的,或将“ndbcluster”添加到“mycnf”后使用“mysqld”启动。对cpu要求较高,选择多核,高频CPU较好。
新增功能
1、更强内存性能和可扩展性:
根据SysBench标准,MySQL Cluster 74在只读工作负载上的性能比MySQL Cluster 73提高了近50%,读写 *** 作性能也提高了40%。性能改进可通过SQL或任何由MySQL Cluster支持的本地NoSQL 应用程序接口得到实现,包括Java, C++,>
2、改进的工作负载效率分析:
现在,用户可以在MySQL 集群上使用相同的记忆优化表高效运行涉及复杂分析和随机搜索的应用负载,这为OLTP工作负载提供了亚毫秒级别的超低延迟和高水平的并发性能。这些内存表可以和基于磁盘的表共同使用
3、新的跨地域冗余功能实现跨数据中心的高可用性:
最新版本的MySQL Cluster74提供冲突性事务传回功能,并能在跨地域集群之间实现灵活可用、即时更新的复制功能,使得应用可以自由向任意站点发送查询或写入命令,同时完全不影响一致性
4、高级管理功能:
MySQL Cluster为内部部署和基于云的部署提供了以下改进:
新的分布式内存使用和数据库 *** 作报告,提高管理效率;
其他性能调优选项;
更快的网络维护 *** 作,包括软件升级速度提高多达5倍
FastDFS是一个开源的轻量级分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
FastDFS是一个开源的轻量级分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。
FastDFS系统结构如下图所示:
跟踪器和存储节点都可以由一台多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。
为 了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就 是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负 载均衡的作用。
在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。
当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。
FastDFS file upload
上传文件交互过程:
1 client询问tracker上传到的storage,不需要附加参数;
2 tracker返回一台可用的storage;
3 client直接和storage通讯完成文件上传。
FastDFS file download
下载文件交互过程:
1 client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
2 tracker返回一台可用的storage;
3 client直接和storage通讯完成文件下载。
需要说明的是,client为使用FastDFS服务的调用方,client也应该是一台服务器,它对tracker和storage的调用均为服务器间的调用。
google code地址:>
ActiveActive。华为分布式存储中的智能负载均衡技术,它的访问模式是ActiveActive,负载均衡访问方式由公网d性负载均衡服务地址以及设置的访问端口组成,智能负载均衡通过多节点智能接入技术,使业务防护支持多节点、多线路自动调度容灾,保障业务高可用和加速的访问体验。
Storage DRS,首先DRS是Distributed Resource Scheduler的简写,就是动态调配资源。Storage DRS就是将现有的资源的整合在一个资源池里,然后设置相关的阕值(优先级等),当存储资源过载的时候会进行自动重新分配存储。从而实现7x24小时的服务。
Storage DRS的用途主要有以下几点:
1、进行存储的负载均衡,把虚机放在适合的存储上,达到提高虚机负载效率;
2、做到存储节点的冗余,提高虚机安全性。
HDFS中的数据按照一定策略分布在集群中的多个数据节点上,但在某些情况下,数据的分布也会出现不均衡的情况,比如说集群新增加了节点,在新增加的节点上就没有数据存在,虽说之后新增的数据会分配到新节点上,不过,对于已有数据,新节点和原有节点上的分布很不均衡,而且这还会导致在分配MapReduce任务的时候新机器分配不到可执行的任务,白白浪费了新增节点的计算能力。而对于一个真实的生产环境来说,随着数据量的增加而对集群逐步扩容是一个很常见的场景,为了解决这个问题,Hadoop设计了Rebalance功能。
rebalance的目的是为了使数据在集群中各节点的分布尽量均衡,那么,什么样的情况被认为是不均衡,又需要达到什么样的目标才算是完成了rebalance呢?简单来说,如果集群中没有“过载”或者“负载”的节点,则认为集群中的数据分布是均衡的,否则就是不均衡。所谓的“过载节点”是指存储使用率大于“平均存储使用率+允许偏差”的节点,“负载节点”是指存储使用率小于“平均存储使用率-允许偏差”的节点。这里又出现了几个概念,下面一一解释。什么是一个节点的存储使用率?它表示一个数据节点上已用空间占可用空间的百分比,所谓可用空间指的是分配给HDFS可使用的空间,并非是节点所在机器的全部硬盘空间。比如,一个数据节点,共有存储空间2T,分配给HDFS的空间为1T,已经用了600G,那么使用率就是600/1000=60%。将集群中各节点的存储使用率做个简单平均,就得到集群中节点的平均存储使用率。举例来说,假设有三个节点A,B,C,HDFS容量分别为2T,2T,1T,分别使用了50%,50%,10%,那么平均使用率是(50%+50%+10%)/3=367%,而不是(2 50%+2 50%+110%)/(2+2+1)=42%。允许偏差,是启动Rebalance功能的时候指定的一个阈值,也是一个百分比,如果没有指定则默认为是10%,表示允许单个节点的存储使用率与集群中各节点平均存储使用率之间有10%的偏差。Rebalance功能通过命令 hadoop balancer [-threshold] 来启动,直到集群中不再存在不均衡节点时自动停止。Rebalance过程可以指定多次,每次可以指定不同的允许偏差值,以此来逐次渐进达到一个合理的数据均衡分布,同时又不至于使得Rebalance过程持续时间过长,影响集群的正常使用。
rebalance 是一个非自动的管理功能,换句话说,它是由人工启动的。在任意一台能够连接到HDFS的机器上命令行下输入 hadoop balancer [-threshold] 既会启动。如果集群处于不平衡状态,这个过程就会在不平衡的节点之间迁移数据,如果rebalance过程没有被打断的话,完成此次rebalance目标后过程会自动停止。仍以上面的例子来说,以允许偏差为10%启动rebalance(命令行下输入hadoop balancer),则Rebalance完成时各节点的存储使用率如下,A=B=45825%,C=267%。如果认为这样数据分布还不够均衡,那么可以再启动一次Rebalance。假设再启动一次Rebalance,仍不指定参数,也即仍以以10%的默认值为允许偏差。Rebalance前集群的平均存储使用率为45825%×2+267%/3=3945%。将各节点与之对比,可以看出C节点是负载节点(3975-267=1305 > 10)。输入hadoop balancer 等其结束,各节点的存储使用率为A=B=451375%,C=2945%。由这个过程可以看出,rebalance 的目的虽然是平衡数据,但它并不追求毕其功于一役,而是事先设定目标,每一次执行只实现预设目标,也即只是缩小了过载/负载节点与集群平均使用率的差值,而通过反复多次的执行来是集群内的数据逐渐趋于均衡。这样实际上是将rebalance 拆解成了许多小过程,每次小过程的执行时间都不会太长,对于一个应用中的集群来说,大多数时间需要运行业务任务,大多数的带宽也应该用于传输业务数据,这样做使得辅助管理功能对于资源的占用降低了,而且由于每次运行的时间片都不长,完全可以机动灵活的选择在集群的空闲期来rebalance,是一个非常优秀的设计。
上图展示了参与rebalance过程的各个角色之间的交互。绿色的线表示rebalance专用的信息交换协议,数字表示各步骤的执行顺序。rebalance server首先会向name node要求一个datanode 报告(步骤1)。得到报告之后选择了source和destination,再向namenode请求每个source的部分块映射(步骤2)。然后选择要移动的block,对于每一个block,会选择一个也有此block的数据节点作为代理源节点,被选作代理源的节点应该离destination更近,或者负载比source轻。然后命令代理源节点将这个block拷贝到destination节点上,同时示意该block应该从source节点上删除(步骤3)。代理源节点请求destination节点将该block拷贝到本地硬盘并重新放置(步骤4)。destination完成block的copy之后会提醒namenode从source节点上删除该block(步骤5)。namenode会选择该block的一个副本删除并保证删除不会使block丢失,不会使block的副本减少或者使其分布的机架数减少。然后destination会通知代理源节点block的放置已经完成(步骤6)。代理源节点再通知rebalance server *** 作完成(步骤7)。
rebalance server上的执行逻辑如下:
1、在输入启动命令的那台机器上会启动一个进程作为rebalance Server,为了避免给namenode带来过大的负担,整个rebalance过程由rebalance server而不是namenode来控制。
2、rebalance server会向NameNode请求一份数据节点报告,在收到报告之后,使用获得的信息,计算出网络拓扑、集群平均存储使用率,然后把各个数据节点分成过载节点、负载节点、存储使用率高于平均水平的节点和低于平均水平的节点四类,再判断是否有节点处于过载和负载状态(也即过载节点列表和负载节点列表中是否有机器),如果是则继续,否则退出。如果判断可继续,则遍历过载节点列表和负载节点列表以生成Rebalance策略。生成rebalance策略的过程包括以下步骤:a、选择数据移动的源节点和目的节点,选择依据如下 对于负载节点,依据以下条件随机选取选取作为其source,条件优先级自上而下递减
b、计算每一个source到每个destination要移动的数据量(注意以byte为单位而不是block)。
如果source节点是过载节点,则看容积允许偏差值是否大于1GB,大于则取1GB,否则取允许偏差值。如果source只是高于平均使用率而没有达到过载的条件,则看该节点实际容积率与集群平均容积率之差是否大于2GB,大于取2GB,否则取前者。destination节点也如此计算。3、Rebalance Server 向Name Node请求每个source节点的部分块分布报告(partial block report),请求的形式类似,默认size是1GB。所谓部分块报告,是指每次要求和返回的的只是加起来能满足size大小的block的信息,而非全部的block信息。4、namenode随机挑选一些block,使得block的大小加起来等于请求中size的大小(见上一步,默认1GB),然后将被选中的block信息返回给rebalance server。5、rebalance server 在返回的这些block信息中挑选出每个source上需要移动的block,直到选出的block的大小达到了前面提到过的阈值(见本节2b中“如果source节点是过载节点……”一段)或者所有的block都被检查过了一遍。a、选取待移动block的时候不能破坏block的分布原则,也即不能造成block丢失,不能使一个block的副本数变少,也不能使一个block放置的机架数变少。选取时依据的原则如下
如果source和destination在不同的机架上,则destination所在的机架上不应该有待移动block的副本
destination上不应该有待移动block的副本
不能同时移动一个block的一个以上的个副本
b、每个block的移动任务一旦确定就会被放入一个队列,然后把copy数据的请求发送给souce
c、将队列中的任务按照source、destination和block分组,保证不能存在5个以上的同一source或者destination的任务,还要保证任意时刻一个block只能有一个副本在传输中
d、当接收到source的确认信息后,一个任务才会从队列中移除,如果一个任务在队列中过长时间没有接收到反馈也会移除。6、所有的block被扫描了一遍后,重复步骤3
7、2中所有的移动计划已经完成,并且队列中没有任务之后,重复步骤2datanode上执行的 *** 作如下:
参考资料 >
以上就是关于MySQL安装错误全部的内容,包括:MySQL安装错误、FastDFS一个开源高效的分布式文件系统、华为分布式存储中的智能负载均衡技术它的访问模式是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)