遇到问题,改变苛求别人的惯性,重新塑造思考问题的方式。换个角度看世界,换个方向看问题,就会豁然开朗。——人民日报
什么是streamx
大数据技术如今发展的如火如荼,已经呈现百花齐放欣欣向荣的景象,实时处理流域 Apache Spark 和 Apache Flink 更是一个伟大的进步,尤其是 Apache Flink 被普遍认为是下一代大数据流计算引擎, 我们在使用 Flink 时发现从编程模型, 启动配置到运维管理都有很多可以抽象共用的地方, 我们将一些好的经验固化下来并结合业内的最佳实践, 通过不断努力终于诞生了今天的框架 —— StreamX, 项目的初衷是 —— 让 Flink 开发更简单, 使用 StreamX 开发,可以极大降低学习成本和开发门槛, 让开发者只用关心最核心的业务, StreamX 规范了项目的配置,鼓励函数式编程,定义了最佳的编程方式,提供了一系列开箱即用的 Connectors ,标准化了配置、开发、测试、部署、监控、运维的整个过程, 提供 Scala 和 Java 两套api, 其最终目的是打造一个一站式大数据平台,流批一体,湖仓一体的解决方案.
源码编译的前提条件
我使用的是CentOS Linux release 7.5.1804 (Core). mysql5.7. 以及maven 3.8.3版本. node js 和 jdk1.8.3 .最少2个多G的磁盘空间
安装node-js
下载
[root@hadoop102 module]$ wget https://nodejs.org/dist/v16.13.1/node-v16.13.1-linux-x64.tar.xz
解压
[root@hadoop102 module]$ tar xf node-v16.13.1-linux-x64.tar.xz
进入解压目录
[root@hadoop102 module]$ cd node-v16.13.1-linux-x64
修改Linux环境变量
[root@hadoop102 module]$ vim /etc/profile.d/shangbaishuyao_configurationfile.sh
#JAVA_HOME 加export是对全局有效,相当于对外暴露一个接口
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka_2.11-2.4.1
export PATH=$PATH:$KAFKA_HOME/bin
#HIVE_HOME
export HIVE_HOME=/opt/module/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin
#MAVEN_HOME
export MAVEN_HOME=/opt/module/maven-3.8.3
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin
# SPARK_HOME
export SPARK_HOME=/opt/module/spark-3.0.0-hadoop3.2
export PATH=$PATH:$SPARK_HOME/bin
# NODE_JS
export NODE_HOME=/opt/module/node-v16.13.1-linux-x64
export PATH=$PATH:$NODE_HOME/bin
#HBASE_HOME
export HBASE_HOME=/opt/module/hbase-2.0.5
export PATH=$PATH:$HBASE_HOME/bin
#FLINK_HOME
export FLINK_HOME=/opt/module/flink-1.14.3
export PATH=$PATH:$FLINK_HOME/bin
export HADOOP_CLASSPATH=`hadoop classpath`
[shangbaishuyao@hadoop102 module]$
刷新环境变量
[root@hadoop102 module]$ source /etc/profile.d/shangbaishuyao_configurationfile.sh
查看是否安装成功
[root@hadoop102 module]$ node -v
v16.13.1
安装maven
网上例子很多,此处略.
参考文章: https://www.cnblogs.com/freeweb/p/5241013.html
安装npm
直接安装好node.js就有npm命令了,此处略. 有个问题是. 我在编译streamx的时候因为npm版本过低所以失败三次. 所以我升级了npm命令为: npm install -g npm
安装JDK
网上例子很多,此处略.
安装mysql
网上例子很多,此处略.
进入mysql修改配置
[shangbaishuyao@hadoop102 streamx-release-1.2.0]$ vim /etc/my.cnf
#streamx
port=3306
bind-address=0.0.0.0
重新启动mysql
service mysql restart
streamx源码编译
从官网下载streamx稳定版本
官网地址: https://www.streamxhub.com/#
github地址: https://github.com/streamxhub/streamx
修改streamx的相关版本
修改为公司hadoop,flink,spark等相符合的大数据组件版本.
然后将压缩包上传到服务器上并解压.
[shangbaishuyao@hadoop102 module]$ unzip streamx-release-1.2.0.zip -d /opt/module/
进入解压目录编译源码,1.2.0默认flink版本为1.4,如需更改修改pom.xml再进行编译。
[shangbaishuyao@hadoop102 streamx-release-1.2.0]$ mvn clean install -DskipTests -Denv=prod
等待…
最后成功!
进行解压编译成功后的压缩包
编译后在/opt/module/streamx-release-1.2.0/streamx-console/streamx-console-service/target目录会有对应tar包
进入解压后的目录
进入到对应目录,修改配置文件,需要使用mysql地址来存储数据。
注意:数据库不会自动创建,需要手动创建
[shangbaishuyao@hadoop102 module]$ cd streamx-console-service-1.2.0/
[shangbaishuyao@hadoop102 streamx-console-service-1.2.0]$ vim conf/application.yml
手动创建streamx的数据库
启动streamx
[shangbaishuyao@hadoop102 streamx-release-1.2.0]$ bin/startup.sh
查看是否启动成功
如果没有streamXconsole说明出现错误. 去logs里面查看具体错误.
使用浏览器访问streamx
账号为: admin 密码为: streamx
编译好的streamx存放地址
可以直接使用.
注意: 我使用的是streamx-1.2.0 版本. 里面的hadoop版本和Flink版本都是streamx-1.2.0源码默认的.没有做修改.
编译好的压缩包地址为: https://pan.baidu.com/s/1M4R0K3rOzNZOdilnJiduFw 提取码: 2olc