前提条件
在部署 StarRocks 之前,请确保如下环境要求已满足。
| 分类 | 描述 | 说明 |
|---|---|---|
| 硬件要求 |
|
|
| 操作系统 | Linux kernel 3.10 以上。 | |
| 软件要求 |
| |
| 系统环境 |
|
说明
- 依据不同的工作负载复杂性,StarRocks 每个 CPU 线程每秒可以处理 10M 至 100M 行数据。您可以据此估计集群中需要多少 CPU 线程能够满足您的要求。而 StarRocks 在存储数据时利用列存储和压缩,可以达到 4-10 倍的压缩比,您可以使用该数据来估计集群所需的存储量。
- StarRocks 仅支持 JDK 作为依赖,不支持使用 JRE。
其他系统参数配置:
- 建议关闭交换区,消除交换内存到虚拟内存时对性能的扰动。
echo 0 | sudo tee /proc/sys/vm/swappiness
- 建议使用 Overcommit,将
cat /proc/sys/vm/overcommit_memory设置为1。
echo 1 | sudo tee /proc/sys/vm/overcommit_memory
下载并解压安装包
下载 StarRocks 并解压二进制安装包。
tar -xzvf StarRocks-x.x.x.tar.gz
注意
将以上文件名修改为下载的二进制安装包名。
下载完成后,将安装包分发至各节点。
部署 FE 节点
本小节介绍如何配置部署 Frontend (FE) 节点。FE 是 StarRocks 的前端节点,负责管理元数据,管理客户端连接,进行查询规划,查询调度等工作。
新集群中的 FE 节点在启动时默认启用 IP 地址访问。如需为新集群启用 FQDN 访问,请参阅 为新集群启用 FQDN 访问。
配置 FE 节点
进入 StarRocks-x.x.x/fe 路径。
cd StarRocks-x.x.x/fe
注意
将以上路径名修改为解压后的路径名。
修改 FE 配置文件 conf/fe.conf。以下示例仅添加元数据目录和 Java 目录,以保证部署成功。如需在生产环境中对集群进行详细优化配置,参考 FE 参数配置。
注意
当一台机器拥有多个 IP 地址时,需要在 FE 配置文件 conf/fe.conf 中设置
priority_networks,为该节点设定唯一 IP。
添加元数据目录配置项。
meta_dir = ${STARROCKS_HOME}/meta
添加 Java 目录配置项。
JAVA_HOME = /path/to/your/java
注意
将以上路径修改为 Java 所在的本地路径。
创建元数据路径
创建 FE 节点中的元数据路径 meta。
mkdir -p meta
注意
该路径需要与 conf/fe.conf 文件中配置路径保持一致。
启动 FE 节点
运行以下命令启动 FE 节点。
bin/start_fe.sh --daemon
确认 FE 启动成功
通过以下方式验证 FE 节点是否启动成功:
- 通过查看日志 log/fe.log 确认 FE 是否启动成功。
2020-03-16 20:32:14,686 INFO 1 [FeServer.start():46] thrift server started. // FE 节点启动成功。
2020-03-16 20:32:14,696 INFO 1 [NMysqlServer.start():71] Open mysql server success on 9030 // 可以使用 MySQL 客户端通过 `9030` 端口连接 FE。
2020-03-16 20:32:14,696 INFO 1 [QeService.start():60] QE service start.
2020-03-16 20:32:14,825 INFO 76 [HttpServer$HttpServerThread.run():210] HttpServer started with port 8030
...
- 通过运行
jps命令查看 Java 进程,确认 StarRocksFE 进程是否存在。 - 通过在浏览器访问
FE ip:http_port(默认http_port为8030),进入 StarRocks 的 WebUI,用户名为root,密码为空。
说明
如果由于端口被占用导致 FE 启动失败,可修改配置文件 conf/fe.conf 中的端口号
http_port。
添加 FE 节点
您可通过 MySQL 客户端连接 StarRocks 以添加 FE 节点。
在 FE 进程启动后,使用 MySQL 客户端连接 FE 实例。
mysql -h 127.0.0.1 -P9030 -uroot
说明
root为 StarRocks 默认内置 user,密码为空,端口为 fe/conf/fe.conf 中的query_port配置项,默认值为9030。
查看 FE 状态。
SHOW PROC '/frontends'\G
示例:
MySQL [(none)]> SHOW PROC '/frontends'\G
*************************** 1. row ***************************
Name: 172.26.xxx.xx_9010_1652926508967
IP: 172.26.xxx.xx
HostName: iZ8vb61k11tstgnvrmrdfdZ
EditLogPort: 9010
HttpPort: 8030
QueryPort: 9030
RpcPort: 9020
Role: LEADER
ClusterId: 1160043595
Join: true
Alive: true
ReplayedJournalId: 1303
LastHeartbeat: 2022-10-19 11:27:16
IsHelper: true
ErrMsg:
StartTime: 2022-10-19 10:15:21
Version: 2.4.0-c0fa2bb
1 row in set (0.02 sec)
- 当 Role 为 LEADER 时,当前 FE 节点为选举出的主节点。
- 当 Role 为 FOLLOWER 时,当前节点是一个能参与选主的 FE 节点。
如果 MySQL 客户端连接失败,可以通过查看 log/fe.warn.log 日志文件发现问题。
如果在初次部署时遇到任何意外问题,可以在删除并重新创建 FE 的元数据目录后,重新开始部署。




