集群管理

Alter system

该语句用于操作一个集群内的节点。(仅管理员使用!)

语法:

  1. 1.增加节点
  2. ALTER SYSTEM ADD BACKEND "host:heartbeat_port"[,"host:heartbeat_port"...];
  3. 2.删除节点
  4. ALTER SYSTEM DROP BACKEND "host:heartbeat_port"[,"host:heartbeat_port"...];
  5. 3.节点下线
  6. ALTER SYSTEM DECOMMISSION BACKEND "host:heartbeat_port"[,"host:heartbeat_port"...];
  7. 4.增加Broker
  8. ALTER SYSTEM ADD BROKER broker_name "host:port"[,"host:port"...];
  9. 5.减少Broker
  10. ALTER SYSTEM DROP BROKER broker_name "host:port"[,"host:port"...];
  11. 6.删除所有Broker
  12. ALTER SYSTEM DROP ALL BROKER broker_name

说明:

  • host 可以是主机名或者ip地址

  • heartbeat_port 为该节点的心跳端口

  • 加和删除节点为同步操作。这两种操作不考虑节点上已有的数据,节点直接从元数据中删除,请谨慎使用。

  • 点下线操作用于安全下线节点。该操作为异步操作。如果成功,节点最终会从元数据中删除。如果失败,则不会完成下线。

  • 可以手动取消节点下线操作。详见 CANCEL ALTER SYSTEM

举例:

  1. 1.增加一个节点
  1. ALTER SYSTEM ADD BACKEND "host:9850";
  1. 2.删除两个节点
  1. ALTER SYSTEM DROP BACKEND "host1:9850", "host2:9850";
  1. 3.下线两个节点
  1. ALTER SYSTEM DECOMMISSION BACKEND "host1:9850", "host2:9850";
  1. 4.增加两个Hdfs Broker
  1. ALTER SYSTEM ADD BROKER hdfs "host1:9850", "host2:9850";

Cancel alter system

该语句用于撤销一个节点下线操作。(仅管理员使用!)

语法:

  1. CANCEL ALTER SYSTEM DECOMMISSION BACKEND "host:heartbeat_port"[,"host:heartbeat_port"...];

举例:

  1. 1.取消两个节点的下线操作
  1. CANCEL ALTER SYSTEM DECOMMISSION BACKEND "host1:9850", "host2:9850";

Create cluster

该语句用于新建逻辑集群 (cluster), 需要管理员权限。如果不使用多租户,直接创建一个名称为default_cluster的cluster。否则创建一个自定义名称的cluster。

语法:

  1. CREATE CLUSTER [IF NOT EXISTS] cluster_name
  2. PROPERTIES ("key"="value", ...)
  3. IDENTIFIED BY 'password'

PROPERTIES

指定逻辑集群的属性。PROERTIES ("instance_num" = "3")。其中instance_num是逻辑集群节点数。

identified by ‘password'

每个逻辑集群含有一个superuser,创建逻辑集群时必须指定其密码

举例:

  1. 1.新建一个含有3be节点逻辑集群 test_cluster, 并指定其superuser用户密码
  1. CREATE CLUSTER test_cluster PROPERTIES("instance_num"="3") IDENTIFIED BY 'test';
  1. 2.新建一个含有3be节点逻辑集群 default_cluster(不使用多租户), 并指定其superuser用户密码
  1. CREATE CLUSTER default_cluster PROPERTIES("instance_num"="3") IDENTIFIED BY 'test';

Alter cluster

该语句用于更新逻辑集群。需要有管理员权限

语法:

  1. ALTER CLUSTER cluster_name PROPERTIES ("key"="value", ...);

PROPERTIES

缩容,扩容 (根据集群现有的be数目,大则为扩容,小则为缩容), 扩容为同步操作,缩容为异步操作,通过backend的状态可以得知是否缩容完成。PROERTIES ("instance_num" = "3")。其中instance_num是逻辑集群节点数。

举例:

  1. 1.缩容,减少含有3be的逻辑集群test_clusterbe数为2
  1. ALTER CLUSTER test_cluster PROPERTIES ("instance_num"="2");
  1. 2.扩容,增加含有3be的逻辑集群test_clusterbe数为4
  1. ALTER CLUSTER test_cluster PROPERTIES ("instance_num"="4");

Drop cluster

该语句用于删除逻辑集群,成功删除逻辑集群需要首先删除集群内的db,需要管理员权限

语法:

  1. DROP CLUSTER [IF EXISTS] cluster_name;