搭建简易版StartRocks数据库

2023-10-25 04:50

本文主要是介绍搭建简易版StartRocks数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

获取二进制产品包

https://www.starrocks.com/zh-CN/download/request-download/5

tar -xzvf StarRocks-1.8.2.tar.gz

重命名:mv StarRocks-1.8.2/ start_rocks1.8.2

目录内容如下:

StarRocks-XX-1.0.0
├── be  # BE目录
│   ├── bin
│   │   ├── start_be.sh # BE启动命令
│   │   └── stop_be.sh  # BE关闭命令
│   ├── conf
│   │   └── be.conf     # BE配置文件
│   ├── lib
│   │   ├── starrocks_be  # BE可执行文件
│   │   └── meta_tool
│   └── www
├── fe  # FE目录
│   ├── bin
│   │   ├── start_fe.sh # FE启动命令
│   │   └── stop_fe.sh  # FE关闭命令
│   ├── conf
│   │   └── fe.conf     # FE配置文件
│   ├── lib
│   │   ├── starrocks-fe.jar  # FE jar包
│   │   └── *.jar           # FE 依赖的jar包
│   └── webroot
└── udf

环境准备

准备三台物理机, 需要以下环境支持:

  • Linux (Centos 7+)
  • Java 1.8+

CPU需要支持AVX2指令集, cat /proc/cpuinfo |grep avx2有结果输出表明CPU支持,如果没有支持,建议更换机器,StarRocks使用向量化技术需要一定的指令集支持才能发挥效果。

FE单实例部署

第一步: 定制配置文件conf/fe.conf

LOG_DIR = /data_disk/star_rocks/logDATE = "$(date +%Y%m%d-%H%M%S)"
# 可以根据FE内存大小调整 -Xmx4096m,为了避免GC建议16G以上,StarRocks的元数据都在内存中保存。
JAVA_OPTS="-Xmx4096m -XX:+UseMembar -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkE    nabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:/data_disk/star_rocks/log/fe.gc.log.$DATE"sys_log_level = INFOmeta_dir = /data_disk/star_rocks/doris-metahttp_port = 8030
rpc_port = 9020
query_port = 9030
edit_log_port = 9010
mysql_service_nio_enabled = true

第二步: 创建元数据目录:

mkdir -p /data_disk/star_rocks/doris-meta
mkdir -p /data_disk/star_rocks/log

第三步: 启动FE进程:

bin/start_fe.sh --daemon

第四步: 确认启动FE启动成功.

查看日志log/fe.log确认.

2020-03-16 20:32:14,686 INFO 1 [FeServer.start():46] thrift server started.2020-03-16 20:32:14,696 INFO 1 [NMysqlServer.start():71] Open mysql server success on 90302020-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...

启动成功后,使用浏览器访问8030端口, 打开StarRocks的WebUI, 用户名为root, 密码为空.:

如果FE启动失败,可能是由于端口号被占用,修改配置文件conf/fe.conf中的端口号http_port。

使用jps命令查看java进程确认"StarRocksFe"存在.

第一步: 使用mysql客户端连接:

mysql -h 127.0.0.1 -P9030 -uroot

注意:这里默认root用户密码为空,端口为fe/conf/fe.conf中的query_port配置项,默认为9030

第二步: 查看FE状态:

Role为FOLLOWER说明这是一个能参与选主的FE;IsMastertrue,说明该FE当前为主节点。

如果MySQL客户端连接不成功,请查看log/fe.warn.log日志文件,确认问题。

由于是初次启动,如果在操作过程中遇到任何意外问题,都可以删除并重新创建FE的元数据目录,再从头开始操作。

部署BE

BE的基本配置

BE的配置文件为star_rocks1.8.2/be/conf/be.conf, 默认配置已经足以启动集群, 不建议初尝用户修改配置。

BE部署

用户可使用下面命令添加BE到StarRocks集群, 一般至少部署3个BE实例, 每个实例的添加步骤相同.

cd star_rocks1.8.2/be

第一步: 创建数据目录:

mkdir -p /data_disk/star_rocks/storage

第二步: 通过mysql客户端分别添加BE的3个节点(101,102,103):

mysql> ALTER SYSTEM ADD BACKEND "192.168.153.101:9050";mysql> ALTER SYSTEM ADD BACKEND "192.168.153.102:9050";mysql> ALTER SYSTEM ADD BACKEND "192.168.153.103:9050";

这里IP地址为和priority_networks设置匹配的IP,port默认为9050 如出现错误,需要删除BE节点,应用下列命令:

alter system decommission backend "be_host:be_heartbeat_service_port";
alter system dropp backend "be_host:be_heartbeat_service_port";

第三步: 启动BE:

bin/start_be.sh --daemon

如果提示:

