数据库高可用性| 耗时:0.295秒|114857条结果

MySQL数据库可用性架构汇总

增长不会太快,对数据库可用性要求非常的场景。 四、Mysql cluster MySQL Cluster 实际上是在无共享存储设备的情况下实现的一种完全分布式 数据库系统,其主要通过NDB Cluster(简称NDB)存储引擎来实现
http://www.itnose.net/detail/6678031.html 2016-12-04 22:21   [Mysql]

mariaDB+garela可用性数据库

Galera Cluster和其他集群软件一样,需要面对极端情况下的"脑裂"状态。 为了避免这种问题,Galera引入了"arbitrator(仲裁人)"。 "仲裁人"是要找一台新机器,节点上没有数据,它在集群中的作用就是在集群
http://www.itnose.net/detail/6198837.html 2015-01-24 14:30   [其它]

HBase 可用性

,以逗号分隔 3、CopyTable 执行命令前,需先创建表。 支持时间区间、row 区间,改变表名称,改变列簇名称,指定是否copy删除数据等功能。 A、同一个集群不同表名称       -- hbase
http://www.itnose.net/detail/6509003.html 2016-05-23 18:11   [HBase]

grid)的可用性

概述 本文有两个目的: 1. 介绍TimesTen Global Cache Grid的可用性 2. 给出了一个简单的建立和清理Global Cache Grid的过程,前面已经有一篇文章: TimesTen 应用层数据库缓存学习:13. 全局数据缓存(cache grid),但那个
http://www.itnose.net/detail/6519593.html 2016-06-15 08:11   [其它]

Oracle 数据库 12.2新特性手册 - 可用性

Guard物理复制时,部署是自动的。 这是单个分片的默认Oracle可用性(HA)配置。 业务优势包括: 自动部署减少了管理开销。 物理数据库复制使用实时Oracle数据验证提供最强大的数据保护。 支持异步或同步复制,实现接近零或零数据丢失保护。 自动数据库故障转移为服务器,数据库
http://www.itnose.net/detail/6683524.html 2016-12-09 23:58   [Oracle]

Vertica 可用性测试

1.基本概念介绍 2.停止某节点服务 3.测试其他节点访问 1.基本概念介绍 Vertica也是MPP架构的数据库,相比大家熟悉的MPP架构,比如Greenplum和hadoop这些产品,Vertica最大的不同就是没有主节点这个概念。 也就是说Vertica集群中(K-safe=1情况),任何
http://www.itnose.net/detail/6461567.html 2016-03-02 13:23   [其它]

使用keepalived实现nginx的可用性

节点就会取代MASTER节点,成为新的MASTER,并继续向外提供服务,这就实现了服务的可用性。 二,实验环境 两台linux主机,系统版本为redhat5.8 32位 node1的ip地址为: 192.168.1.85 node2的ip地址为: 192.168.1.86 vip为
http://www.itnose.net/detail/6350938.html 2015-08-19 20:41   [nginx]

通过pymongo测试MongoDB的可用性

