启动数据库
可通过以下方式之一启动数据库:
管理工具
可使用 Vertica 管理工具 (Administration Tools) 启动数据库:
-
打开管理工具 (Administration Tools) 并选择查看数据库群集状态 (View Database Cluster State),以确保所有节点都处于关闭状态且没有其他数据库正在运行。
-
打开管理工具。有关访问管理工具的信息,请参阅使用管理工具。
-
在主菜单 (Main Menu) 上,选择启动数据库 (Start Database),再选择确定 (OK)。
-
选择要启动的数据库,再单击确定 (OK)。
当心
一次只启动一个数据库。如果在给定时间启动多个数据库,结果可能无法预测:用户可能会遇到资源冲突,或者对错误的数据库执行操作。 -
输入数据库密码,再单击确定 (OK)。
-
当提示数据库已成功启动时,单击确定 (OK)。
-
检查日志文件,以确保未发生启动问题。
命令行
可使用命令行工具start_db
启动数据库:
$ /opt/vertica/bin/admintools ‑t start_db ‑d db‑name
[‑p password]
[‑s host1[,...] | ‑‑hosts=host1[,...]]
[‑‑timeout seconds]
[‑i | ‑‑noprompts]
[‑‑fast]
[‑F | ‑‑force]
以下示例使用 start_db
启动单节点数据库:
$ /opt/vertica/bin/admintools -t start_db -d VMart
Info:
no password specified, using none
Node Status: v_vmart_node0001: (DOWN)
Node Status: v_vmart_node0001: (DOWN)
Node Status: v_vmart_node0001: (DOWN)
Node Status: v_vmart_node0001: (DOWN)
Node Status: v_vmart_node0001: (DOWN)
Node Status: v_vmart_node0001: (DOWN)
Node Status: v_vmart_node0001: (DOWN)
Node Status: v_vmart_node0001: (DOWN)
Node Status: v_vmart_node0001: (UP)
Database VMart started successfully
Eon 模式数据库节点启动
在启动 Eon 模式数据库时,您可以启动所有主节点或一部分主节点。在这两种情况下,将主节点列表传递给 start_db
以从 ‑s
选项开始。
需要满足以下要求:
- 主节点主机必须已启动才能启动数据库。
start_db
工具无法启动已停止的主机,例如基于云的虚拟机。您必须手动启动主机或使用 MC 启动群集。
以下示例启动六节点 Eon 模式数据库中的三个主节点:
$ admintools -t start_db -d verticadb -p 'password' \
-s 10.11.12.10,10.11.12.20,10.11.12.30
Starting nodes:
v_verticadb_node0001 (10.11.12.10)
v_verticadb_node0002 (10.11.12.20)
v_verticadb_node0003 (10.11.12.30)
Starting Vertica on all nodes. Please wait, databases with a large catalog may take a while to initialize.
Node Status: v_verticadb_node0001: (DOWN) v_verticadb_node0002: (DOWN) v_verticadb_node0003: (DOWN)
Node Status: v_verticadb_node0001: (DOWN) v_verticadb_node0002: (DOWN) v_verticadb_node0003: (DOWN)
Node Status: v_verticadb_node0001: (DOWN) v_verticadb_node0002: (DOWN) v_verticadb_node0003: (DOWN)
Node Status: v_verticadb_node0001: (DOWN) v_verticadb_node0002: (DOWN) v_verticadb_node0003: (DOWN)
Node Status: v_verticadb_node0001: (DOWN) v_verticadb_node0002: (DOWN) v_verticadb_node0003: (DOWN)
Node Status: v_verticadb_node0001: (DOWN) v_verticadb_node0002: (DOWN) v_verticadb_node0003: (DOWN)
Node Status: v_verticadb_node0001: (UP) v_verticadb_node0002: (UP) v_verticadb_node0003: (UP)
Syncing catalog on verticadb with 2000 attempts.
Database verticadb: Startup Succeeded. All Nodes are UP
数据库启动后, 辅助子群集将关闭。您可以根据需要选择启动它们。请参阅启动子群集。
启动包含部分主节点的数据库
作为最佳实践,Vertica 建议您始终启动包含所有主节点的 Eon 模式数据库。有时,并非针对每个主节点都能启动主机。在这种情况下,您可能需要启动包含部分数据库主节点的数据库。
如果 start_db
指定数据库主节点的子集,则适用以下要求:
- 节点必须包含一个仲裁:群集中所有主节点的至少 50% + 1。
- 总的来说,节点必须为公共存储中的所有分片提供覆盖率。用于启动数据库的主节点在启动时不会尝试重新平衡分片订阅。
如果无法满足其中一个或两个条件,则 start_db
返回错误。在下面的示例中,start_db
指定了包含九个主节点的数据库中的三个主节点。该命令返回一个错误,它无法启动少于五个主节点的数据库:
$ admintools -t start_db -d verticadb -p 'password' \
-s 10.11.12.10,10.11.12.20,10.11.12.30
Starting nodes:
v_verticadb_node0001 (10.11.12.10)
v_verticadb_node0002 (10.11.12.20)
v_verticadb_node0003 (10.11.12.30)
Error: Quorum not satisfied for verticadb.
3 < minimum 5 of 9 primary nodes.
Attempted to start the following nodes:
Primary
v_verticadb_node0001 (10.11.12.10)
v_verticadb_node0003 (10.11.12.30)
v_verticadb_node0002 (10.11.12.20)
Secondary
hint: you may want to start all primary nodes in the database
Database start up failed. Cluster partitioned.
如果您尝试启动包含部分主节点的数据库并且群集无法启动,Vertica 进程可能会继续在某些主机上运行。如果是这样,后续尝试启动数据库时将返回如下错误:
Error: the vertica process for the database is running on the following hosts:
10.11.12.10
10.11.12.20
10.11.12.30
This may be because the process has not completed previous shutdown activities. Please wait and retry again.
Database start up failed. Processes still running.
Database verticadb did not start successfully: Processes still running.. Hint: you may need to start all primary nodes.
在启动数据库之前,必须在错误消息中列出的主机上,使用 admintools 菜单或 admintools 命令行的 stop_host
工具停止 Vertica 服务器进程:
$ admintools -t stop_host -s 10.11.12.10,10.11.12.20,10.11.12.30