StarRock3.3 安装部署(存算分离、存算一体保姆式教程)

news2024/9/9 1:10:44

服务器前置要求:

1、内存>=32GB

2、JDK 8 is not supported, please use JDK 11 or 17

1、安装

wget https://releases.starrocks.io/starrocks/StarRocks-3.3.0.tar.gz

tar zxvf StarRocks-3.3.0.tar.gz

2、FE服务启动

2.1 配置FE节点(默认配置,如果是自定义,可以修改配置,否则配置无需变动fe/conf/fe.conf

meta_dir = ${STARROCKS_HOME}/meta
mkdir ${STARROCKS_HOME}/meta

2.2 java环境安装fe/conf/fe.conf

如果本地默认是java8环境,可以单独对sr进行环境配置

# Replace <path_to_JDK> with the path where the chosen JDK is installed.
JAVA_HOME = /root/jdk-17.0.11

2.3 验证端口服务是否需要修改

  • 8030: FE HTTP server port (http_port)
  • 9020: FE Thrift server port (rpc_port)
  • 9030: FE MySQL server port (query_port)
  • 9010: FE internal communication port (edit_log_port)
  • 6090: FE cloud-native metadata server RPC listen port (cloud_native_meta_port)

执行下面命令:

netstat -tunlp | grep 8030
netstat -tunlp | grep 9020
netstat -tunlp | grep 9030
netstat -tunlp | grep 9010
netstat -tunlp | grep 6090

如果出现端口冲突,需要修改配置fe.conf

我本地8030端口冲突,修改fe.conf配置如下:

http_port = 8040

2.4 存算分离模式配置修改(存算一体不需要修改此配置) 

run_mode = shared_data
cloud_native_storage_type = HDFS
#cloud_native_meta_port = 6090
storage_root_path = hdfs://xxx/user/starrocks/

2.5 启动FE服务(sr3.3需要 jdk11或者jdk17,建议提前安装)

./bin/start_fe.sh --daemon

./bin/stop_fe.sh --daemon

2.6 验证服务

2.6.1 查看FE节点服务是否正常

cat fe/log/fe.log | grep thrift

2024-07-28 15:35:12.676+08:00 INFO (UNKNOWN 10.177.54.201_9010_1722151478821(-1)|1) [FrontendThriftServer.start():65] thrift server started with port 9020

2.6.2 查看web ui是否正常

在浏览器访问http://ip:http_port(默认 http_port 为 8030),用户名为 root,密码为空

3、BE服务启动

-存算分离模式服务不需要启动,CN的配置需要和BE配置保持一致

3.1 创建数据存储目录

# Replace <storage_root_path> with the data storage directory you want to create.
mkdir -p <storage_root_path>

3.2 服务端口检测

  • 9060: BE Thrift server port (be_port)
  • 8040: BE HTTP server port (be_http_port)
  • 9050: BE heartbeat service port (heartbeat_service_port)
  • 8060: BE bRPC port (brpc_port)
  • 9070: An extra agent service port for BE and CN (starlet_port)

检测BE服务的端口是否被占用

netstat -tunlp | grep 9060
netstat -tunlp | grep 8040
netstat -tunlp | grep 9050
netstat -tunlp | grep 8060
netstat -tunlp | grep 9070

如果出现端口冲突对应的服务端口需要做调整,否则使用默认端口部署

3.3  修改be配置be/conf/be.conf

# Replace <storage_root_path> with the data storage directory you want to create.
mkdir -p <storage_root_path>

storage_root_path = /root/StarRocks-3.3.0-rc01/be/storage

3.4 设置单独的java环境be/conf/be.conf

如果本地默认是java8环境,可以单独对sr进行环境配置

# Replace <path_to_JDK> with the path where the chosen JDK is installed.
JAVA_HOME = /root/jdk-17.0.11

3.5 启动BE服务

./be/bin/start_be.sh --daemon

3.6 验证BE服务是否启动正常

cat be/log/be.INFO | grep heartbeat

I0728 17:26:12.504830 465572 thrift_server.cpp:383] heartbeat has started listening port on 9050

I0728 17:26:12.504838 465572 starrocks_be.cpp:267] BE start step 13: start heartbeat server successfully

4、启动CN服务

(存算分离模式)需要启动,请保证BE服务在同一节点没有启动

