严格来说,StarRocks并没有所谓的“Standalone运行模式”,生产环境下更是不建议进行单实例部署。这里将单机部署整理出来,主要是考虑当用户测试环境受限于机器数量或仅希望验证功能,那么也可以在一台机器上简易部署把StarRocks跑起来。
以服务器“starrocks(192.168.110.98)”为例,在进行完“第1.2章:StarRocks部署--部署环境准备”中的准备工作后,我们开始进行单节点的部署。
为方便演示,我们使用root用户通过XShell工具访问服务器,单节点架构设计如下:
机器节点 |
192.168.116.98 (starrocks) |
部署服务 |
1 FE(Leader) 1 BE 1 Broker mysql-client |
部署目录及数据目录设计如下,后续的部署操作严格按照部署设计进行:
1 获取二进制产品包
StarRocks的二进制部署包可在官网下载获取:
StarRocks - 新一代极速全场景MPP数据库正在上传…重新上传取消https://www.starrocks.com/zh-CN/download/community
下面我们以StarRocks-1.19.2.tar.gz为例,将下载好的部署包上传至/opt/software目录下:
[root@starrocks ~]# mkdir /opt/software
[root@starrocks ~]# cd /opt/software/
[root@starrocks software]# ll
total 988752
-rw-r--r-- 1 root root 1012479814 Nov 22 15:46 StarRocks-1.19.2.tar.gz
2 解压产品包
[root@starrocks software]# tar xvf StarRocks-1.19.2.tar.gz
[root@starrocks software]# ll
total 988752
drwxrwxr-x 6 1007 1007 100 Nov 20 20:29 StarRocks-1.19.2
-rw-r--r-- 1 root root 1012479814 Nov 22 15:46 StarRocks-1.19.2.tar.gz
StarRocks二进制包解压后目录结构及简要说明见附录一:StarRocks部署包目录树。
3 分发部署文件
[root@starrocks software]# mv /opt/software/StarRocks-1.19.2 /opt/software/starrocks[重命名]
[root@starrocks software]# mv /opt/software/starrocks /opt/module/
[root@starrocks software]# cd /opt/module/starrocks/
[root@starrocks starrocks]# ll
total 0
drwxr-xr-x. 5 1021 1021 40 Nov 22 14:40 apache_hdfs_broker
drwxr-xr-x. 6 1021 1021 51 Nov 22 14:40 be
drwxr-xr-x. 8 1021 1021 83 Nov 22 14:52 fe
drwxr-xr-x. 4 1021 1021 32 Nov 22 14:40 udf
4 部署FE实例
4.1 修改FE配置文件
StarRocks各服务配置文件的默认配置已经足以启动集群,不建议初尝用户修改较多配置。FE的配置文件在测试环境中我们通常只需要关注以下三点:
a、注意默认端口,避免端口冲突,正常情况下不需要修改;
b、绑定IP,避免多网卡情况下服务无法自动匹配到正确的IP。特别注意,绑定ip时,如果不清楚CIDR表示法,可以直接填写完整的ip(不支持别名),例如配置为priority_networks = 192.168.110.98,这样的写法等同于priority_networks = 192.168.110.98/32;
c、设置元数据目录,默认目录为fe/meta,我们建议新建目录并修改配置文件。
根据部署设计,创建元数据存储目录:
[root@starrocks starrocks]# mkdir /opt/meta
针对b和c修改配置文件(带#的为注释,红色字体为新增配置):
[root@starrocks starrocks]# vi /opt/module/starrocks/fe/conf/fe.conf
# store metadata, create it if it is not exist.
# Default value is ${STARROCKS_HOME}/meta
# meta_dir = ${STARROCKS_HOME}/meta
meta_dir = /opt/meta
…………