背景:最近几年OLAP数据库可谓是百家争鸣,许多产品都陆陆续续的展现出来,不过最近据说StarRocks的综合能力比较好,对比于Clickhouse这种强大的竞品也毫不逊色!

下方是官方给出的一些资料介绍,我这里截取了几张比较重要的图(官方文档传送门:StarRocks @ StarRocks_intro @ StarRocks DocsStarRockshttps://docs.starrocks.com/zh-cn/main/introduction/StarRocks_intro)

1.发展路程

2.生态情况

3.ClickHouse对比StarRocks

下面是集群的搭建过程以及遇到的坑:

一、下载官方的tar包

这里有社区版和收费版,是国内百度开源的一款产品并且有一定的商业性质。和阿里云DataX走的路线是一样的,有开源和收费版本!

我这里并没有下载最新版2.1,而是1.9版的最新版

二、在Linux部署StarRocks

1.首先需要Linux需要JDK环境,建议使用jdk8

安装之前先使用命令检查CPU是否支持,有信息输出则支持,没信息输出则不支持建议更换机器

cat /proc/cpuinfo |grep avx2

2.解压安装包

tar -zxvf StarRocks-1.19.7.tar.gz -C ../module

3.编辑fe.conf 根据实际情况分配内存资源

官方默认是8G,可根据实际情况调整,我这里就不改了

4.fe目录下创建文件夹 meta

mkdir -p meta

5.启动fe进程

/opt/module/StarRocks-1.19.7/fe/bin/start_fe.sh --daemon

6.使用mysql连接查看fe节点信息

mysql -h hadoop102 -uroot -P9030

SHOW PROC '/frontends'\G

这里出现问题了:明明我的nat模式下主机ip是192.168.1.102但是starrocksfe节点却显示192.168.122.1,这个问题疑惑了我很久,在官网论坛寻找的解决方案

都说是配置这两个参数能有效果

但是结果不尽人意

但是我还不死心,总感觉自己配错了,于是把所有可能出现的情况全部配置了一遍

在fe.conf文件中:

方案1、什麽都不添加 mysql客户端正常启动 但是SHOW PROC '/frontends'\G ip显示192.168.122.1
方案2、priority_networks = 192.168.1.102 mysql客户端无法启动
方案3.、frontend_address = 192.168.1.102 mysql客户端无法启动
方案4、priority_networks = 192.168.1.102/24 mysql客户端无法启动
方案5、priority_networks = 192.168.1.102/16 mysql客户端可以启动 但是 SHOW PROC '/frontends'\G 依然显示 192.168.122.1

mysql客户端无法启动如下图所示:

一看到这,所有可能都试了,都没有解决,于是就打起了修改virbr0网卡ip地址的方案

接下来尝试着把virbr0网卡的ip也改为192.168.1.102,其实这样子是可以的,两块网卡使用同一个ip地址(这种技术在业界已经很成熟了)

vim /etc/libvirt/qemu/networks/default.xml

跟改为

然后重启机器,此时看不到virbr0网卡不显示了,具体情况俺也不清楚,不是这网络方面的行家

再次 SHOW PROC '/frontends'\G 显示正常

现在只是在hadoop102机器部署了starrocks,现在需要在其他机器部署

将StarRocks-1.19.7分发到hadoop103和hadoop104机器上

7.添加其他节点的fe

然后hadoop03和hadoop04分别开启fe进程

/opt/module/StarRocks-1.19.7/fe/bin/start_fe.sh --daemon

最后每个机器都有fe进程

ALTER SYSTEM ADD FOLLOWER "hadoop103:9010";
ALTER SYSTEM ADD OBSERVER "hadoop104:9010";

再次在hadoop102上 SHOW PROC '/frontends'\G 就有三台机器都部署了fe节点

hadoop103和hadoop104的fe节点并不是alive,是官网的一个bug,不影响后续使用

8.部署be节点

be目录下创建storage文件夹

mkdir -p storage

在每台机器上启动be节点 /opt/module/StarRocks-1.19.7/be/bin/start_be.sh --daemon

添加be节点

ALTER SYSTEM ADD BACKEND "hadoop102:9050";
ALTER SYSTEM ADD BACKEND "hadoop103:9050";
ALTER SYSTEM ADD BACKEND "hadoop104:9050";

成功后如图

9.部署broker节点

每台机器启动broker进程

/opt/module/StarRocks-1.19.7/apache_hdfs_broker/bin/start_broker.sh --daemon

ALTER SYSTEM ADD BROKER broker1 "hadoop102:8000";
ALTER SYSTEM ADD BROKER broker2 "hadoop103:8000";
ALTER SYSTEM ADD BROKER broker3 "hadoop104:8000";

三、使用StarRocks

以下是使用官网的建表样例

创建表 @ Create_table @ StarRocks Docs创建表https://docs.starrocks.com/zh-cn/main/quick_start/Create_table

四、出现错误中重新安装的所有命令(很快捷,部署过程1min以内)

出现问题重装starrocks:所有机器 cd /opt/module/ && rm -rf StarRocks-1.19.7/
第一台机器 tar -zxvf /opt/software/StarRocks-1.19.7.tar.gz -C /opt/module第一台机器 cd /opt/module/StarRocks-1.19.7/fe && mkdir -p meta
第一台机器 cd /opt/module/StarRocks-1.19.7/be && mkdir -p storage第一台机器 /opt/module/StarRocks-1.19.7/fe/bin/start_fe.sh --daemon第一台机器 mysql -h hadoop102 -uroot -P9030第一台机器 SHOW PROC '/frontends'\G第一台机器 xsync /opt/module/StarRocks-1.19.7fe节点在第二、三台机器首次启动
/opt/module/StarRocks-1.19.7/fe/bin/start_fe.sh --helper hadoop102:9010 --daemonfe节点在第二、三台机器后续启动
/opt/module/StarRocks-1.19.7/fe/bin/start_fe.sh所有机器
/opt/module/StarRocks-1.19.7/be/bin/start_be.sh --daemon
/opt/module/StarRocks-1.19.7/apache_hdfs_broker/bin/start_broker.sh --daemon第一台机器
ALTER SYSTEM ADD FOLLOWER "hadoop103:9010";
ALTER SYSTEM ADD OBSERVER "hadoop104:9010";ALTER SYSTEM ADD BACKEND "hadoop102:9050";
ALTER SYSTEM ADD BACKEND "hadoop103:9050";
ALTER SYSTEM ADD BACKEND "hadoop104:9050";ALTER SYSTEM ADD BROKER broker1 "hadoop102:8000";
ALTER SYSTEM ADD BROKER broker2 "hadoop103:8000";
ALTER SYSTEM ADD BROKER broker3 "hadoop104:8000";SHOW PROC '/frontends'\G
SHOW PROC '/backends'\G
SHOW PROC '/brokers'\Gcreate database example_db;
use example_db;
CREATE TABLE IF NOT EXISTS detailDemo (make_time     DATE           NOT NULL COMMENT "YYYY-MM-DD",mache_verson  TINYINT        COMMENT "range [-128, 127]",mache_num     SMALLINT       COMMENT "range [-32768, 32767] ",de_code       INT            COMMENT "range [-2147483648, 2147483647]",saler_id      BIGINT         COMMENT "range [-2^63 + 1 ~ 2^63 - 1]",pd_num        LARGEINT       COMMENT "range [-2^127 + 1 ~ 2^127 - 1]",pd_type       CHAR(20)        NOT NULL COMMENT "range char(m),m in (1-255) ",pd_desc       VARCHAR(500)   NOT NULL COMMENT "upper limit value 65533 bytes",us_detail     STRING         NOT NULL COMMENT "upper limit value 65533 bytes",relTime       DATETIME       COMMENT "YYYY-MM-DD HH:MM:SS",channel       FLOAT          COMMENT "4 bytes",income        DOUBLE         COMMENT "8 bytes",account       DECIMAL(12,4)  COMMENT "",ispass        BOOLEAN        COMMENT "true/false"
) ENGINE=OLAP
DUPLICATE KEY(make_time, mache_verson)
PARTITION BY RANGE (make_time) (START ("2022-03-11") END ("2022-03-15") EVERY (INTERVAL 1 day)
)
DISTRIBUTED BY HASH(make_time, mache_verson) BUCKETS 8
PROPERTIES("replication_num" = "3","dynamic_partition.enable" = "true","dynamic_partition.time_unit" = "DAY","dynamic_partition.start" = "-3","dynamic_partition.end" = "3","dynamic_partition.prefix" = "p","dynamic_partition.buckets" = "8"
);desc detailDemo;

可能出现的问题SHOW PROC '/backends'\G 并不是所有节点都是alive,重启机器过段时间即可,猜想是组件还不够稳定,或者我的机器自身故障,但是重启就能解决,三台机器都重启啊!

五、总结

1.目前只是初步搭建简易版starrocks集群供体验,把这个流程走通。

2.部署过程中发现的问题如下:

1)fe节点显示192.168.122.1问题,并不是主机的ip,这个问题蛮严重的后面会导致部署无法成功