4.1 CN 配置通BE配置,保持be/conf/be.conf和be/conf/cn.conf一致

增加:

storage_root_path = /root/StarRocks-3.3.0-rc01/be/storage

JAVA_HOME = /root/jdk-17.0.11

4.2 启动CN服务

./be/bin/start_cn.sh --daemon

4.2 检查CN服务是否正常

cat be/log/cn.INFO | grep heartbeat

I0728 17:48:29.443526 474653 thrift_server.cpp:383] heartbeat has started listening port on 9050

I0728 17:48:29.443535 474653 starrocks_be.cpp:267] CN start step 13: start heartbeat server successfully

5、集群部署

5.1 在mysql客户端连接fe服务

# Replace <fe_address> with the IP address (priority_networks) or FQDN
# of the Leader FE node, and replace <query_port> (Default: 9030)
# with the query_port you specified in fe.conf.
mysql -h <fe_address> -P<query_port> -uroot

然后执行下面命令,可以看到FE节点的状态

SHOW PROC '/frontends'\G

5.2  把BE节点加入到集群中来

-- Replace <be_address> with the IP address (priority_networks) 
-- or FQDN of the BE nodes, and replace <heartbeat_service_port> 
-- with the heartbeat_service_port (Default: 9050) you specified in be.conf.
ALTER SYSTEM ADD BACKEND "<be_address>:<heartbeat_service_port>";

5.3 查看BE节点状态-存算分离状态可以不用加入

SHOW PROC '/backends'\G

5.4 把CN节点加入到集群

-- Replace <cn_address> with the IP address (priority_networks) 
-- or FQDN of the CN node, and replace <heartbeat_service_port> 
-- with the heartbeat_service_port (Default: 9050) you specified in cn.conf.
ALTER SYSTEM ADD COMPUTE NODE "<cn_address>:<heartbeat_service_port>";

使用下面命令查看

SHOW PROC '/compute_nodes'\G

看到Alive都是true后表示服务加入成功

6、hdfs相关配置

  • 如果 HDFS 集群开启了高可用(High Availability,简称为“HA”)模式,则需要将 HDFS 集群中的 hdfs-site.xml 文件放到每个 FE 的 $FE_HOME/conf 路径下、以及每个 BE 的 $BE_HOME/conf 路径(或每个 CN 的 $CN_HOME/conf 路径)下。

  • 如果 HDFS 集群配置了 ViewFs,则需要将 HDFS 集群中的 core-site.xml 文件放到每个 FE 的 $FE_HOME/conf 路径下、以及每个 BE 的 $BE_HOME/conf 路径(或每个 CN 的 $CN_HOME/conf 路径)下

7、hadoop集群开启kerbos情况下,需要进行配置修改

  • 在每个 FE 和 每个 BE(或 CN)上执行 kinit -kt keytab_path principal 命令,从 Key Distribution Center (KDC) 获取到 Ticket Granting Ticket (TGT)。执行命令的用户必须拥有访问 HMS 和 HDFS 的权限。注意,使用该命令访问 KDC 具有时效性,因此需要使用 cron 定期执行该命令。
  • 在每个 FE 的 $FE_HOME/conf/fe.conf 文件和每个 BE 的 $BE_HOME/conf/be.conf 文件(或每个 CN 的 $CN_HOME/conf/cn.conf 文件)中添加 JAVA_OPTS="-Djava.security.krb5.conf=/etc/krb5.conf"。其中,/etc/krb5.conf 是 krb5.conf 文件的路径,可以根据文件的实际路径进行修改

8、创建hive catalog

CREATE EXTERNAL CATALOG hive_catalog
PROPERTIES ("type"="hive",
"enable_metastore_cache" = "true",
"metastore_cache_refresh_interval_sec"="30",
            "hive.metastore.type" = "hive",
            "hive.metastore.uris"="thrift://198.28.1.83:9083,thrift://198.28.1.84:9083");
            
SHOW CATALOGS;
SHOW DATABASES FROM hive_catalog;
SELECT * from hive_catalog.ods01.ods_uf20_hs_asset_clientInfo LIMIT 10;

9、其他命令

查看计算节点

 show compute nodes;

查看fe;

show frontends;

查看be;

show backends;

删除catalog

drop catalog hive_cata;

10、常见问题

10.1 

