这次主要介绍生产工作中使用Starrocks时的常用命令
4.1 连接StarRocks
4.1.1 Linux命令行连接
bash
[root@hadoop1011 fe]# yum install mysql -y
[root@hadoop1011 fe]# mysql -h hadoop101 -uroot -P9030 -p
4.1.2 Windows客户端 DBeaver 连接
4.2 常用命令
4.2.1 查看状态
1. 查看fe状态
bash
show PROC '/frontends';
show frontends;
show frontends \G;
2.查看be状态
bash
show backends;
show backends \G;
3.切换到数据库查看表大小
bash
show data;
查看制定表,细分大小,副本数,行数
bash
show data from tpch.supplier;
4. 表相关的查看
查看临时分区
bash
show TEMPORARY PARTITIONS FROM tpch.supplier;
查看分区
bash
show PARTITIONS FROM tpch.supplier;
查看某个下所有表的动态分区信息
查看表结构
bash
desc supplier;
show create table supplier;
5. 查看本地label任务执行情况
bash
show routine load;
show routine load where label="xxxx";
4.2.2 创建用户
bash
CREATE USER <user_identity> [auth_option] [DEFAULT ROLE <role_name>[, <role_name>, ...]]
参数说明
user_identity:用户标识。由登录IP(userhost)和用户名(username)组成,写作:username@'userhost' 。其中,userhost 的部分可以使用 % 来进行模糊匹配。如果不指定 userhost,默认为 %,即表示创建一个可以从任意 host 使用 username 链接到 StarRocks 的用户。
auth_option:用户的认证方式。目前,StarRocks 支持原生密码、mysql_native_password 和 LDAP 三种认证方式,其中,原生密码与 mysql_native_password 认证方式的内在逻辑相同,仅在具体设置语法上有轻微差别。同一个 user identity 只能使用一种认证方式。
bash
auth_option: {
IDENTIFIED BY 'auth_string'
IDENTIFIED WITH mysql_native_password BY 'auth_string'
IDENTIFIED WITH mysql_native_password AS 'auth_string'
IDENTIFIED WITH authentication_ldap_simple AS 'auth_string'
}
注:在所有认证方式中,StarRocks均会加密存储用户的密码。
DEFAULT ROLE <role_name>[, <role_name>, ...]:如果指定了此参数,则会自动将此角色赋予给用户,并且在用户登录后默认激活。如果不指定,则该用户默认没有任何权限。指定的角色必须已经存在。
示例
示例一:使用明文密码创建一个用户(不指定 host 等价于 jack@'%')。
bash
CREATE USER jack IDENTIFIED BY '123456';
CREATE USER jack IDENTIFIED WITH mysql_native_password BY '123456';
示例二:使用密文密码创建一个用户,允许该用户从 '172.10.1.10' 登录。
bash
CREATE USER jack@'172.10.1.10' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';
CREATE USER jack@'172.10.1.10' IDENTIFIED WITH mysql_native_password AS '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';
其中,密文密码可以通过PASSWORD()函数获得
示例三:创建一个允许从域名 'example_domain' 登录的用户。
bash
CREATE USER 'jack'@['example_domain'] IDENTIFIED BY '123456';
示例四:创建一个 LDAP 认证的用户。
bash
CREATE USER jack@'172.10.1.10' IDENTIFIED WITH authentication_ldap_simple;
示例五:创建一个 LDAP 认证的用户,并指定用户在 LDAP 中的 DN (Distinguished Name)。
bash
CREATE USER jack@'172.10.1.10' IDENTIFIED WITH authentication_ldap_simple AS 'uid=jack,ou=company,dc=example,dc=com';
示例六:创建一个允许从 '192.168' 子网登录的用户,同时指定其默认角色为 db_admin 和 user_admin。
bash
CREATE USER 'jack'@'192.168.%' DEFAULT ROLE db_admin, user_admin;
4.2.3 修改用户密码
SET PASSWORD 命令可以用于修改一个用户的登录密码。
您也可以使用 ALTER USER 来修改用户密码。
注意
任何用户都可以重置自己的密码。
只有 user_admin 角色才可以修改其他用户的密码。
root 用户的密码仅 root 用户自身可以重置。具体信息,参见 管理用户权限 - 重置丢失的 root 密码。
语法
bash
SET PASSWORD [FOR user_identity] =
[PASSWORD('plain password')]|['hashed password']
如果 [FOR user_identity] 字段不存在,那么修改当前用户的密码。
注意此处的 user_identity 语法与 CREATE USER 章节中的相同。且必须为使用 CREATE USER 创建过的 user_identity。否则会报错用户不存在。如果不指定 user_identity,则当前用户为 'username'@'ip',这个当前用户,可能无法匹配任何 user_identity。可以通过 SHOW GRANTS; 查看当前用户。
PASSWORD() 方式输入的是明文密码; 而直接使用字符串,需要传递的是已加密的密码。
示例
示例一: 修改当前用户的密码。
bash
SET PASSWORD = PASSWORD('123456');
SET PASSWORD = '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';
示例二: 修改指定用户的密码。
bash
SET PASSWORD FOR 'jack'@'192.%' = PASSWORD('123456');
SET PASSWORD FOR 'jack'@['domain'] = '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';
4.2.4 扩容/减容
扩缩容 FE 集群
StarRocks FE 节点分为 Follower 节点和 Observer 节点。Follower 节点参与选举投票和写入,Observer 节点只用来同步日志,扩展读性能。
注意:
所有 FE 节点的 http_port 必须相同。
Follower FE 节点(包括 Leader 节点)的数量推荐为奇数。建议部署 3 个 Follower 节点,以组成高可用部署(HA)模式。
当 FE 集群已经为高可用部署模式时(即包含 1 个 Leader 节点,2 个 Follower 节点),建议您通过增加 Observer 节点来扩展 FE 的读服务能力。
正常情况下,一个 FE 节点可以应对 10 至 20 台 BE 节点。建议您将 FE 集群节点数量控制在 10 个以下。通常 3 个 FE 节点即可满足绝大部分需求。
1. 扩容 FE 集群
部署并启动新增 FE 节点。详细部署方式参考 部署 StarRocks。
bin/start_fe.sh --helper "fe_leader_host:edit_log_port" --daemon
fe_leader_host: Leader FE 节点的 IP 地址。
扩容 FE 集群。您可以将新增节点设定为 Follower 或 Observer 节点。
将新增节点设定为 Follower 节点。
bash
ALTER SYSTEM ADD follower "fe_host:edit_log_port";
将新增节点设定为 Observer 节点。
bash
ALTER SYSTEM ADD observer "fe_host:edit_log_port";
完成后,您可以查看节点信息验证扩容是否成功。
bash
SHOW PROC '/frontends';
2.缩容 FE 集群
您可以删除 Follower 或 Observer 节点。
删除 Follower 节点。
bash
ALTER SYSTEM DROP follower "fe_host:edit_log_port";
删除 Observer 节点。
bash
ALTER SYSTEM DROP observer "fe_host:edit_log_port";
完成后,您可以查看节点信息验证缩容是否成功。
bash
SHOW PROC '/frontends';
扩缩容 BE 集群
BE 集群成功扩缩容后,StarRocks 会自动根据负载情况,进行数据均衡,此期间系统正常运行。
1.扩容 BE 集群
部署并启动新增 BE 节点。详细部署方式参考 部署 StarRocks。
bash
bin/start_be.sh --daemon
扩容 BE 集群。
bash
ALTER SYSTEM ADD backend 'be_host:be_heartbeat_service_port';
完成后,您可以查看节点信息验证扩容是否成功。
bash
SHOW PROC '/backends';
2.缩容 BE 集群
您可以通过 DROP 或 DECOMMISSION 的方式缩容 BE 集群。
DROP 会立刻删除 BE 节点,丢失的副本由 FE 调度补齐,而 DECOMMISSION 先保证副本补齐,然后再删除 BE 节点。建议您通过 DECOMMISSION 方式进行 BE 集群缩容。
通过 DECOMMISSION 的方式缩容 BE 集群。
bash
ALTER SYSTEM DECOMMISSION backend "be_host:be_heartbeat_service_port";
通过 DROP 的方式缩容 BE 集群。
警告:如果您需要使用 DROP 方式删除 BE 节点,请确保系统三副本完整。
bash
ALTER SYSTEM DROP backend "be_host:be_heartbeat_service_port";
完成后,您可以查看节点信息验证缩容是否成功。
bash
SHOW PROC '/backends';
常用的命令先介绍到这里,欢迎点赞,收藏,转发,评论交流,另外其他命令请查阅官网。