目录
0. 相关文章链接
1. 环境要求
注意:
- 当前StreamX 1.2.1之前(包含)的版本,只支持scala 2.11,切忌使用flink时要检查对应的scala版本
- 目前 StreamX 对 Flink 的任务发布,同时支持 Flink on YARN 和 Flink on Kubernetes 两种模式。
使用 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
2. 准备环境
2.1. 系统
StreamX只支持Linux系统,不支持windows系统,所以博主选用的是Centos7.9版本
2.2. 安装JDK
关于安装JDK,可以查看博主的另一篇博文:Centos7安装和配置JDK1.8版本
2.3. Maven
关于安装Maven,也可以参考博主的另一篇博文:Maven的下载安装和使用
2.4. Node.js
console 前端部分采用 vue 开发,需要 nodejs 环境,下载安装最新的 nodejs 即可。
不同版本对应下载方式: https://github.com/nodesource/distributions
可以直接根据网址: https://nodejs.org/dist/v16.13.2/node-v16.13.2-linux-x64.tar.gz 下载对应的安装包,然后解压,并配置环境变量即可
在 /etc/profile 中添加如下配置:
# node
export NODE_HOME=/usr/local/node
export PATH=NODE_HOME/bin:$PATH
2.5. MySQL
StreamX的一些配置存储在MySQL数据库中,所以需要安装MySQL,具体安装部署可以查看博主的另一篇博文:Centos7安装MySQL5.7版本
2.6. Flink
仅有Flink环境即可,直接下载Flink官方包,然后解压配置环境变量即可,博主这里使用了1.13.6版本
在 /etc/profile 中添加环境变量:
# flink
export FLINK_HOME=/opt/module/flink
export PATH=FLINK_HOME/bin:$PATH
2.7. Hadoop
需要配置相应的环境变量,博主使用的是CDH版本,样例如下,仅供参考:
Apache版本:
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export HADOOP_CLASSPATH=`hadoop classpath`
CDH版本:
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
除了正常的配置外, 需要在 core-site.xml 中添加如下配置:
<property>
<name>dfs.client.datanode-restart.timeout</name>
<value>30</value>
</property>
3. 安装部署StreamX
3.1. 下载StreamX
可以直接去GitHub上下载,下载地址如下:https://github.com/streamxhub/streamx/releases/download/v1.2.2/streamx-console-service-1.2.2-bin.tar.gz
3.2. 解压安装包
博主将安装包解压在/opt/module目录下,并配置软连接和环境变量
# streamx
export STREAMX_HOME=/opt/module/streamx
export PATH=STREAMX_HOME/bin:$PATH
解压后的目录结构如下所示:
.
streamx-console-service-1.2.1
├── 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 //内部使用到的临时路径,不要删除
3.3. 初始化配置表
在MySQL数据库中创建配置数据库,并使用自带的脚本初始化配置表:
CREATE DATABASE `streamx` CHARACTER SET utf8 COLLATE utf8_general_ci;
use streamx;
source /opt/module/streamx/script/final.sql
3.4. 配置连接信息
进入到 conf 下,修改 conf/application.yml,主要修改点如下
- 配置web页面访问端口:
# 在第二行,默认端口为10000,可以根据其余服务使用情况来配置端口
server:
port: 10000
- 配置默认数据源(在第35行左右,配置MySQL数据库访问信息):
# 配置默认数据源
primary: primary
datasource:
# 数据源-1,名称为 primary
primary:
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://bigdata1:3306/streamx?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
- 配置Hadoop信息和本地的工作空间(在第70行左右,配置hadoop的访问用户和本地以及hdfs的工作空间):
streamx:
# HADOOP_USER_NAME
hadoop-user-name: hdfs
# 本地的工作空间,用于存放项目源码,构建的目录等.
workspace:
local: /opt/modult/streamx/streamx_workspace
remote: hdfs:///streamx # support hdfs:///streamx/ 、 /streamx 、hdfs://host:ip/streamx/
3.5. 启动Server
直接启动即可,启动命令如下:
/opt/module/streamx/bin/startup.sh
启动成功之后使用 jps 可以看到如下进程
3.6. 浏览器登录系统
默认端口是10000,可以在上述yml中配置,博主的使用的是默认端口,访问如下url可以进入web页面:http://bigdata1:10000/
web页面如下图所示:
默认用户名: admin
默认密码: streamx
3.7. 系统配置
进入系统之后,第一件要做的事情就是修改系统配置,在菜单/StreamX/Setting 下,操作界面如下:
主要配置项分为以下几类:
3.7.1. Flink Home
这里配置全局的 Flink Home,此处是系统唯一指定 Flink 环境的地方,会作用于所有的作业
特别提示: 最低支持的 Flink 版本为 1.12.0, 之后的版本都支持
配置方法如下:
3.7.2. Maven Home
指定 maven Home, 目前暂不支持
3.7.3. StreamX Env
- StreamX Webapp address 这里配置 StreamX Console 的 web url 访问地址,主要火焰图功能会用到,具体任务会将收集到的信息通过此处暴露的 url 发送 http 请求到系统,进行收集展示
- StreamX Console Workspace 配置系统的工作空间,用于存放项目源码,编译后的项目等(该配置为1.2.0之前的版本里的配置项)
3.7.4. Email
Alert Email 相关的配置是配置发送者邮件的信息,具体配置请查阅相关邮箱资料和文档进行配置
注:其他相关文章链接由此进 -> 大数据基础知识点 文章汇总