第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架构,来进行下一步的代码学习和开发调试了。

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值