2)fe节点的状态显示有两台是 Alive: false(据说是自身的bug),欢迎其他同学在评论区讨论!

六、展望

希望StarRocks能给用户带来良好的体验,在OLAP领域不断完善!

Starrocks集群部署相关推荐

  1. 第1.5章:StarRocks部署--集群部署

    StarRocks作为新一代MPP数据库,集群部署才能充分发挥其彪悍的查询性能.生产环境下我们也推荐进行集群化部署,本章内容我们就模拟生产环境下StarRocks集群部署. 在"1.1章 源 ...

  2. StarRocks 集群安装部署文档

    下表为规划的集群组件分配 域名 starrocks1 starrocks2 starrocks3 组件 mysql.FE(follower).BE1.datax-executor.datax FE(l ...

  3. Kylin集群部署和cube使用

    Kylin集群部署和cube使用 安装集群环境 节点 Kylin节点模式 Ip 内存 磁盘 Node1 All 192.167.71.11 2G 80G Node2 query 192.168.71. ...

  4. 堡垒机jumpserver集群部署

    本文参考老广二次开发后的堡垒机部署方案,在此基础上进行集群部署,提高其可靠性.尽管国外已经有类似的功能的堡垒机的发布,但是还是要感谢老广在百忙之中开发出更加实用的堡垒机. 本文内容虽然亲测,但内容难免 ...

  5. 百度开源联邦学习框架 PaddleFL:简化大规模分布式集群部署

    百度开源联邦学习框架 PaddleFL:简化大规模分布式集群部署 作者 | 钰莹近两年,联邦学习技术发展迅速.作为分布式的机器学习范式,联邦学习能够有效解决数据孤岛问题,让参与方在不共享数据的基础上联 ...

  6. 手动安装K8s第三节:etcd集群部署

    手动安装K8s第三节:etcd集群部署 准备安装包 https://github.com/coreos/etcd 版本:3.2.18 wget https://github.com/coreos/et ...

  7. zookeeper+kafka集群部署+storm集群

    zookeeper+kafka集群部署+storm集群 一.环境安装前准备: 准备三台机器 操作系统:centos6.8 jdk:jdk-8u111-linux-x64.gz zookeeper:zo ...

  8. Linux集群部署和ipvsadm命令的使用

    在日常的使用中,一台服务器足够胜任很多的工作,但是当很多人同时访问的时候就会显得稍有些无力,这个时候.可以有两种解决的方法,第一种是不断的改善这台服务器的性能,但是总是会有一个上限存在,而且提升的效果 ...

  9. Ceph v12.2 Luminous基于ubuntu16.04集群部署

    第一次接触ceph集群,感谢官方的指导文档和许多网友提供的教程,糊糊涂涂算是把集群部署起来了.由于Luminous12.2刚发布不久,部署起来跟旧版本还是有些许差别,所以以此做下笔记也给需要的人做下参 ...

最新文章

  1. 一文读懂MQTT协议
  2. Django + Uwsgi + Nginx 的生产环境部署项目知识点
  3. linux下安装c/c++环境(gcc/gcc+)
  4. 一块网卡设置多个IP地址
  5. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 6丨统计各专业学生人数【难度中等】
  6. 业内人士惊暴网络求职黑幕!
  7. js为链接绑定点击事件并且附带return false;来阻止跳转
  8. CleanCodeHandbook Chapter 4: Binary Tree(25-32)
  9. Error inflating class android.webkit.WebView Caused by: ...: String resource ID #0x2040003
  10. Python调用go function
  11. 中国手机号的正则表达式匹配规则
  12. Git 团队协作中常用检查术语 WIP PTAL CC LGTM 等解释
  13. vue源码学习(第一张) this访问data数据 拆散之后并不难
  14. Kodi+Alist v3 挂载阿里云盘他人分享链接打造在线影视库
  15. pgpool-Ⅱ一主两从同步流读写分离高可用方案测试
  16. @Around环绕增强
  17. SAP UI5 Cross Application Navigation (跨应用间跳转)的本地模拟实现试读版
  18. 自行车碟刹与V刹的区别以及优缺点
  19. 零基础Unreal Engine 4(UE4)图文笔记之准备篇(一)
  20. 在安卓手机上实现莫尔斯编码器

热门文章

  1. cad图纸怎么看懂_如何看懂CAD图?
  2. 三十二楼层选几层最好_32楼层的选择几层最好 住楼房几层最好风水
  3. 安卓IOS客户端调试webview页面的方法,支持实时预览
  4. Wordpress网页直接插入bilibili视频方法
  5. 【8022】产品管理与产品营销的区别
  6. DropDownList 控件
  7. fedora与redhat的区别
  8. aix 查询db2客户端版本_怎么看DB2的版本啊?
  9. C#中改变工具条ToolStrip的位置/宽度/高度?
  10. 智能制造 | 机器视觉系统,直击纺织行业人工质检痛点难点,提升缺陷检出精准度至99.9%