bin/start_be.sh: line 109: ulimit: open files: cannot modify limit: Operation not permitted
需要修改系统文件限制并重启机器。

[lytfly@node102 be]$ sudo vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072


第四步: 查看BE状态, 确认BE就绪:

mysql> SHOW PROC '/backends'\G;
*************************** 1. row ***************************BackendId: 10002Cluster: default_clusterIP: 192.168.153.101HostName: node101HeartbeatPort: 9050BePort: 9060HttpPort: 8040BrpcPort: 8060LastStartTime: 2021-10-08 03:09:11LastHeartbeat: 2021-10-08 03:13:26Alive: trueSystemDecommissioned: false
ClusterDecommissioned: falseTabletNum: 10DataUsedCapacity: .000 AvailCapacity: 7.376 GBTotalCapacity: 16.986 GBUsedPct: 56.58 %MaxDiskUsedPct: 56.58 %ErrMsg: Version: 1.18.2-7b65727Status: {"lastSuccessReportTabletsTime":"2021-10-08 03:13:12"}
*************************** 2. row ***************************BackendId: 11002Cluster: default_clusterIP: 192.168.153.102HostName: node102HeartbeatPort: 9050BePort: 9060HttpPort: 8040BrpcPort: 8060LastStartTime: 2021-10-08 03:13:06LastHeartbeat: 2021-10-08 03:13:26Alive: trueSystemDecommissioned: false
ClusterDecommissioned: falseTabletNum: 5DataUsedCapacity: .000 AvailCapacity: 11.728 GBTotalCapacity: 16.986 GBUsedPct: 30.96 %MaxDiskUsedPct: 30.96 %ErrMsg: Version: 1.18.2-7b65727Status: {"lastSuccessReportTabletsTime":"2021-10-08 03:13:07"}
*************************** 3. row ***************************BackendId: 11003Cluster: default_clusterIP: 192.168.153.103HostName: node103HeartbeatPort: 9050BePort: 9060HttpPort: 8040BrpcPort: 8060LastStartTime: 2021-10-08 03:13:26LastHeartbeat: 2021-10-08 03:13:26Alive: trueSystemDecommissioned: false
ClusterDecommissioned: falseTabletNum: 0DataUsedCapacity: .000 AvailCapacity: 11.725 GBTotalCapacity: 16.986 GBUsedPct: 30.98 %MaxDiskUsedPct: 30.98 %ErrMsg: Version: 1.18.2-7b65727Status: {"lastSuccessReportTabletsTime":"2021-10-08 03:13:27"}
3 rows in set (0.00 sec)

如果isAlivetrue,则说明BE正常接入集群。如果BE没有正常接入集群,请查看log目录下的be.WARNING日志文件确定原因。

如果日志中出现类似以下的信息,说明priority_networks的配置存在问题。

W0708 17:16:27.308156 11473 heartbeat\_server.cpp:82\] backend ip saved in master does not equal to backend local ip127.0.0.1 vs. 172.16.179.26

此时需要,先用以下命令drop掉原来加进去的be,然后重新以正确的IP添加BE。

mysql> ALTER SYSTEM DROPP BACKEND "192.168.153.101:9050";

由于是初次启动,如果在操作过程中遇到任何意外问题,都可以删除并重新创建storage目录,再从头开始操作。

这篇关于搭建简易版StartRocks数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/280134

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是

DM8数据库安装后配置

1 前言 在上篇文章中,我们已经成功将库装好。在安装完成后,为了能够更好地满足应用需求和保障系统的安全稳定运行,通常需要进行一些基本的配置。下面是一些常见的配置项: 数据库服务注册:默认包含14个功能模块,将这些模块注册成服务后,可以更好的启动和管理这些功能;基本的实例参数配置:契合应用场景和发挥系统的最大性能;备份:有备无患;… 2 注册实例服务 注册了实例服务后,可以使用系统服务管理,

速了解MySQL 数据库不同存储引擎

快速了解MySQL 数据库不同存储引擎 MySQL 提供了多种存储引擎,每种存储引擎都有其特定的特性和适用场景。了解这些存储引擎的特性,有助于在设计数据库时做出合理的选择。以下是 MySQL 中几种常用存储引擎的详细介绍。 1. InnoDB 特点: 事务支持:InnoDB 是一个支持 ACID(原子性、一致性、隔离性、持久性)事务的存储引擎。行级锁:使用行级锁来提高并发性,减少锁竞争

开源分布式数据库中间件

转自:https://www.csdn.net/article/2015-07-16/2825228 MyCat:开源分布式数据库中间件 为什么需要MyCat? 虽然云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代。如果传统数据易于扩展,可切分,就可以避免单机(单库)的性能缺陷。 MyCat的目标就是:低成本地将现有的单机数据库和应用平滑迁移到“云”端

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计