Starrocks集群部署
背景:最近几年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.5章:StarRocks部署--集群部署
StarRocks作为新一代MPP数据库,集群部署才能充分发挥其彪悍的查询性能.生产环境下我们也推荐进行集群化部署,本章内容我们就模拟生产环境下StarRocks集群部署. 在"1.1章 源 ...
- StarRocks 集群安装部署文档
下表为规划的集群组件分配 域名 starrocks1 starrocks2 starrocks3 组件 mysql.FE(follower).BE1.datax-executor.datax FE(l ...
- Kylin集群部署和cube使用
Kylin集群部署和cube使用 安装集群环境 节点 Kylin节点模式 Ip 内存 磁盘 Node1 All 192.167.71.11 2G 80G Node2 query 192.168.71. ...
- 堡垒机jumpserver集群部署
本文参考老广二次开发后的堡垒机部署方案,在此基础上进行集群部署,提高其可靠性.尽管国外已经有类似的功能的堡垒机的发布,但是还是要感谢老广在百忙之中开发出更加实用的堡垒机. 本文内容虽然亲测,但内容难免 ...
- 百度开源联邦学习框架 PaddleFL:简化大规模分布式集群部署
百度开源联邦学习框架 PaddleFL:简化大规模分布式集群部署 作者 | 钰莹近两年,联邦学习技术发展迅速.作为分布式的机器学习范式,联邦学习能够有效解决数据孤岛问题,让参与方在不共享数据的基础上联 ...
- 手动安装K8s第三节:etcd集群部署
手动安装K8s第三节:etcd集群部署 准备安装包 https://github.com/coreos/etcd 版本:3.2.18 wget https://github.com/coreos/et ...
- zookeeper+kafka集群部署+storm集群
zookeeper+kafka集群部署+storm集群 一.环境安装前准备: 准备三台机器 操作系统:centos6.8 jdk:jdk-8u111-linux-x64.gz zookeeper:zo ...
- Linux集群部署和ipvsadm命令的使用
在日常的使用中,一台服务器足够胜任很多的工作,但是当很多人同时访问的时候就会显得稍有些无力,这个时候.可以有两种解决的方法,第一种是不断的改善这台服务器的性能,但是总是会有一个上限存在,而且提升的效果 ...
- Ceph v12.2 Luminous基于ubuntu16.04集群部署
第一次接触ceph集群,感谢官方的指导文档和许多网友提供的教程,糊糊涂涂算是把集群部署起来了.由于Luminous12.2刚发布不久,部署起来跟旧版本还是有些许差别,所以以此做下笔记也给需要的人做下参 ...
最新文章
- 一文读懂MQTT协议
- Django + Uwsgi + Nginx 的生产环境部署项目知识点
- linux下安装c/c++环境(gcc/gcc+)
- 一块网卡设置多个IP地址
- 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 6丨统计各专业学生人数【难度中等】
- 业内人士惊暴网络求职黑幕!
- js为链接绑定点击事件并且附带return false;来阻止跳转
- CleanCodeHandbook Chapter 4: Binary Tree(25-32)
- Error inflating class android.webkit.WebView Caused by: ...: String resource ID #0x2040003
- Python调用go function
- 中国手机号的正则表达式匹配规则
- Git 团队协作中常用检查术语 WIP PTAL CC LGTM 等解释
- vue源码学习(第一张) this访问data数据 拆散之后并不难
- Kodi+Alist v3 挂载阿里云盘他人分享链接打造在线影视库
- pgpool-Ⅱ一主两从同步流读写分离高可用方案测试
- @Around环绕增强
- SAP UI5 Cross Application Navigation (跨应用间跳转)的本地模拟实现试读版
- 自行车碟刹与V刹的区别以及优缺点
- 零基础Unreal Engine 4(UE4)图文笔记之准备篇(一)
- 在安卓手机上实现莫尔斯编码器
热门文章
- cad图纸怎么看懂_如何看懂CAD图?
- 三十二楼层选几层最好_32楼层的选择几层最好 住楼房几层最好风水
- 安卓IOS客户端调试webview页面的方法,支持实时预览
- Wordpress网页直接插入bilibili视频方法
- 【8022】产品管理与产品营销的区别
- DropDownList 控件
- fedora与redhat的区别
- aix 查询db2客户端版本_怎么看DB2的版本啊?
- C#中改变工具条ToolStrip的位置/宽度/高度?
- 智能制造 | 机器视觉系统,直击纺织行业人工质检痛点难点,提升缺陷检出精准度至99.9%