pyspark 环境搭建_开源数据质量监控方案Griffin搭建笔记

本文详细介绍了Apache Griffin 0.5.0的环境搭建过程,包括Griffin编译、依赖组件如Livy的安装与配置,以及Griffin配置文件的应用。在Livy配置中强调了livy.conf.template、livy-env.sh.template和log4j.properties.template的重要性。Griffin的安装涉及application.properties、quartz.properties、sparkProperties.json等文件的配置。文章还提到在SparkProperties.json中name字段不能为纯数字,否则会导致提交失败。
摘要由CSDN通过智能技术生成

一、前言

        本次预研Griffin版本为Griffin-0.5.0。

        通过本文,各位看官可以了解到griffin搭建的一些细节,避免再去踩坑,最终更快的搭建出一套Griffin的环境。

        话不多说,一切从编译开始。

二、Griffin编译

        Apache Griffin是一个maven工程,整体上来看分为三个模块:measure、service、ui。其中,

        Measure模块用来和spark进行交互,执行统计任务。

        Service模块,一个spring boot的工程,用来提供griffin的后台服务接口,与数据库、livy等打交道。

        Ui模块用来做界面展示,并向service模块发送http请求。

        Griffin 的编译,整体来说还是比较简单的,分别对measure、service模块执行如下命令,即可拿到measure.jar和service.jar。

mvn -Dmaven.test.skip=true clean install

        ui模块,是一个angular编写的项目,没有搞过angular的我完全不会编译,于是乎,请求专门的前端工程师协助编译该模块,我的同事并没有使用maven命令打包UI模块,而是直接使用"ng build"命令来打包,该命令定义在/griffin/ui/angular/package.json,该文件中还定义了其它命令,如本地启动UI模块。在打包结束后,将dist目录拷贝至安装服务器的tomcat webapp目录下,即可渲染成功。     

        这边需要说明的是:

        按照官网的安装步骤,我们需要先修改如下几个配置文件:

service/src/main/resources/application.propertiesservice/src/main/resources/quartz.propertiesservice/src/main/resources/sparkProperties.jsonservice/src/main/resources/env/env_batch.json

        再利用griffin源码提供的pom进行打包,最终这些配置文件打包到service.jar中。

        刚开始看官网的安装文档,我还以为编译的时候会读取这些配置项,在mysql、es等组件中初始化一些元数据,后来一细想,再加上我编译结束后,再去es的索引中去查看索引里是不是有数据,结果根本就没有预写啥元数据。

        这样的话,在编译前修改这些配置文件的意义就不太大了~因为换一个环境,我还是需要将jar包中的配置文件拿出来,在根据环境信息修改完配置文件后,再压缩回jar包中,这样用起来实在是太不方便。

        因此,强烈建议Griffin团队把pom改一改,service可以编译成tar包,把这些配置文件用conf来存储。

三、Griffin依赖组件

        Griffin依赖的组件较多,具体见如下表格。

依赖组件

实际版本

描述

JDK

1.8.0_192

Griffin要求jdk版本不低于1.8

Scala

2.11.7

Spark、livy、griffin都依赖了

MySQL

Mysql-5.6.25-linux-x86_64

官网要求5.6以上版本

Hadoop

Hadoop-2.6.0-cdh5.7.0

官方要求2.6.0以上版本

Hive

Apache-hive-2.3.3-bin

官方要求2.0以上版本

Spark

Spark-2.4.4-bin-hadoop2.6

因为livy依赖spark环境变量,因此肯定在livy机器上肯定要有spark客户端。

Livy

Apache-livy-0.7.0

用以提交spark任务,可以往yarn、mesos等资源管理器上提交。

ElasticSearch

Elasticsearch-6.1.3

任务统计的结果,会存储在es索引中

Nodejs

Node-v6.9.4-linux-64

解释Ui模块angular代码,地位等同于JDK对java

Tomcat

8.0.35

给ui提供一个容器

        相比官网上的介绍,这边多加了Scala和T

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值