Marathon和Aurora都是基于Mesos构建的,据称可以运行长期运行的服务.我的问题是:
谢谢!
我正在使用AWS极光实例,在进程列表中,我看到许多进程状态'延迟发送已完成'和'延迟提交已完成',并且这些进程处于睡眠模式.
这些不是MySQL状态,所以看起来这些是Aurora特定的状态.有谁知道这些州究竟是什么意思?
我们正在探索将 aurora serverless 作为我们项目之一的数据库存储。在执行 POC 以从 Aurora 无服务器集群中获取事件时,我们收到“返回的数据库超过允许的响应大小限制”异常。
有关数据库的更多详细信息:Aurora PostgreSQL 服务器较少。
为了进行 POC,我们正在使用数据 API,它们有这些限制。
import boto3;
client = boto3.client('rds-data')
import sys;
sql_statement = "select * from table_name limit 1000"
response = client.execute_statement(
database='mydb',
secretArn='<secret_arn',
resourceArn='<resource_arn>',
sql=sql_statement
)
print(response);
Run Code Online (Sandbox Code Playgroud) 当前,我们在CloudFormation中重新创建堆栈时遇到了麻烦。我们基本上想从快照创建一个新的Aurora集群,并将数据库实例附加到该快照。
我已经使用该SnapshotIdentifier
值从快照成功创建了DBCluster ,但这并未在集群内创建实例。如果我随后将DBInstance以cloudformation的形式添加到集群中,DBClusterIdentifier
则表示它需要MasterUsername
和MasterUserPassword
值。但我的理解是,这些都是快照的一部分。
我感觉我在Aurora CloudFormation中缺少一些非常重要的东西。
这是DBCluster和DBInstance属性:
"DBCluster": {
"Type": "AWS::RDS::DBCluster",
"Properties": {
"Port": "3306",
"Engine": "aurora",
"EngineVersion": "5.6.10a",
"SnapshotIdentifier": {
"Ref": "MainSnapshotIdenifer"
},
"DBSubnetGroupName": {
"Ref": "DatabaseSubnetGroup"
}
}
},
"DBInstance": {
"Type": "AWS::RDS::DBInstance",
"Properties": {
"DBClusterIdentifier": {
"Ref": "DBCluster"
},
"DBInstanceIdentifier": "HanzsDBInstance",
"DBInstanceClass": "db.r3.large",
"Engine": "aurora",
"DBParameterGroupName": {
"Ref": "DBParameterGroup"
},
"PubliclyAccessible": "true",
"DBSubnetGroupName": {
"Ref": "DatabaseSubnetGroup"
},
"DBSecurityGroups": [
{
"Ref": "DatabaseSecurityGroup"
}
]
}
}
Run Code Online (Sandbox Code Playgroud) 我在MySQL实例中获得以下错误:
[ERROR] Failed to write to mysql.slow_log: Thread stack overrun: 5375640560 bytes used of a 262144 byte stack, and 81920 bytes needed. Use 'mysqld --thread_stack=#' to specify a bigger stack.
Run Code Online (Sandbox Code Playgroud)
我的问题是:
1)堆栈溢出是什么意思?
2)为什么我的堆栈溢出?
3)如果仅需要81920个字节,为什么会有5375640560个字节的堆栈溢出?
在尝试在表上添加全文索引时,出现以下错误。
错误代码:1214。使用的表类型不支持 FULLTEXT 索引
在尝试使用 MyTSAM 引擎创建表时,我收到以下警告消息。
0 行受影响,1 条警告:1266 对表使用存储引擎 InnoDB
mysql full-text-search full-text-indexing aurora amazon-aurora
编辑:我不是要编辑只读副本。我是说我确实编辑了它,但我对为什么能够编辑感到困惑。
我在美国西部有一个数据库。我在孟买做了一个只读副本,所以印度的用户不会遇到缓慢的问题。出于好奇,我尝试在 Mumbai 只读副本数据库中编辑一行,希望得到一个拒绝我的写入尝试的安全错误(毕竟它是一个 READ 副本)。但是写操作成功了。这是为什么?这不应该是只读数据库吗?
然后我去了主数据库,希望至少可以同步写入过程,但是我的写入执行没有持续。主数据库现在与地方不同。
我还尝试在主数据库中编辑数据,希望它能将其复制到从数据库,但也失败了。
显然,我不明白什么。
database amazon-web-services amazon-rds aurora read-replication
当我尝试向用户授予INVOKE LAMBDA特权时,它失败并出现语法错误:
mysql> GRANT INVOKE LAMBDA ON mydb.* TO 'myuser'@'myaddress';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INVOKE LAMBDA ON mydb.* TO 'myuser'@'myaddress'' at line 1
Run Code Online (Sandbox Code Playgroud)
也未定义lambda_sync和lambda_async函数:
mysql> select lambda_sync("arn:aws:lambda:ap-southeast-1:xxxxxxxxxxx:function:MyLambda", '{"operation":"ping"}');
ERROR 1305 (42000): FUNCTION mydb.lambda_sync does not exist
Run Code Online (Sandbox Code Playgroud)
我也尝试过在这里使用mysql.lambda_sync / mysql.lambda_async。
根据文档,这些功能应该是我的aurora版本所固有的。
使用Aurora MySQL 1.16和更高版本时,可以调用本机函数lambda_sync和lambda_async。
mysql> select AURORA_VERSION();
+------------------+
| AURORA_VERSION() |
+------------------+
| 2.01.1 | …
Run Code Online (Sandbox Code Playgroud) 我想通过使用java和定义依赖关系在集群上分发Docker容器,这样当一个容器完成时,我可以在我的java代码中解析生成的输出.有许多mesos框架可以实现这一点,我不确定采取哪一个:Marathon,Singularity,Chronos,Aurora.
到目前为止我学到了什么:
Marathon有一个非常好的java客户端api,但用于长期任务(不知道这是否是一个问题,因为我的任务不会运行那么久)我不认为我可以定义那种依赖.如果我使用马拉松,我将不得不轮询应用程序的状态.Chronos没有java api(至少我找不到).所以我可以选择Aurora和Singularity.
任何人都可以帮我推荐其中一个用于我的用例.
来自各种网站:
您可以使用 Amazon Kinesis Data Streams 实时收集和处理大量数据记录流。您可以创建数据处理应用程序,称为 Kinesis Data Streams 应用程序。典型的 Kinesis Data Streams 应用程序从数据流中读取数据作为数据记录......虽然您可以使用 Kinesis Data Streams 解决各种流数据问题,但一个常见的用途是实时聚合数据,然后加载聚合数据放入数据仓库或map-reduce集群....数据放入Kinesis数据流中,确保持久性和弹性。
那么 Kinesis 只是一个存储数据的总线吗?我想即使你可以持久化数据......你也不能像关系数据库一样查询它。
关于极光:
Amazon Aurora (Aurora) 是一种完全托管的关系数据库引擎,与 MySQL 和 PostgreSQL 兼容。您已经知道 MySQL 和 PostgreSQL 如何将高端商业数据库的速度和可靠性与开源数据库的简单性和成本效益相结合。您今天在现有 MySQL 和 PostgreSQL 数据库中使用的代码、工具和应用程序可以与 Aurora 一起使用。对于某些工作负载,Aurora 可以提供高达 MySQL 的五倍吞吐量和 PostgreSQL 的三倍吞吐量,而无需更改大多数现有应用程序。
Aurora 包含一个高性能存储子系统。其 MySQL 和 PostgreSQL 兼容的数据库引擎经过定制,以利用这种快速的分布式存储。底层存储根据需要自动增长,最高可达 64 TB。
所以极光只是亚马逊的专有数据库?
最后,什么是活动流?从文档:
来自 Aurora PostgreSQL 的数据库活动流被推送到代表您的数据库创建的 Amazon Kinesis 数据流。从 Kinesis 中,Amazon CloudWatch 或合规性管理应用程序可以使用数据库活动流……当您启动数据库活动流时,每个数据库活动事件(例如更改或访问)都会生成一个活动流事件。访问事件由 SQL 命令生成,例如 CONNECT 和 SELECT....
那么活动流是否类似于其他关系数据库的 bin 日志或预写日志?当您打开此功能时,Kinesis 进程是如何启动的?我猜 Kinesis 有什么方法可以查看 Aurora 的二进制日志?
aurora ×10
mysql ×4
marathon ×2
mesos ×2
amazon-rds ×1
aws-lambda ×1
database ×1
java ×1
mesosphere ×1
postgresql ×1
rds ×1