;rs1", "date" : ISODate("2015-01-16T02:48:36Z"), "myState" : 1, "members" : [ { "_id" : 0, "name" : "mongodb1:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 691, "optime" : Timestamp(1421376444, 1), "optimeDate" : ISODate("2015-01-16T02:47:24Z"), "electionTime" : Timestamp(1421376326, 2), "electionDate" : ISODate("2015-01-16T02:45:26Z"), "self" : true }, { "_id" : 1, "name" : "mongodb2:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 99, "optime" : Timestamp(1421376444, 1), "optimeDate" : ISODate("2015-01-16T02:47:24Z"), "lastHeartbeat" : ISODate("2015-01-16T02:48:35Z"), "lastHeartbeatRecv" : ISODate("2015-01-16T02:48:35Z"), "pingMs" : 0, "syncingTo" : "mongodb1:27017" }, { "_id" : 2, "name" : "mongodb3:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 72, "optime" : Timestamp(1421376444, 1), "optimeDate" : ISODate("2015-01-16T02:47:24Z"), "lastHeartbeat" : ISODate("2015-01-16T02:48:36Z"), "lastHeartbeatRecv" : ISODate("2015-01-16T02:48:35Z"), "pingMs" : 0, "syncingTo" : "mongodb1:27017" } ], "ok" : 1 } rs1:PRIMARY> 结果可以看到mongodb1是PRIMARY,其它两个host是SECONDARY。 3) 删除member http://docs.mongodb.org/manual/tutorial/remove-replica-set-member/ Shut down the mongod instance for the member you wish to remove. To shut down the instance, connect using the mongo shell and the db.shutdownServer() method. Connect to the replica set’s current primary. To determine the current primary, use db.isMaster() while connected to any member of the replica set. Use rs.remove() in either of the following forms to remove the member: rs.remove("mongod3.example.net:27017") rs.remove("mongod3.example.net") MongoDB disconnects the shell briefly as the replica set elects a new primary. The shell then automatically reconnects. The shell displays a DBClientCursor::init call() failed error even though the command succeeds. 至此mongodb的配置完成了。 2 测试内容 2.1 Test case 1: Basic operations 测试对Replica Set的基本连接,以及基本写操作,和Failover后的恢复操作, 使用pymongo Connecting to a Replica Set >>> from pymongo import MongoClient >>> MongoClient("10.75.44.10", replicaset='rs1') MongoClient([u'mongodb2:27017', u'mongodb1:27017', u'mongodb3:27017']) >>> 对数据库进行基本的写操作: >>> from pymongo import MongoClient >>> db = MongoClient("10.75.44.10", replicaset='rs1').demo >>> db Database(MongoClient([u'mongodb2:27017', u'mongodb1:27017', u'mongodb3:27017']), u'demo') >>> db.connection.host '10.75.44.10' >>> db.connection.port 27017 >>> 看到目前对于数据库的操作是PRIMARY,也就是host mongodb1。 然后对数据库写入一条record: >>> db.test.insert({'x':1}) ObjectId('54b8b1a1c77b3b3b354869a3') >>> db.test.find_one() {u'x': 1, u'_id': ObjectId('54b8b1a1c77b3b3b354869a3')} >>> 此时,把mongodb1的mongod stop掉。 >>> db.test.find_one() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/dist-packages/pymongo/collection.py", line 713, in find_one for result in cursor.limit(-1): File "/usr/local/lib/python2.7/dist-packages/pymongo/cursor.py", line 1038, in next if len(self.__data) or self._refresh(): File "/usr/local/lib/python2.7/dist-packages/pymongo/cursor.py", line 982, in _refresh self.__uuid_subtype)) File "/usr/local/lib/python2.7/dist-packages/pymongo/cursor.py", line 906, in __send_message res = client._send_message_with_response(message, **kwargs) File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 1186, in _send_message_with_response sock_info = self.__socket(member) File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 913, in __socket "%s %s" % (host_details, str(why))) pymongo.errors.AutoReconnect: could not connect to 10.75.44.10:27017: [Errno 111] Connection refused >>> db.test.find_one() {u'x': 1, u'_id': ObjectId('54b8b1a1c77b3b3b354869a3')} >>> db.connection.host u'mongodb3' >>> db.connection.port 27017 >>> 发现有个pymongo.errors.AutoReconnect的异常,不过马上恢复了,而且此时的操作数据库变成了mongodb3,也就是现在的PRIMARY. 如果需要从Secondary读取数据,可以设置ReadPreference. >>> from pymongo.read_preferences import ReadPreference >>> db.test.find_one() {u'x': 1, u'_id': ObjectId('54b8b1a1c77b3b3b354869a3')} >>> db.test.find_one(read_preference=ReadPreference.SECONDARY) {u'x': 1, u'_id': ObjectId('54b8b1a1c77b3b3b354869a3')} >>> 2.2 Test case 2: PRIMARY lost connection with all SECONDARY 假如PRIMARY和其它所有的SECONDARY失去联系了,那么PRIMARY就无法进行读写操作了。 >>> db.test.insert({'x':3}) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/dist-packages/pymongo/collection.py", line 402, in insert gen(), check_keys, self.uuid_subtype, client) File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 1125, in _send_message raise AutoReconnect(str(e)) pymongo.errors.AutoReconnect: not master >>> >>> >>> >>> >>> db.test.insert({'x':3}) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/dist-packages/pymongo/collection.py", line 363, in insert client._ensure_connected(True) File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 924, in _ensure_connected self.__ensure_member() File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 797, in __ensure_member member, nodes = self.__find_node() File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 888, in __find_node raise AutoReconnect(', '.join(errors)) pymongo.errors.AutoReconnect: [Errno 111] Connection refused, [Errno 111] Connection refused, mongodb3:27017 is not primary or master >>> 直到有至少两个Replica Set的host连接,然后选出新的PRIMARY。 2.3 Test case 3: Write Concern 根据Write Concern for Replica Sets的介绍: pymongo write concern >>> db Database(MongoClient([u'mongodb2:27017', u'mongodb1:27017', u'mongodb3:27017']), u'demo') >>> db.write_concern {} >>> db.write_concern = {'w':2, 'wtimeout':5000} >>> db.write_concern {'wtimeout': 5000, 'w': 2} >>> db.test.insert({'y':2}) ObjectId('54b8b89dc77b3b3b354869a4') 默认的write concern是空的配置。write concern有四个参数:w,wtimeout,j, fsync。 其中比较重要的是w和wtimeout。 w: (integer or string)If this is a replica set, write operations will block until they have been replicated to the specified number or tagged set of servers. w= always includes the replica set primary (e.g. w=3 means write to the primary and wait until replicated to two secondaries). Setting w=0 disables write acknowledgement and all other write concern options. wtimeout: (integer) Used in conjunction with w. Specify a value in milliseconds to control how long to wait for write propagation to complete. If replication does not complete in the given timeframe, a timeout exception is raised. Reference Three Member Replica Sets from mongodb.org http://docs.mongodb.org/manual/replication/ How to Setup MongoDB Replication Using Replica Set and Arbiters pymongo documentation
http://www.itnose.net/detail/6306736.html 2015-06-29 11:29   [MongoDB]

