StreamX的介绍与安装

前置

一个让Flink流处理更简单的框架,国人开发,

降低学习成本和开发门槛,开发者只关心最核心的业务

标准化了配置,开发,测试,部署,监控,运维的整个过程

打造了一个一站式大数据平台,流批一体,湖仓一体的解决方案

为什么学它? 提高Flink开发效率的需求,降低Flink开发成本的欲望

介绍

初衷----让Flink开发更简单,后期也会对Spark做一个支持,它提供了一系列开箱即用的连接器(connectors)标准化了配置,开发,测试,部署,监控,运维的整个过程

**

StreamX 的特色

  • 开发脚手架
  • 多版本 Flink 支持(1.12+)
  • 一系列开箱即用的 connectors
  • 支持项目编译功能(maven 编译)
  • 在线参数配置
  • 支持 Applicaion 模式,Yarn-Per-Job 模式启动
  • 快捷的日常操作(任务启动、停止、savepoint,从 savepoint 恢复)
  • 支持火焰图
  • 支持 notebook(在线任务开发)
  • 项目配置和依赖版本化管理
  • 支持任务备份、回滚(配置回滚)
  • 在线管理依赖(maven pom)和自定义 jar
  • 自定义 udf、连接器等支持
  • Flink SQL WebIDE
  • 支持 catalog、hive
  • 任务运行失败发送告警邮件
  • 支持失败重启重试
  • 从任务开发阶段到部署管理全链路支持

架构

在这里插入图片描述
streamx-core 定位是一个开发时框架,关注编码开发,规范了配置文件,按照约定优于配置的方式进行开发,提供了一个开发时 RunTime Content 和一系列开箱即用的 Connector,扩展了 DataStream 相关的方法,融合了 DataStream 和 Flink sql api,简化繁琐的操作,聚焦业务本身,提高开发效率和开发体验。

pump 是抽水机,水泵的意思,streamx-pump 的定位是一个数据抽取的组件,类似于 flinkx, 基于 streamx-core 中提供的各种 connector 开发,目的是打造一个方便快捷,开箱即用的大数据实时数据抽取和迁移组件,并且集成到 streamx-console 中,解决实时数据源获取问题,目前在规划中。

streamx-console 是一个综合实时数据平台,低代码(Low Code)平台,可以较好的管理Flink 任务,集成了项目编译、发布、参数配置、启动、savepoint,火焰图(flame graph),Flink SQL,监控等诸多功能于一体,大大简化了 Flink 任务的日常操作和维护,融合了诸多最佳实践。旧时王谢堂前燕,飞入寻常百姓家,让大公司有能力研发使用的项目,现在人人可以使用,其最终目标是打造成一个实时数仓,流批一体的一站式大数据解决方案。

安装部署StreamX

基于社区于 2022 年 3 月 24 日发布的最新版本 1.2.2 编写。

环境要求

在这里插入图片描述

准备环境

Linux:Centos7

JDK:8

maven:3.8.5

cd /opt/software 
wget https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz --no-check-certificate

tar -zxvf apache-maven-3.8.5-bin.tar.gz -C /opt/module
sudo ln -s /opt/module/apache-maven-3.8.5/bin/mvn /usr/bin/mvn
wget https://gitee.com/lzc2025/maven_setting/raw/master/settings.xml 
-O /opt/module/apache-maven-3.8.5/conf/settings.xml

注意:会遇到

警告: 无法验证 dlcdn.apache.org 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书:
  颁发的证书已经过期。
已发出 HTTP 请求,正在等待回应... 404 Not Found

解决办法:

sudo yum install -y ca-certificates

3.8.5版本没有了,用的3.8.6版本。

Node.js:console前端部分采用vue开发,需要 node.js 环境,下载安装最新的 node.js 即可。不同版本对应下载方式:https://github.com/nodesource/distributions

#ROOT状态下
curl -fsSL https://rpm.nodesource.com/setup_16.x | bash -
#非ROOT状态下
curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -

sudo yum install -y nodejs

查看 nodejs 版本。

node --version

MySQL :参考之前的安装

Flink:选择 1.13.6。需要配置 FLINK_HOME 环境变量。并导入Flink与Hadoop的连接Jar包

export FLINK_HOME=/opt/module/flink-1.13.6

Hadoop:选择 3.1.3。

配置相应的环境变量:

export HADOOP_HOME=/opt/module/hadoop-3.1.3
export HADOOP_CLASSPATH=`hadoop classpath`

除了正常的配置外, 需要在 core-site.xml 中添加如下配置:

<property>
 <name>dfs.client.datanode-restart.timeout</name>
 <value>30</value>
</property>

安装StreamX

官网:https://github.com/streamxhub/streamx/releases/download/v1.2.2/streamx-console-service-1.2.2-bin.tar.gz

解压安装包

tar -zxvf streamx-console-service-1.2.2-bin.tar.gz -C /opt/module

解压后架构如下:

streamx-console-service-1.2.2
├── bin
│    ├── flame-graph                         
│    ├──   └── *.py                           //火焰图相关功能脚本 ( 内部使用,用户无需关注 )
│    ├── startup.sh                           //启动脚本
│    ├── setclasspath.sh                      //java 环境变量相关的脚本 ( 内部使用,用户无需关注 )
│    ├── shutdown.sh                          //停止脚本
│    ├── yaml.sh                              //内部使用解析 yaml 参数的脚本 ( 内部使用,用户无需关注 )
├── conf                                     
│    ├── application.yaml                     //项目的配置文件 ( 注意不要改动名称 )
│    ├── 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 提交相关功能 ( 内部使用,用户无需关注 )
├── script                                   
│     ├── final                               // 完整的ddl建表sql
│     ├── upgrade                             // 每个版本升级部分的sql(只记录从上个版本到本次版本的sql变化)
├── logs                                      //程序 log 目录
                                             
├── temp                                      //内部使用到的临时路径,不要删除

部署 Streamx 平台

1)在 mysql 中创建数据库

CREATE DATABASE `streamx` CHARACTER SET utf8 COLLATE utf8_general_ci;

2)初始化表

use streamx;
source /opt/module/streamx-console-service-1.2.2/script/final.sql

3)配置连接信息

vim /opt/module/streamx-console-service-1.2.2/conf/application.yml

...

 # 配置默认数据源
 primary: primary
 datasource:
  # 数据源-1,名称为 primary
  primary:
  username: root
  password: aaaaaa
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://hadoop102:3306/streamx?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
...
streamx:

 # HADOOP_USER_NAME
 hadoop-user-name: root
 # 本地的工作空间,用于存放项目源码,构建的目录等.
 workspace:
   local: /opt/module/streamx_workspace

修改部分:username和password改成自己的,url 中的名字改成自己,hadoop-user-name改成自己的,local路径改成自己的

4)启动 Server

/opt/module/streamx-console-service-1.2.2/bin/startup.sh

关闭是

/opt/module/streamx-console-service-1.2.2/bin/shutdown.sh

启动成功之后使用 jps 可以看到如下进程。

在这里插入图片描述
注意:如果出现Access denied for user 'root'@'hadoop102' (using password: YES) 问题,要查看配置下的密码,假如是0开头,那么需要加上单引号

5)浏览器登录系统默认端口是 10000

http://hadoop102:10000/
账号:admin ,密码:streamx

在这里插入图片描述

系统配置

配置 Flink HOME。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

此时Flink配置成功。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值