集群主机和Agent管理
管理主机
Host 表存放主机的相关信息,而主机信息又与 node 节点相关,所以在添加节点之前必须添加 agent 到 host 表中,在 init all 集群之前,必须先 start agent,而这张 host 表就是用来管理 host 和 agent。管理 host 表的命令有 add host,alter host,drop host 和 list host 三个命令,下面对这三个命令进行介绍。
新增主机
add host
命令功能:
添加新的主机到 host 表,参数可以选择添加,但是至少有一个,缺省参数会以默认值加入。 具体功能可通过帮助命令 \h add host 查看。
命令格式:
ADD HOST [IF NOT EXISTS] host_name ( option )
where option must be the following:
ADDRESS = host_address,
AGENTPORT = agent_port_number,
ADBHOME = adb_home_path,
PORT = port_number,
PROTOCOL = protocol_type,
USER = user_name
参数说明:
host_address:主机名对应的IP地址,不支持主机名。
agentport_number:agent进程监听端口号。
adb_home_path:数据库集群安装包存放路径。
host_name:主机名。
user_name:数据库集群安装用户。
protocol_type:数据库集群安装包传输使用的协议,可以为telnet,ssh。现只支持ssh。
port_number:protocol_type对用的协议的端口号,现只支持ssh,默认对应端口号22。
命令举例:
-- 添加主机名为host_name1信息:数据库安装用户antdb,数据库安装包使用ssh协议传输,host_name1对应的ip为”10.1.226.202”, agent监听端口5660,安装包存放路径设置为”/opt/antdb/app”:
ADD HOST host_name1(USER=antdb, PROTOCOL=ssh, ADDRESS='10.1.226.202', AGENTPORT=5660, adbhome='/opt/antdb/app');
部署主机
命令功能:
DEPLOY 命令用于把 ADBMGR 所在机器编译的 AntDB 集群的可执行文件向指定主机的指定目录上分发。常用于在刚开始部署 AntDB 集群或者 AntDB 集群源码有改动,需要重新编译时。 具体功能可通过帮助命令 \h deploy 查看。
命令格式:
DEPLOY { ALL | host_name [, ...] } [ PASSWORD passwd ]
命令举例:
-- 把可执行文件分发到所有主机上(host 表上所有主机),主机之间没有配置互信,密码都是“ls86SDf79”:
DEPLOY ALL PASSWORD 'ls86SDf79';
-- 把可执行文件分发到所有主机上(host 表上所有主机),主机之间已经配置互信:
DEPLOY ALL;
-- 把可执行文件分发到host1和host2主机上,两主机都没有配置互信,密码都是'ls86SDf79':
DEPLOY host1,host2 PASSWORD 'ls86SDf79';
-- 把可执行文件分发到host1和host2主机上,两主机都已经配置互信:
DEPLOY host1,host2;
删除主机
命令功能:
从 host 表中删除指定的主机,但是主机应当没有被依赖使用,不然会报错。 具体功能可通过帮助命令 \h drop host 查看。
命令格式:
DROP HOST [ IF EXISTS ] host_name [, … ]
命令举例:
--连续删除host表中的主机名为localhost1和localhost2的成员:
DROP HOST localhost1, localhost2;
--删除host表中的主机名为localhost的成员:
DROP HOST localhost1;
查询主机信息
命令功能:
显示 host 表中的成员变量,可以显示指定的主机部分参数,也可以全部显示,也可以显示 host 表的所有主机参数内容。
命令格式:
LIST HOST [ ( option [, ...]) ] [ host_name [, ...] ]
where option can be one of:
NAME
USER
PORT
PROTOCOL
AGENTPORT
ADDRESS
ADBHOME
参数说明:
NAME:主机名。
USER:数据库集群安装用户。
PORT:protocol_type对用的协议的端口号,现只支持ssh,默认对应端口号22。
PROTOCOL:数据库集群安装包传输使用的协议,可以为telnet,ssh。现只支持ssh。
AGENTPORT:agent进程监听端口号。
ADDRESS:主机名对应的IP地址。
ADBHOME:数据库集群安装包存放路径。
命令举例:
--显示host表中所有主机成员的信息:
LIST host;
--显示host表中指定主机的成员信息:
LIST host localhost1;
--显示host表中指定主机的指定参数信息:
LIST host (user, agentport, address) localhost1;
管理 agent
Agent 进程是 ADBMGR 实现管理 AntDB 集群的关键。它是 ADBMGR 和 AntDB 集群之间传输命令和返回命令执行结果的中间代理。所以要实现对 AntDB 集群的管理,需要 agent 进程正常运行。管理 agent 进程的命令有三个,下面对这三个命令进行介绍。
agent 启动
命令功能:
启动指定主机上的 agent 进程。指定的主机需在 host 表中,具体功能可通过帮助命令: \h start agent 查看。
命令格式:
START AGENT { ALL | host_name [, ...] } [ PASSWORD passwd ]
命令举例:
-- 启动host表中主机上所有主机上的agent进程(主机之间没有配置互信,所有主机上用户密码都为'sdg3565'):
START AGENT ALL PASSWORD 'sdg3565';
-- 启动host表中主机上所有主机上的agent进程,(主机之间已经配置互信):
START AGENT ALL ;
-- 启动host表中host1,host2主机上的agent进程(主机之间没有配置互信,host1,host2上用户密码都为'sdg3565'):
START AGENT host1, host2 PASSWORD 'sdg3565';
-- 启动host表中host1,host2主机上的agent进程(主机之间已经配置互信):
START AGENT host1, host2 ;
agent停止
命令功能:
停止指定主机上的 agent 进程。指定的主机需在 host 表中,具体功能可通过帮助命令:\h stop agent 查看。
命令格式:
STOP AGENT { ALL | host_name [, ...] }
命令举例:
-- 停止host表中所有主机上的agent进程:
STOP AGENT ALL ;
-- 停止host表中host1,host2主机上的agent进程:
STOP AGENT host1, host2 ;
agent 监控
命令功能:
查看 host 表中指定主机上 agent 进程的运行状态。Agent 进程有 running 和 not running 两种运行状态。具体功能可通过帮助命令 \h stop agent 查看。
命令格式:
MONITOR AGENT [ ALL | host_name [, ...] ]
命令举例:
-- 查看host表中所有主机上的agent进程的运行状态:
MONITOR AGENT ALL ;
-- 查看host表中host1,host2主机上agent进程的运行状态:
MONITOR AGENT host1, host2 ;