让Flink&Spark开发更简单的一站式大数据框架

让Flink&Spark开发更简单的一站式大数据框架

2022-09-16 0 781
资源编号 38569 最近更新 2022-09-16
¥ 0人民币 升级VIP
立即下载 注意事项
下载不了?请联系网站客服提交链接错误!
增值服务: 安装指导 环境配置 二次开发 模板修改 源码安装

本期推荐的是一个让Flink&Spark开发更简单的一站式大数据框架——StreamX。

让Flink&Spark开发更简单的一站式大数据框架

StreamX是一个让 Apache Spark 和 Apache Flink 开发更简单的一站式大数据框架,StreamX 规范了项目的配置,鼓励函数式编程,定义了最佳的编程方式,并且提供了一系列开箱即用的 Connectors ,标准化了配置、开发、测试、部署、监控、运维的整个过程,开发者只需关心最核心的业务即可,极大地降低学习成本和开发门槛。

主要特性

  • 提供一系列开箱即用的 Connectors
  • 支持项目编译功能(maven 编译)
  • 支持 Applicaion 模式, Yarn-Per-Job 模式启动
  • 快捷的日常操作(任务启动、停止、savepoint,从savepoint恢复)
  • 支持notebook(在线任务开发)
  • 支持任务备份、回滚(配置回滚)
  • 提供 scala 和 java 两套api

功能架构

Streamx 有三部分组成,分别是 streamx-core , streamx-pump 和 streamx-console 。

让Flink&Spark开发更简单的一站式大数据框架

streamx-core

streamx-core 定位是一个开发时框架,提供了一系列开箱即用的 Connector ,扩展了 DataStream 相关的方法,融合了 DataStream 和 Flink sql api。

streamx-pump

streamx-pump 定位是一个数据抽取的组件,类似于 flinkx ,基于 streamx-core 中提供的各种 connector 开发。

streamx-console

streamx-console 是一个综合实时数据平台,低代码 (Low Code) 平台,可以较好地管理 Flink 任务,集成了项目编译、发布、参数配置、启动、 savepoint ,火焰图 (flame graph) ,Flink SQL,监控等诸多功能于一体,大大简化了 Flink 任务的日常操作和维护。

安装部署

1 环境准备

streamx-console 提供了开箱即用的安装包,安装之前对环境有些要求,具体要求如下:

让Flink&Spark开发更简单的一站式大数据框架

目前 StreamX 对 Flink 的任务发布,同时支持 Flink on YARN 和 Flink on Kubernetes 两种模式。

  • Hadoop

使用 Flink on YARN,需要部署的集群安装并配置 Hadoop 的相关环境变量,如你是基于 CDH 安装的 hadoop 环境, 相关环境变量可以参考如下配置:

export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop #hadoop 安装目录
export HADOOP_CONF_DIR=/etc/hadoop/conf
export HIVE_HOME=$HADOOP_HOME/../hive
export HBASE_HOME=$HADOOP_HOME/../hbase
export HADOOP_HDFS_HOME=$HADOOP_HOME/../hadoop-hdfs
export HADOOP_MAPRED_HOME=$HADOOP_HOME/../hadoop-mapreduce
export HADOOP_YARN_HOME=$HADOOP_HOME/../hadoop-yarn
  • Kubernetes

使用 Flink on Kubernetes ,需要额外部署/或使用已经存在的 Kubernetes 集群,请参考 Flink K8s 集成支持 :
http://www.streamxhub.com/docs/flink-k8s/k8s-dev

2 编译安装

你可以选择手动编译安装也可以直接下载编译好的安装包,手动编译安装步骤如下:

git clone https://github.com/streamxhub/streamx.git
cd Streamx
mvn clean install -DskipTests -Denv=prod