2024-07-29 23:08:45.587+08:00 ERROR (starrocks-mysql-nio-pool-4|2463) [MetadataMgr.listDbNames():211] Failed to listDbNames on catalog hive_cata
com.starrocks.connector.exception.StarRocksConnectorException: Failed to getAllDatabases, msg: null

原因:集群初始化时为存算一体,SR不支持随意变更存算一体和存算分离,需要手动修改配置

解决方案:采用存算模式下,FE配置需要变更

run_mode = shared_data
cloud_native_storage_type = HDFS
storage_root_path = hdfs://xxx/user/starrocks/

并且手动修改VERION信息的run_mode使之和配置保持一致

vim /data/store/StarRocks/meta/image/VERSION

run_mode = shared_data

社区文档参考:

Deploy StarRocks manually | StarRocks

Hive catalog | StarRocks

ALTER SYSTEM | StarRocks

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1958961.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#知识|文件与目录操作:文本读写操作

哈喽,你好啊,我是雷工! 今天学习文件与目录的操作,以下为文本读写操作的学习笔记。 01 文件操作说明 1.1、数据的存取方式 数据库:适合存取大量且关系复杂并有序的数据; 文件:适合存取大量但数据关系简单的数据,像系统的日志文件; 1.2、文件存取的优点 ①:读取操…

根据ip地址能查询出具体地址吗?

在数字化时代&#xff0c;互联网已成为我们日常生活不可或缺的一部分&#xff0c;而IP地址作为网络世界的“身份证”&#xff0c;承载着每一台设备在网络中的唯一标识。你是否曾经好奇&#xff0c;通过一串看似无意义的数字组合——IP地址&#xff0c;我们究竟能否揭开其背后的…

springboot校园失物招领系统-计算机毕业设计源码17082

目 录 摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文结构与章节安排 2 相关技术介绍 2.1 B/S结构 2.2 Spring Boot框架 2.3 MySQL数据库 3系统分析 3.1 可行性分析 3.2 系统流程分析 3.2.1 数据新增流程 3.2.2 数据删除流程 3.3 系统功能分析 3.3.1 功能性分…

解决亚马逊测评困境:买家号支付失败与砍单率高的应对策略

在销售旺季期间&#xff0c;众多商家倾向于采用自建买家账号进行产品评价&#xff0c;以期快速提升产品权重。然而&#xff0c;不少商家在此过程中遭遇了订单无法成功提交或遭遇高比例订单取消的困境。部分商家首先怀疑的是支付卡的问题&#xff0c;也有部分认为IP地址可能已被…

拥抱人工智能浪潮,95后如何为未来职场做好准备?

随着毕业季的落幕&#xff0c;新一代青年力量步入社会&#xff0c;他们面临的是一个正在被人工智能深刻改变的劳动力市场。特别是对于“95后”这一群体&#xff0c;如何在即将席卷而来的人工智能革命中站稳脚跟&#xff0c;甚至乘风破浪&#xff0c;成为摆在他们面前的重要课题…

在 Kali Linux 虚拟机中实现主机代理共享的详细指南

Kali Linux 是网络安全和渗透测试领域中广泛使用的操作系统。它提供了丰富的工具和灵活的环境&#xff0c;适合各种网络安全任务。在某些情况下&#xff0c;您可能需要通过主机的代理服务器来实现特定的网络配置&#xff0c;以便更好地保护隐私或进行网络测试。这篇文章将详细介…

昇思25天学习打卡营第18天|xiaoyushao

今天分享基于MobileNetv2的垃圾分类。读取本地图像数据作为输入&#xff0c;对图像中的垃圾物体进行检测&#xff0c;并且将检测结果图片保存到文件中。 目录 一、 MobileNetv2模型原理介绍 二、 数据处理 1. 数据准备 2. 数据加载 3. 数据预处理 三、 MobileNetv2模型搭建 四、…

Redis 7.x 系列【34】Spring Boot 集成

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Redis 版本 7.2.5 源码地址&#xff1a;https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 前言2. Spring Data Redis3. Spring Boot Data Redis Starter3.1 起步依赖3.2 自动…

精品PPT | 微信云原生大数据平台构建及落地实践.pptx

