问题标签 [database-cluster]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cassandra - Cassandra 聚类顺序与 OPP
我正在通过 Cassandra 学习并遇到了 OPP(非常不鼓励)和 Clustering Key 的概念
http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/create_table_r.html
他们似乎做同样的工作,即按特定列对特定列族中的行进行排序。谁能区分这里的区别?
mysql - 切换数据库集群节点后的 ActiveRecord::ConnectionTimeoutError
环境
我在 2 个网络服务器之间有一个 rails 3.2.x 应用程序负载平衡:web1 和 web2。每个网络服务器都指向 mysql 数据库的集群 IP。该数据库是集群的 2 台服务器(按机架空间)。在故障转移之前,一次有 1 个数据库处于活动状态。
错误
在我们最新的故障转移中,web1 开始发送ActiveRecord::ConnectionTimeoutError
(Middleware/Rack/ActiveRecord::QueryCache#call
下面的堆栈跟踪),而 web2 没有错误。请注意,这发生在数据库稳定并且 100% 切换到另一个节点之后。
理论
我的理论是会话或缓存或连接引用了旧节点,一旦切换它就找不到所述连接。这看起来确实很奇怪,因为两个数据库节点都是集群的,在同一个集群 IP 上服务并被复制。
临时解决方案
我们的临时解决方案是重新启动 web1 rails 服务器,这很有效。
问题
1)我想知道我是否可以解释这里可能发生的事情
2)是否有配置设置可以防止将来发生这种情况。
堆栈跟踪
错误消息 ActiveRecord::ConnectionTimeoutError: could not get a database connection within 5 seconds (waited 5.000268907 seconds). 当前最大池大小为 5;考虑增加它。
...record/connection_adapters/abstract/connection_pool.rb: 258:in block (2 levels) in checkout'
…record/connection_adapters/abstract/connection_pool.rb: 242:in
loop' ...record/connection_adapters/abstract/connection_pool.rb: 242:in block in checkout'
/usr/local/lib/ruby/1.9.1/monitor.rb: 211:in
mon_synchronize' ...record/connection_adapters/abstract/connection_pool.rb: 239:in checkout'
…record/connection_adapters/abstract/connection_pool.rb: 102:in
block in connection' /usr/local/lib/ruby/1.9.1/monitor.rb: 211:in mon_synchronize'
…record/connection_adapters/abstract/connection_pool.rb: 101:in
connection' …record/connection_adapters/abstract/connection_pool.rb: 410:in retrieve_connection'
…nnection_adapters/abstract/connection_specification.rb: 171:in
retrieve_connection' …nnection_adapters/abstract/connection_specification.rb: 145:inconnection'
…s/activerecord-3.2.19/lib/active_record/query_cache.rb: 67:in
通话中救援' ...s/activerecord-3.2.19/lib/active_record/query_cache.rb: 61:in call'
…record/connection_adapters/abstract/connection_pool.rb: 479:in
call' ...ack-3.2.19/lib/action_dispatch/middleware/callbacks.rb: 28:in block in call'
…s/activesupport-3.2.19/lib/active_support/callbacks.rb: 405:in
_run__862588711471957735__call__1324336831638990183__callbacks' ...s /activesupport-3.2.19/lib/active_support/callbacks.rb:405:在__run_callback'
…s/activesupport-3.2.19/lib/active_support/callbacks.rb: 385:in
_run_call_callbacks' ...s/activesupport-3.2.19/lib/active_support/callbacks.rb: 81:in run_callbacks'
…ack-3.2.19/lib/action_dispatch/middleware/callbacks.rb: 27:in
call' ...ack-3.2.19/lib/action_dispatch/middleware/remote_ip.rb: 31:in call'
…/gems/airbrake-3.1.14/lib/airbrake/rails/middleware.rb: 13:in
call' ....19/ lib/action_dispatch/middleware/debug_exceptions.rb: 16:in call'
…2.19/lib/action_dispatch/middleware/show_exceptions.rb: 56:in
call' ...by/1.9.1/gems/railties-3.2.19/lib/rails/rack/logger.rb: 32:in call_app'
…by/1.9.1/gems/railties-3.2.19/lib/rails/rack/logger.rb: 16:in
block in call' ...ivesupport- 3.2.19/lib/active_support/tagged_logging.rb: 22:in tagged'
…by/1.9.1/gems/railties-3.2.19/lib/rails/rack/logger.rb: 16:in
call' ...ck-3.2.19/lib/action_dispatch/middleware/request_id.rb: 22:in call'
…/ruby/1.9.1/gems/rack-1.4.5/lib/rack/methodoverride.rb: 21:in
call' .../bundle/ruby/1.9.1/gems /rack-1.4.5/lib/rack/runtime.rb: 17:in call'
…9.1/gems/airbrake-3.1.14/lib/airbrake/user_informer.rb: 16:in
_call' ...9.1/gems/airbrake-3.1.14/lib/airbrake/user_informer.rb: 12:in call'
…le/ruby/1.9.1/gems/railties-3.2.19/lib/rails/engine.rb: 484:in
call' ...by/1.9.1 /gems/railties-3.2.19/lib/rails/application.rb: 231:incall'
…gems/railties-3.2.19/lib/rails/railtie/configurable.rb: 30:in
method_missing' ...r-3.0.13/lib/phusion_passenger/rack/request_handler.rb: 96:in `process_request'
sql-server - MS SQL Server 镜像/集群/复制
我有一个需要注册网页的客户端。一旦客户加入场地的 wifi,该网页就会显示。所有注册信息都将被推送到 MS SQL Server。
这里的重点是这个客户有两个地点,在两个不同的国家。每个国家都有自己的数据库,它们应该有完全相同的数据。此外,如果其中一个 MSSQL 服务器出现故障,另一个应该接受请求。
镜像似乎不是答案,因为一次只有一台服务器处于活动状态。我也不了解集群,因为两台服务器都必须共享相同的存储。我是否应该单独创建这两个数据库并实施复制服务(两种方式),以便将一个数据库中的任何数据发送到另一个数据库?
谢谢并恭祝安康,
database-replication - 连接并使用 RethinkDB 集群
我似乎找不到很多关于 RethinkDB 中的集群如何实际工作的文档。
- 在 Cassandra 中,我通过定义一个或多个主机连接到集群,因此如果其中一个主机关闭,甚至已被删除,我仍然可以连接到整个集群,然后代码/配置将被更新,以反映更改我的主机 IP 地址。
据我了解,RethinkDB 没有这样的逻辑,我需要自己实现它,但我仍然会一直连接到整个集群,对吗?
- 创建数据库时,它是为整个集群创建的“某种”,没有办法也不需要指定负责处理它的确切服务器。当创建表并且我没有指定主副本标签时,哪个服务器将是主副本?如果我指定一个分配给多个服务器的标签 - 同样的问题适用。如何选择将成为主要副本的最终服务器?
mariadb - Galera复制忽略表
使用正常的 Mysql 复制,我们可以忽略表:replicate_ignore_table
我找不到有关是否可以使用 Galera 集群复制来执行此操作的任何信息。
我想忽略一个不重要的表,以便在对数据库执行操作时不必获取集群范围的锁。
redis - Redis pre GET 事件
如果搜索的键不存在,我如何覆盖方法 GET 或编写将在服务器端执行的新函数返回另一个键值?
例子:
如果关键字“word_1 word_2 word_3 word_4”不存在搜索此关键字“word_1 word_2 word_3”,如果关键字“word_1 word_2 word_3”不存在搜索此关键字“word_1 word_2”,如果关键字“word_1 word_2”不存在搜索此关键字“word_1” . 这种递归搜索必须在服务器端(为了速度)。
percona - Percona XtraDB Cluster (PXC) 节点/没有数据的实例(用于仲裁)
我需要在 2 个数据中心之间构建 2 个 PXC 节点。在这两个数据中心中,有一个公共节点(更重要)和一个私有节点(有时由于网络问题而离线)。如果只有 2 个节点,当一个节点离线时,整个集群将无法访问。
为了防止脑裂,最好建奇数节点。我想建立一个额外的节点作为主持人来防止这个问题。但是我无法构建一个完整的功能节点。
有没有什么方法可以在没有数据的情况下搭建 PXC 节点?或者任何包都可以让一个节点只代表仲裁?
谢谢!
mysql - MySQL 负载均衡
我们有 6 台服务器(4 台应用服务器和 2 台数据库服务器)
我们正在使用 HAProxy 在应用程序和 API 服务器之间进行负载平衡 (2/2)
现在我遇到的问题是系统管理员在 MySQL 上设置了主/从,但它总是失败,直到现在我们无法使用从属,因为大多数数据总是被损坏,我们总是需要修复它,每次我们都是得到不同的错误。
我们尝试对读/写进行某种负载平衡(在主设备上写入,在从设备上读取),但我们无法使用它,因为从设备数据并不总是正确的。
我想知道的是,在处理高负载服务器时,你总是需要数据准确并且不能冒任何风险,大佬们是如何进行的?
谁能告诉我他自己的经历和他用的什么?
我发现了什么:Percona XtraDB Cluster,但在进入这个方向之前需要输入......
谢谢 !!
powershell - 如何在 NosDB 开源中添加第二个节点?
我正在尝试NosDB,在单个节点上创建了数据库集群,然后在我的数据库集群中添加了第二个节点,但我失败并显示错误消息“Add-Shard : Login 'asif_mehmood' does not exist”。
我执行的步骤:
- 在两个盒子上安装了 NosDb OpenSource。
- 使用 New-DatabseCluster powershell cmmdlet 在第一个盒子上创建了一个带有一个分片的集群。
- 使用 Add-shard powershell cmdlet 添加了另一个以第二个框为节点的分片。
- 失败并显示以下错误消息
Add-Shard:登录 'asif_mehmood' 不存在
在行:1 char:1
+ Add-Shard -Name shard2 -Server 192.168.0.15 -Port 2250