暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

StarRocks手动部署

原创 飞鸟-柯 2023-02-10
2765

前提条件

在部署 StarRocks 之前,请确保如下环境要求已满足。

分类描述说明
硬件要求
  • 集群至少拥有两台物理或虚拟节点。
  • BE 节点 CPU 需支持 AVX2 指令集。
  • 各节点间需要通过万兆网卡及万兆交换机连接。
  • FE 节点建议配置 8 核 或以上 CPU,16GB 或以上内存。
  • BE 节点建议配置 16 核 或以上 CPU,64GB 或以上内存。
  • 通过运行 cat /proc/cpuinfo |grep avx2 命令查看节点 CPU 支持的指令集,若有结果返回则表明 CPU 支持 AVX2 指令集。
操作系统Linux kernel 3.10 以上。
软件要求
  • 所有节点需安装 Java Development Kit(1.8 或以上,推荐使用1.8)。
  • 客户端节点需安装 MySQL 客户端(5.5 或以上)。
系统环境
  • 集群时钟需保持同步。
  • 用户需要有设置 ulimit -n 权限。

说明

  • 依据不同的工作负载复杂性,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 的元数据目录后,重新开始部署。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论