一、大数据上云概述 1.为什么大数据要上云 2.微信大数据平台架构演进 二、大数据上云基础建设 1.统一编排 2.Pod 设计及大数据配套能力 3.计算组件云环境适配 三、稳定性及效率提升 1.K8S 集群稳定性与弹性配额 2.可观测性与智能运维

Java学习笔记(六)面向对象编程(基础部分)

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍Java面向对象编程&#xff08;基础部分&#xff09;类与对象、方法重载、作用域、构造器细节、this关键字、可变参数使用以及部分理论知识 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1…

C# 12 新增功能实操!

前言 今天咱们一起来探索并实践 C# 12 引入的全新功能&#xff01; C#/.NET该如何自学入门&#xff1f; 注意&#xff1a;使用这些功能需要使用最新的 Visual Studio 2022 版本或安装 .NET 8 SDK 。 主构造函数 主构造函数允许你直接在类定义中声明构造函数参数&#xff0c;…

停车共享小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;停车场管理&#xff0c;停车预约管理&#xff0c;停车缴费管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;停车场&#xff0c;我的 开发系统&…

主图趋势交易九稳量化系统 期货指标公式大全 最准的期货指标源码 看期货涨跌最简单的方法文华财经指标公式源码

交易的动机必须来自于内心&#xff0c;一种解决问题的执着。在整个交易生涯的漫长岁月里&#xff0c;无法始终保持这种热忱。除非亲身体验&#xff0c;否则很难理解这种疯狂的热忱。这是一种高度的专注&#xff0c;其他一切好像都不存在&#xff0c;视野之内没有其他的东西。这…

【STL】之 vector 使用方法及模拟实现

前言&#xff1a; 本文主要讲在C STL库中vector容器的使用方法和底层的模拟实现~ 成员变量的定义&#xff1a; 对于vector容器&#xff0c;我们首先采用三个成员变量去进行定义&#xff0c;分别是&#xff1a; private:iterator _start; // 指向数据块的开始iterator _finish…

论文解读(10)-图神经网络

加油&#xff0c;继续看论文。 这次学图神经网络&#xff0c;这个概念经常在其他论文里出现&#xff0c;所以我想先学习一下这方面的知识。 参考&#xff1a; 【图神经网络综述】一文道尽GNN原理、框架和应用-CSDN博客 【图神经网络】10分钟掌握图神经网络及其经典模型_图神经…

网络爬虫必备工具:代理IP科普指南

文章目录 1. 网络爬虫简介1.1 什么是网络爬虫&#xff1f;1.2 网络爬虫的应用领域1.3 网络爬虫面临的主要挑战 2. 代理IP&#xff1a;爬虫的得力助手2.1 代理IP的定义和工作原理2.2 为什么爬虫需要代理IP&#xff1f;2.3 代理IP如何解决爬虫的常见问题&#xff1f; 3. 代理IP的…

shapeit填充

使用shapeit软件进行填充 一&#xff0c;安装 下载地址&#xff0c; 官网里面写得很详细。 https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/shapeit.html 二&#xff0c;步骤 官网里面每一个参数都很详细 1.拆分染色体 for chr in {1..24}; do plink --vcf /…

基于dcm4chee搭建的PACS系统讲解(三)服务端使用Rest API获取study等数据

文章目录 DICOMWeb Support模块主要数据结构ER查询信息基本信息metadata信息统计信息 实践查询API及参数解析API返回的json数组定义VRObjectNodeObjectMapper解析显示指定tag并解析 后记 前期预研的PACS系统&#xff0c;近期要在项目中上线了。因为PACS系统采用无权限认证&…

Embeddings 赋能 - AI智能匹配,呈现精准内容

&#x1f680;前言 在当今的 AI 时代,传统的相关内容推荐和搜索功能已经显得相对简单和低效。借助 AI 技术,我们可以实现更加智能化和个性化的内容发现体验。 本文将为大家介绍如何利用 OpenAI 的 Embedding 技术,打造出智能、高效的相关内容推荐和搜索功能。 &#x1f680;…

UCOS-III 互斥锁接口详解

在实时操作系统uC/OS-III中&#xff0c;互斥锁&#xff08;Mutex&#xff09;是一种用于管理对共享资源的访问的同步机制。互斥锁通过保证在任何时刻只有一个任务可以持有锁&#xff0c;从而防止资源竞争问题。同时&#xff0c;uC/OS-III还实现了递归锁定和优先级继承机制&…