(一)什么是可用性解决方案?

我们对数据库安全常用的一些方案 凡是我们写成功的程序大部分都会和数据库进行交互,我们的数据库也必须有必要的措施防止数据库的崩溃。在我们学习可用性解决方案之前我们都是用的数据库备份和还原(如果你连这个都没考虑到,那你写的程序也太不安全了)。具体的备份的实现也有很多,比如说完整备份,差异备份……这里都不具体说了,大家可以去另外学习。但是这些备份会浪费好多时间,且随着数据库的增加几何的增长?当一个网站的数据库发生故障时,我们不可能用备份的形式去完成数据库的维护。比如你正在京东买东西,突然京东的数据库服务器硬盘坏了,你必须等待后台人员备份好数据库后你才能去购买?或者目前半小时不能购买了以后你还会去京东买东西吗?那这些问题如何解决呢?这就需要我今天说到的一些可用性解决方案了。 什么是可用性解决方案 可用性解决方案:就是让数据库保持一直都能访问的状态,从而不至于因为数据库的异常而导致网站或者程序不可用而影响(个人理解,欢迎拍砖)。其实就是我们通过一种方式,让我们数据库不会出现罢工,即使出现罢工也有使程序或者网站正常运行的方案。大家都在访问京东,当当,百度,腾讯,天猫等网站,运行这么多年他们就没有出现过问题?可是为什么他们出现问题了以后我们这些用户基本感觉不到呢?这就是因为他们都使用了可用行解决方案。 可用性解决方案概述 以下这个系列的文章我都是以SQL Server 2008来描述的,从理论上说不通的数据库都有类似的可用性解决方案,大家可以自己去研究。下面介绍四种可用性解决方案。 1.日志传送 2.数据库镜像 3.复制 4.故障转移群集 今天大家先知道这四种方案的名字吧。这四种方案是SQL Server提供给我们增加我们程序和数据库安全的“手段”。上面四个就是手段的名字。具体的内容我们以后一一学习。
http://www.itnose.net/detail/6030963.html 2014-04-27 16:55   [其它]

