YugaByte 创建数据库失败
YugaByte CREATE DATABASE failure
我尝试 运行 yugabyte 2.0.8.0 快速启动演示根据这些说明:
https://docs.yugabyte.com/latest/quick-start/install/
https://docs.yugabyte.com/latest/quick-start/create-local-cluster/
有 3 个本地节点
./bin/yb-ctl --rf 3 create
然后探索ysql:
https://docs.yugabyte.com/latest/quick-start/explore-ysql/
但是数据库创建失败:
yugabyte=# CREATE DATABASE yb_demo;
CREATE DATABASE yb_demo;
ERROR: Timed out: Write(tablet: 00000000000000000000000000000000, num_ops: 1, num_attempts: 9, txn: 00000000-0000-0000-0000-000000000000) passed its deadline 3393.992s (passed: 65.317s): Remote error (yb/rpc/outbound_call.cc:440): Service unavailable (yb/tserver/tablet_service.cc:291): Soft memory limit exceeded (at 93.81% of capacity), score: 0.00
yugabyte=# CREATE DATABASE yb_demo;
CREATE DATABASE yb_demo;
ERROR: Already present: Keyspace 'yb_demo' already exists
yugabyte=# DROP DATABASE yb_demo;
DROP DATABASE yb_demo;
ERROR: database "yb_demo" does not exist
yugabyte=# \c yb_demo;
FATAL: database "yb_demo" does not exist
Previous connection kept
所以数据库创建失败。我无法重新创建它,但似乎我也无法删除它或连接到它。错误消息提示内存不足。
免费输出为:
total used free shared buff/cache available
Mem: 4045992 1400276 1419504 64104 1226212 2319448
Swap: 4194300 0 4194300
问题:
运行ning YugaByte 需要多少内存?在这种情况下,运行时间环境是 4GB Ubuntu 16.4 VirtualBox VM with desktop。您的硬件要求至少为 2GB https://docs.yugabyte.com/latest/deploy/checklist/.
如何恢复这个错误?是删除失败的数据库还是完成数据库创建?
感谢您的支持。
How much memory is required for running YugaByte? In this case the runtime environment is 4GB Ubuntu 16.4 VirtualBox VM with desktop. Your HW requirements say min 2GB https://docs.yugabyte.com/latest/deploy/checklist/.
确实,2GB
最小值是针对每个节点的。
由于您是 运行 一台机器上的 3
节点集群,因此应该有助于将其增加到 6GB
或更多。
或者,如果增加内存不是一个选项,您可以调整进程的内存限制。
默认情况下,Yugabyte 将总内存的 10%
分配给 yb-master
进程(元数据服务器),将 85%
分配给 yb-tserver
进程(平板电脑服务器)。
在您的情况下,内存问题很可能与 yb-master
进程有关(CREATE DATABASE
命令将为新数据库初始化元数据)。
您可以使用 Web UI 检查当前内存设置和使用情况以确认。
yb-master
: <node-ip>/7000/mem-trackers
yb-tserver
: <node-ip>:9000/memz
注意:对于 3
节点 yb-ctl
集群,节点 IP 通常为 127.0.0.1
、127.0.0.2
和 127.0.0.3
。
要更新 yb-master
内存限制,您可以使用 memory_limit_hard_bytes
标志(相同的标志可用于 yb-tserver
)。
例如,将其增加到 600MB
:
./bin/yb-ctl stop && ./bin/yb-ctl start --master_flags="memory_limit_hard_bytes=629145600"
注意:您也可以在创建集群时直接使用相同的选项:
./bin/yb-ctl destroy && ./bin/yb-ctl create --master_flags="memory_limit_hard_bytes=629145600"
How can I recover this error? Either drop the failed db or finalize the db creation?
关于导致新数据库处于该状态的内存问题,如果 DDL 命令(CREATE DATABASE
因系统错误在 2.0.8
中间)。
目前,如果这是一个测试集群,最简单的修复方法是销毁集群然后重新创建它(在具有更多内存或更新标志的机器上,如上所示)。
否则,您可以使用 yb-admin
工具清理部分元数据。
./bin/yb-admin delete_namespace ysql.yb_demo
注意:最近 [1], [2] 已经提交了一些解决此类问题的承诺,并且应该在下一个版本中(尽管我无法确认他们是否会解决这个特定问题)。
我尝试 运行 yugabyte 2.0.8.0 快速启动演示根据这些说明:
https://docs.yugabyte.com/latest/quick-start/install/
https://docs.yugabyte.com/latest/quick-start/create-local-cluster/
有 3 个本地节点
./bin/yb-ctl --rf 3 create
然后探索ysql:
https://docs.yugabyte.com/latest/quick-start/explore-ysql/
但是数据库创建失败:
yugabyte=# CREATE DATABASE yb_demo;
CREATE DATABASE yb_demo;
ERROR: Timed out: Write(tablet: 00000000000000000000000000000000, num_ops: 1, num_attempts: 9, txn: 00000000-0000-0000-0000-000000000000) passed its deadline 3393.992s (passed: 65.317s): Remote error (yb/rpc/outbound_call.cc:440): Service unavailable (yb/tserver/tablet_service.cc:291): Soft memory limit exceeded (at 93.81% of capacity), score: 0.00
yugabyte=# CREATE DATABASE yb_demo;
CREATE DATABASE yb_demo;
ERROR: Already present: Keyspace 'yb_demo' already exists
yugabyte=# DROP DATABASE yb_demo;
DROP DATABASE yb_demo;
ERROR: database "yb_demo" does not exist
yugabyte=# \c yb_demo;
FATAL: database "yb_demo" does not exist
Previous connection kept
所以数据库创建失败。我无法重新创建它,但似乎我也无法删除它或连接到它。错误消息提示内存不足。
免费输出为:
total used free shared buff/cache available
Mem: 4045992 1400276 1419504 64104 1226212 2319448
Swap: 4194300 0 4194300
问题:
运行ning YugaByte 需要多少内存?在这种情况下,运行时间环境是 4GB Ubuntu 16.4 VirtualBox VM with desktop。您的硬件要求至少为 2GB https://docs.yugabyte.com/latest/deploy/checklist/.
如何恢复这个错误?是删除失败的数据库还是完成数据库创建?
感谢您的支持。
How much memory is required for running YugaByte? In this case the runtime environment is 4GB Ubuntu 16.4 VirtualBox VM with desktop. Your HW requirements say min 2GB https://docs.yugabyte.com/latest/deploy/checklist/.
确实,2GB
最小值是针对每个节点的。
由于您是 运行 一台机器上的 3
节点集群,因此应该有助于将其增加到 6GB
或更多。
或者,如果增加内存不是一个选项,您可以调整进程的内存限制。
默认情况下,Yugabyte 将总内存的 10%
分配给 yb-master
进程(元数据服务器),将 85%
分配给 yb-tserver
进程(平板电脑服务器)。
在您的情况下,内存问题很可能与 yb-master
进程有关(CREATE DATABASE
命令将为新数据库初始化元数据)。
您可以使用 Web UI 检查当前内存设置和使用情况以确认。
yb-master
:<node-ip>/7000/mem-trackers
yb-tserver
:<node-ip>:9000/memz
注意:对于 3
节点 yb-ctl
集群,节点 IP 通常为 127.0.0.1
、127.0.0.2
和 127.0.0.3
。
要更新 yb-master
内存限制,您可以使用 memory_limit_hard_bytes
标志(相同的标志可用于 yb-tserver
)。
例如,将其增加到 600MB
:
./bin/yb-ctl stop && ./bin/yb-ctl start --master_flags="memory_limit_hard_bytes=629145600"
注意:您也可以在创建集群时直接使用相同的选项:
./bin/yb-ctl destroy && ./bin/yb-ctl create --master_flags="memory_limit_hard_bytes=629145600"
How can I recover this error? Either drop the failed db or finalize the db creation?
关于导致新数据库处于该状态的内存问题,如果 DDL 命令(CREATE DATABASE
因系统错误在 2.0.8
中间)。
目前,如果这是一个测试集群,最简单的修复方法是销毁集群然后重新创建它(在具有更多内存或更新标志的机器上,如上所示)。
否则,您可以使用 yb-admin
工具清理部分元数据。
./bin/yb-admin delete_namespace ysql.yb_demo
注意:最近 [1], [2] 已经提交了一些解决此类问题的承诺,并且应该在下一个版本中(尽管我无法确认他们是否会解决这个特定问题)。