第1.4章:FE开发环境搭建(拓展篇)
StarRocks的FE是使用Java语言开发的,这里咱们使用IntelliJ IDEA在Windows下进行FE开发环境的搭建。以下演示过程中所用组件的版本信息如下:
工具名称 |
当前版本 |
版本要求 |
备注 |
IntelliJ IDEA |
IntelliJ IDEA 2020.3.4 |
不要过低 |
测试IntelliJ IDEA 2017.3.4无法正常运行代码 |
JDK |
Oracle JDK 1.8.0_201 |
jdk 1.8+ |
也可以使用Open JDK 8 |
Maven |
apache-maven-3.8.2 |
无特别要求 |
|
SQLyog |
SQLyog v12.5.1 |
无 |
新版兼容性会好一些,更推荐使用mysql-client |
1、环境准备
不同于一般的Maven类的项目,若我们直接从git中获取代码放入IDEA中是跑不起来的,我们需要先在StarRocks工程中手动运行maven命令生成一些Java代码来加入到FE工程中用于后续IDEA的编译。在Windows环境下,部分make命令和sh脚本可能无法执行,所以我们可以先在Docker镜像中进行StarRocks的编译,编译的过程中同样会生成那些我们需要用到的Java文件。
编译的详细操作见“第1.1章:StarRocks部署--编译”:
https://blog.csdn.net/ult_me/article/details/121455418https://blog.csdn.net/ult_me/article/details/121455418https://blog.csdn.net/ult_me/article/details/121455418
为减少编译等待时间,在Docker中我们可以只进行FE的编译,单独编译FE的命令为:
[root@26aac0e921d3 starrocks-main]# sh build.sh --clean --fe
编译完成后,生成的我们需要用到的Java文件在fe/fe-core/target/generated-sources 中,我们将整个generated-sources目录拷贝出来备用。
接下来我们准备FE工程代码,首先,我们FE中需要用到的git中的代码有:
例如我们将项目放在本地C盘下的starRocks文件夹中,fe工程主目录结构如下:
为了避免本地多网卡(虚拟网卡)导致的IP识别错误问题,我们需要在fe.conf中提前配置需要用的本地ip,例如我本地当前可与局域网通信的ip为192.168.110.148,则配置如下:
# priority_networks = 10.10.10.0/24;192.168.0.0/16
priority_networks = 192.168.110.148
注意:在配置ip后,还建议将本机的ip配置为固定ip,避免因电脑重启或者其他原因引起本地ip改变,进而导致FE无法正常启动。
fe.conf中的其他配置通常默认即可,若需要修改,可以参考“集群部署”章节进行调整。
在C:\starRocks\fe\fe-core中创建target文件夹,然后我们再将前面生成的generated-sources目录同路径拷贝过来:
2、调试工程
打开IntelliJ IDEA(IDEA已配置jdk和maven),选择Open打开项目,找到我们本地工程的路径:
点击:Trust Project信任项目:
等待项目加载完成,期间会下载依赖,可能需要等待一些时间:
加载完毕,确认没有依赖缺失后,我们找到FE的项目启动文件:
fe/fe-core/src/main/java/com/starrocks/StarRocksFE.java
这里还取个巧,我们先运行Main方法让工程开始build:
再进行工程环境的配置(这样就不用手动添加了):
在这里设置两个运行环境变量,路径都设置为当前工程的主目录C:\starRocks\fe:
STARROCKS_HOME=C:\starRocks\fe
PID_DIR=C:\starRocks\fe
配置完成后点击“Apply”,等待工程Bulid完成和启动,当我们看到日志中出现:
notify new FE type transfer: MASTER
即表明工程已启动成功(若提示没有STARROCKS_HOME等,可以重新执行方法)。
再次提示:FE启动后会将当前的ip信息写入本地文件中,若ip改变会无法正常启动,所以务必要将本机的ip配置为静态ip。
3、访问FE
工程启动成功后,我们可以使用mysql客户端进行访问,这里还以SQLyog为例,使用用户root(默认空密码),端口默认为9030,当习惯性的点“测试连接”时,发现有错误提示:
这是因为第三方客户端在“测试连接”时会发送查询请求,由于当前集群中也确实没有可执行查询的BE节点,所以有了上图的报错。通常我们不用在意,关闭错误提示窗口后直接点击“连接”即可。但若一直有这类提示导致进不到主界面,我们也可以升级版本、更换工具或者直接使用兼容性最好的mysql-client进行访问。
进入SQLyog主界面,查看FE状态:
SHOW frontends;
Alive为true,可确定当前FE工程运行正常:
4、Web端访问
StarRocks社区版的FE和BE都有一个非常易用的Web界面,FE的http端口为8030,BE的http为8040,以咱们IDEA中启动的FE为例(前面的工程中需添加有Web相关的代码,不添加的话只有一个简单的页面),目前的ip为192.168.110.148,那我们就可以打开浏览器,访问:192.168.110.148:8030,在弹出框输入StarRocks当前的用户名密码(root 空),可以看到如下界面:
通过Web页面,我们可以方便的查看集群参数、查询profile、集群状态等等。
至此,FE开发环境搭建完成,后面我们就可以在IDEA中运行FE,在虚拟机CentOS中跑BE(注意需和FE在同一局域网内),组成完整的StarRocks架构,来进行下一步的代码学习和开发调试了。
第1.4章:FE开发环境搭建(拓展篇)相关推荐
- 【正点原子Linux连载】第三章 RV1126开发环境搭建 摘自【正点原子】ATK-DLRV1126系统开发手册
1)实验平台:正点原子RV1126 Linux开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692176265749 3)全套实验源码+手册+视频 ...
- Golang开发环境搭建-Vim篇
Golang开发环境搭建-Vim篇 转自:http://tonybai.com/2014/11/07/golang-development-environment-for-vim/ 虽说sublime ...
- [Java] Web开发环境搭建 - MyEclipse 篇
Web开发环境搭建 - MyEclipse 篇 在前面,我们讲了使用 Eclipse Java EE 来搭建 Java Web 应用程序开发环境. 现在来说下比较流行的 MyEclipse 又是如何搭 ...
- 第二章 STC51开发环境搭建
第二章 搭建开发环境 一.简介 本文介绍搭建开发环境 二.实验平台 单片机型号:STC12C5A60S2 编译软件:KEIL 硬件平台:达芬奇51开发版 三.版权声明 博主:文武先生 声明:喝水不忘 ...
- 《嵌入式系统 - RT-Thread开发笔记》 第三部分 RT-Thread 移植与设备驱动开发 - 第1章 RT-Thread 开发环境搭建 (Ubuntu)
开发环境: Ubuntu:16.04 LTS 开发板:stm32f746-st-nucleo 开发板MCU:STM32F746ZG 1.1准备工作 1.1.1下载源码与安装环境 更新软件源: $ su ...
- 第一章 YUI3开发环境搭建
基本环境搭建 作者是在Ubuntu的环境下开始学习YUI的,YUI3一般和NodeJs等环境整合在一起,开发时对网络的依赖较强烈.所以建议在网络环境良好,并可配置本地代理的机器上学习开发,避免因为依赖 ...
- 《Linux操作系统 - RK3288开发笔记》第2章 G-3288-02开发环境搭建
2.1开发环境 Windows 下有很多虚拟机软件,目前市面上流行的有 VMware 和 VirtualBox. VMware 分为收费专业版 Workstation Pro 和非商用免费版 Work ...
- 《嵌入式系统 - RT-Thread开发笔记》 第三部分 RT-Thread 移植与设备驱动开发 - 第1章 RT-Thread 开发环境搭建(RT-Thread Studio)
开发环境: RT-Thread版本:4.0.4 操作系统:Windows 10 RT-Thread Studio版本:2.1.4 开发板MCU:STM32F746ZG 1.1 RT-Thread St ...
- 【PHP】PHP开发环境搭建——windows篇(apache2.2.22+php5.3.29+mysql5.7)
一直有学习php的想法,也稍微弄过一点点php,以前是用xmpp或者wamp来实现这会让很多初学者盲目,不知道是啥.现在来搭建一遍开发环境,并且说明下每一个的用途. 1.下载apache的http s ...
最新文章
- 【D3】transition API
- emwin读取sd图片_262.3MB/S读取速率,雷克沙1667X这回谁还敢吐槽
- MIME 类型(HttpContext.Response.ContentType)列表
- 【运维】Linux 系统 之 SSH
- 怎么用计算机发出音乐声,解决方案:计算机技巧-如何使显示器的内置扬声器发出声音...
- 配置DATAGUARD 时关于 LOG_FILE_NAME_CONVERT配置错误的解决
- fir.im Weekly - 2016 年 Android 最佳实践列表
- 【LeetCode】3月28日打卡-Day13
- C++ 模板template
- 微信公布10月朋友圈十大谣言 包括牙膏能杀灭幽门螺杆菌等
- Report_客制化报表输出Excel后去0问题(案例)
- 图片阴影怎么设置_HTML5 给图形绘制阴影
- [ANE for Android]Java接口部分引用第三方JAR的解决办法
- 关于防止sql注入的几种手段
- Android 源码结构简介
- php 获取客户端的浏览器信息
- Git patch的使用方法和场景
- 属于计算机网络硬件系统有哪些,下列不属于计算机硬件系统的是()
- 人脑是量子计算机科学实验,你的大脑可能是一台量子计算机
- 1.Hadoop入门