分布式,可用性数据中心感知调度器:Nomad

Nomad 是一个分布式,可用性数据中心感知调度器,专为微服务和批量处理工作流设计。Nomad 是分布式,可用,可扩展到跨数据中心和区域的数千个节点。 Nomad 提供一个常规工作流跨基础设施部署应用。开发者使用一个声明式作业规范来定义应用该如何部署,资源有什么要求(CPU,内存,硬盘)。Nomad 接收这些作业,查找可用的资源来运行应用。调度算法确保所有的约束都满足,尽量在一个主机部署尽可能多的应用,优化资源利用。此外,Nomad 支持在所有主流操作系统运行虚拟化,容器化或者是独立的应用,灵活的支持广泛的工作流负载。 Nomad 已经在生产环境使用,主要特性: Docker:Nomad 支持 Docker 作为第一类的工作负载类型 操作简单 多个数据中心和多个区域 灵活的工作负载 可扩展 代码示例: # Define the hashicorp/web/frontend job job "hashicorp/web/frontend" { # Run in two datacenters datacenters = ["us-west-1", "us-east-1"] # Only run our workload on linux constraint { attribute = "$attr.kernel.name" value = "linux" } # Configure the job to do rolling updates update { # Stagger updates every 30 seconds stagger = "30s" # Update a single task at a time max_parallel = 1 } # Define the task group group "frontend" { # Ensure we have enough servers to handle traffic count = 10 task "web" { # Use Docker to run our server driver = "docker" config { image = "hashicorp/web-frontend:latest" } # Ask for some resources resources { cpu = 500 memory = 128 network { mbits = 10 dynamic_ports = ["http"] } } } } } 项目主页:http://www.open-open.com/lib/view/home/1443576606580
http://www.itnose.net/detail/6381289.html 2015-10-02 19:56   [其它]

MySQL Cluster搭建MySQL可用性方案讨论

MySQLCluster介绍以及搭建可以参考传送门 MySQL Cluster主要包括三种节点: 数据节点:存储集群的数据,同时集群软件会自动对数据进行分片并冗余。图中NDB SQL节点:查询入口。因为需要消耗较大资源,因此可以进行分布式管理。图中SQL 管理节点:负责整个Cluster
http://www.itnose.net/detail/6646940.html 2016-09-26 18:34   [Mysql]

选择MySQL可用性解决方案

在这篇文章中,我们将看到不同的MySQL可用性解决方案,并且检查它们的优势与不足。 可用性环境为数据库必须保持可用性提供大量的好处。可用性数据库环境是跨多台机器共同部署的一个数据库,其中任何一个都可以假定数据库的功能。通过这种方式,数据库将不会有“单点故障”。 这儿有很多HA策略和解
http://www.itnose.net/detail/6519815.html 2016-06-15 17:52   [Mysql]

CentOS7.2 Keepalived + Nginx 实现可用性

http://www.itnose.net/detail/6492938.html 2016-04-24 19:10   [CentOS]

组件的可用性 High Availability

High Availability 可用性 Verticles can be deployed with High Availability (HA) enabled. In that context, when a verticle is verticle可以发布为“可用性”的
http://www.itnose.net/detail/6490270.html 2016-04-19 14:04   [其它]

  1  2  3  4  5 下一页>