顺利的话可以看到编译成功信息:

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Streamx 1.0.0:
[INFO]
[INFO] Streamx ............................................ SUCCESS [  1.882 s]
[INFO] Streamx : Common ................................... SUCCESS [ 15.700 s]
[INFO] Streamx : Flink Parent ............................. SUCCESS [  0.032 s]
[INFO] Streamx : Flink Common ............................. SUCCESS [  8.243 s]
[INFO] Streamx : Flink Core ............................... SUCCESS [ 17.332 s]
[INFO] Streamx : Flink Test ............................... SUCCESS [ 42.742 s]
[INFO] Streamx : Spark Parent ............................. SUCCESS [  0.018 s]
[INFO] Streamx : Spark Core ............................... SUCCESS [ 12.028 s]
[INFO] Streamx : Spark Test ............................... SUCCESS [  5.828 s]
[INFO] Streamx : Spark Cli ................................ SUCCESS [  0.016 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

安装完成之后就看到最终的工程文件,位于

streamx/streamx-console/streamx-console-service/target/streamx-console-service-1.0.0-bin.tar.gz ,解包后安装目录如下:

.
streamx-console-service-1.0.0
├── bin
│    ├── flame-graph
│    ├──   └── *.py                                             //火焰图相关功能脚本 ( 内部使用,用户无需关注 )
│    ├── startup.sh                                             //启动脚本
│    ├── setclasspath.sh                                        //java 环境变量相关的脚本 ( 内部使用,用户无需关注 )
│    ├── shutdown.sh                                            //停止脚本
│    ├── yaml.sh                                                //内部使用解析 yaml 参数的脚本 ( 内部使用,用户无需关注 )
├── conf
│    ├── application.yaml                                       //项目的配置文件 ( 注意不要改动名称 )
│    ├── application-prod.yml                                   //项目的配置文件 ( 开发者部署需要改动的文件,注意不要改动名称 )
│    ├── flink-application.template                             //flink 配置模板 ( 内部使用,用户无需关注 )
│    ├── logback-spring.xml                                     //logback
│    └── ...
├── lib
│    └── *.jar                                                  //项目的 jar 包
├── plugins
│    ├── streamx-jvm-profiler-1.0.0.jar                         //jvm-profiler,火焰图相关功能 ( 内部使用,用户无需关注 )
│    └── streamx-flink-sqlclient-1.0.0.jar                      //Flink SQl 提交相关功能 ( 内部使用,用户无需关注 )
├── logs                                                        //程序 log 目录
├── temp                                                        //内部使用到的零时路径,不要删除

3 修改数据库配置

安装解包已完成,接下来准备数据相关的工作:

  • 新建数据库 streamx 确保在部署机可以连接的 mysql 里新建数据库 streamx
  • 修改连接信息 进入到 conf 下,修改 conf/application-prod.yml ,找到 datasource这一项,找到 mysql 的配置,修改成对应的信息即可,如下:
datasource:
    dynamic:
      # 是否开启 SQL 日志输出,生产环境建议关闭,有性能损耗
      p6spy: false
      hikari:
        connection-timeout: 30000
        max-lifetime: 1800000
        max-pool-size: 15
        min-idle: 5
        connection-test-query: select 1
        pool-name: HikariCP-DS-POOL
      # 配置默认数据源
      primary: primary
      datasource:
        # 数据源-1,名称为 primary
        primary:
          username: $user
          password: $password
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: jdbc: mysql://$host:$port/streamx?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8

提示:安装过程中不需要手动做数据初始化,只需要设置好数据库信息即可,会自动完成建表和数据初始化等一些列操作

4 启动项目

进入到 bin 下直接执行 startup.sh 即可启动项目,默认端口是 10000 :

cd streamx-console-service-1.0.0/bin
bash startup.sh

相关的日志会输出到

streamx-console-service-1.0.0/logs/streamx.out 里。

打开浏览器 输入 http://$host:10000 即可登录,登录界面如下(默认密码:admin / streamx):

让Flink&Spark开发更简单的一站式大数据框架

5 修改系统配置

进入系统之后,第一件要做的事情就是修改系统配置,在菜单 /StreamX/Setting 下,操作界面如下:

让Flink&Spark开发更简单的一站式大数据框架

主要配置项分为以下几类:

Flink Home

这里配置全局的 Flink Home,此处是系统唯一指定 Flink 环境的地方,会作用于所有的作业。

Maven Home

指定 maven Home,目前暂不支持,下个版本实现。

StreamX Env

StreamX Webapp address :这里配置 StreamX Console 的 web url 访问地址,主要火焰图功能会用到,具体任务会将收集到的信息通过此处暴露的 url 发送 http 请求到系统,进行收集展示。

StreamX Console Workspace :配置系统的工作空间,用于存放项目源码,编译后的项目等。

Email

Alert Email 相关的配置是配置发送者邮件的信息,具体配置请查阅相关邮箱资料和文档进行配置。

系统截图

让Flink&Spark开发更简单的一站式大数据框架

让Flink&Spark开发更简单的一站式大数据框架

让Flink&Spark开发更简单的一站式大数据框架

更多内容大家可自行前往阅读。

资源下载此资源为免费资源立即下载

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 免费源码 让Flink&Spark开发更简单的一站式大数据框架 https://www.7claw.com/38569.html

分享免费的开源源码

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、七爪会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、七爪无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在七爪上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于七爪介入快速处理。
查看详情
  • 1、七爪作为第三方中介平台,依据交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益; 2、非平台线上交易的项目,出现任何后果均与互站无关;无论卖家以何理由要求线下交易的,请联系管理举报。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务