集群管理
Alter system
该语句用于操作一个集群内的节点。(仅管理员使用!)
语法:
- 1.增加节点
- ALTER SYSTEM ADD BACKEND "host:heartbeat_port"[,"host:heartbeat_port"...];
- 2.删除节点
- ALTER SYSTEM DROP BACKEND "host:heartbeat_port"[,"host:heartbeat_port"...];
- 3.节点下线
- ALTER SYSTEM DECOMMISSION BACKEND "host:heartbeat_port"[,"host:heartbeat_port"...];
- 4.增加Broker
- ALTER SYSTEM ADD BROKER broker_name "host:port"[,"host:port"...];
- 5.减少Broker
- ALTER SYSTEM DROP BROKER broker_name "host:port"[,"host:port"...];
- 6.删除所有Broker
- ALTER SYSTEM DROP ALL BROKER broker_name
说明:
host 可以是主机名或者ip地址
heartbeat_port 为该节点的心跳端口
加和删除节点为同步操作。这两种操作不考虑节点上已有的数据,节点直接从元数据中删除,请谨慎使用。
点下线操作用于安全下线节点。该操作为异步操作。如果成功,节点最终会从元数据中删除。如果失败,则不会完成下线。
可以手动取消节点下线操作。详见 CANCEL ALTER SYSTEM
举例:
- 1.增加一个节点
- ALTER SYSTEM ADD BACKEND "host:9850";
- 2.删除两个节点
- ALTER SYSTEM DROP BACKEND "host1:9850", "host2:9850";
- 3.下线两个节点
- ALTER SYSTEM DECOMMISSION BACKEND "host1:9850", "host2:9850";
- 4.增加两个Hdfs Broker
- ALTER SYSTEM ADD BROKER hdfs "host1:9850", "host2:9850";
Cancel alter system
该语句用于撤销一个节点下线操作。(仅管理员使用!)
语法:
- CANCEL ALTER SYSTEM DECOMMISSION BACKEND "host:heartbeat_port"[,"host:heartbeat_port"...];
举例:
- 1.取消两个节点的下线操作
- CANCEL ALTER SYSTEM DECOMMISSION BACKEND "host1:9850", "host2:9850";
Create cluster
该语句用于新建逻辑集群 (cluster), 需要管理员权限。如果不使用多租户,直接创建一个名称为default_cluster的cluster。否则创建一个自定义名称的cluster。
语法:
- CREATE CLUSTER [IF NOT EXISTS] cluster_name
- PROPERTIES ("key"="value", ...)
- IDENTIFIED BY 'password'
PROPERTIES
指定逻辑集群的属性。PROERTIES ("instance_num" = "3")。其中instance_num是逻辑集群节点数。
identified by ‘password'
每个逻辑集群含有一个superuser,创建逻辑集群时必须指定其密码
举例:
- 1.新建一个含有3个be节点逻辑集群 test_cluster, 并指定其superuser用户密码
- CREATE CLUSTER test_cluster PROPERTIES("instance_num"="3") IDENTIFIED BY 'test';
- 2.新建一个含有3个be节点逻辑集群 default_cluster(不使用多租户), 并指定其superuser用户密码
- CREATE CLUSTER default_cluster PROPERTIES("instance_num"="3") IDENTIFIED BY 'test';
Alter cluster
该语句用于更新逻辑集群。需要有管理员权限
语法:
- ALTER CLUSTER cluster_name PROPERTIES ("key"="value", ...);
PROPERTIES
缩容,扩容 (根据集群现有的be数目,大则为扩容,小则为缩容), 扩容为同步操作,缩容为异步操作,通过backend的状态可以得知是否缩容完成。PROERTIES ("instance_num" = "3")。其中instance_num是逻辑集群节点数。
举例:
- 1.缩容,减少含有3个be的逻辑集群test_cluster的be数为2
- ALTER CLUSTER test_cluster PROPERTIES ("instance_num"="2");
- 2.扩容,增加含有3个be的逻辑集群test_cluster的be数为4
- ALTER CLUSTER test_cluster PROPERTIES ("instance_num"="4");
Drop cluster
该语句用于删除逻辑集群,成功删除逻辑集群需要首先删除集群内的db,需要管理员权限
语法:
- DROP CLUSTER [IF EXISTS] cluster_name;