
点一下关注吧非常感谢持续更新----------------------Java篇开始了---------目前开始更新 MyBatis一起深入浅出目前已经更新到了---------* Hadoop已更完* HDFS已更完* MapReduce已更完* Hive已更完* Flume已更完* Sqoop已更完* Zookeeper已更完* HBase已更完* Redis 已更完* Kafka已更完* Spark已更完* Flink已更完* ClickHouse已更完* Kudu已更完* Druid已更完* Kylin已更完* Elasticsearch已更完* DataX已更完* Tez已更完* 数据挖掘已更完* Prometheus已更完* Grafana已更完* 离线数仓正在更新…章节内容----* 数据质量监控 监控方法* Griffin架构上节到了Griffin的编译安装 下面继续---------------------编译安装----续接上节上节到了 Elasticsearch### Livy#### 基本介绍Livy 是一个用于 Apache Spark 的 REST 接口旨在简化 Spark 作业的提交和管理特别是在大数据处理场景中。它的主要功能是通过 REST API 与 Spark 集群进行交互允许用户提交作业、执行代码片段并查询作业的状态和结果而不需要直接与 Spark 的底层架构交互。 Livy 的一些关键功能包括* 简化 Spark 作业提交用户可以通过 HTTP 请求向 Livy 发送 Spark 作业而不需要直接使用 spark-submit命令。* 多语言支持Livy 支持使用不同的编程语言提交作业包括 Python通过 PySpark、Scala 和 R。* Session 管理Livy 可以管理 Spark 会话允许多个用户在同一集群上共享会话并执行交互式代码片段。* 作业状态管理Livy 提供 API 来查看作业的状态、日志以及结果便于跟踪和监控任务执行。* 集成Livy 通常与 Jupyter Notebook、Zeppelin 等工具集成以便用户可以在这些环境中使用 Spark 集群执行代码。#### 配置计划我们的Spark是集群三台节点配置的但是Livy可以不用配置集群我们计划在主节点上进行配置 h121.wzk.icu #### 解压配置 cd /opt/software unzip livy-0.5.0-incubating-bin.zip mv livy-0.5.0-incubating-bin/ …/servers/livy-0.5.0 处理结果如下图所示#### 环境变量 # 设置环境变量 vim /etc/profile # 设置完之后 记得刷新 source /etc/profile 写入内容如下 export LIVY_HOME/opt/servers/livy-0.5.0 export PATHPATH:PATH:PATH:LIVY_HOME/bin 对应的内容如下所示#### 修改配置 mv $LIVY_HOME/conf/livy.conf.template $LIVY_HOME/conf/livy.conf vim $LIVY_HOME/conf/livy.conf 修改内容如下 livy.server.host 0.0.0.0 livy.spark.master yarn livy.spark.deployMode cluster livy.repl.enable-hive-context true 修改内容如下所示修改配置文件 mv $LIVY_HOME/conf/livy-env.sh.template $LIVY_HOME/conf/livy-env.sh vimLIVYHOME/conf/livy−env.sh写入内容如下所示exportSPARKHOME/opt/servers/spark−2.4.5exportHADOOPHOME/opt/servers/hadoop−2.9.2/exportHADOOPCONFDIRLIVY_HOME/conf/livy-env.sh 写入内容如下所示 export SPARK_HOME/opt/servers/spark-2.4.5 export HADOOP_HOME/opt/servers/hadoop-2.9.2/ export HADOOP_CONF_DIRLIVYHOME/conf/livy−env.sh写入内容如下所示exportSPARKHOME/opt/servers/spark−2.4.5exportHADOOPHOME/opt/servers/hadoop−2.9.2/exportHADOOPCONFDIRHADOOP_HOME/etc/hadoop 写入内容如下所示#### 启动服务 cd /opt/servers/livy-0.5.0 mkdir logs nohup $LIVY_HOME/bin/livy-server Griffin-------### 前置介绍“Griffin”是一个大数据领域的开源项目特别是在分布式流处理和大数据系统的管理中具有一定的影响力。它最早由LinkedIn开发用于处理大规模数据流。Griffin的设计目标是简化和自动化流数据处理和监控工作使得在大数据应用中能够高效地处理实时数据流同时提升数据的可追溯性和可靠性。随着大数据技术的发展实时流处理如Apache Kafka、Apache Flink等在许多应用场景中扮演着越来越重要的角色。处理这些流数据时不仅需要确保高效的计算和数据吞吐量还要实现数据的可追溯性和监控。为了应对这些挑战Griffin应运而生致力于提供一个高效、可扩展的解决方案尤其是在数据质量监控和流处理作业的管理方面。Griffin的目标包括* 数据质量控制 自动化数据质量检查确保流数据的准确性和完整性。* 流处理作业管理 对流处理作业进行有效的调度和监控及时发现异常。* 数据管道的透明度 提供对数据流动过程的清晰视图便于追踪和排查问题。* 实时数据处理 结合流处理系统如Apache Kafka和Apache Flink优化数据处理效率。### 主要功能Griffin的功能集中在数据质量控制和流处理管理上以下是其一些核心功能* 数据质量监控 Griffin可以实时监控数据流中的各种质量问题如数据丢失、重复、格式错误等并生成报告或警告。这对于需要高质量数据的实时分析和决策过程尤为重要。* 流数据治理 它帮助管理数据流动的每个环节确保数据在处理过程中符合质量要求减少因数据问题导致的错误和偏差。* 作业调度和监控 对流处理作业进行调度实时监控其状态和性能。它能够识别系统中可能的瓶颈保证流处理任务的高效执行。* 数据追溯 在数据出现问题时Griffin提供对数据来源的追溯功能帮助用户快速定位问题的根源确保数据的透明度和可追溯性。### 架构设计Griffin的架构通常包括以下几个组件* 数据接入层 负责从数据源接入数据流。常见的数据源包括Apache Kafka、Apache Flink等流处理系统。* 数据处理层 对数据进行质量检查和流处理操作。该层可能包括数据清洗、校验等操作确保流数据符合预期的质量标准。* 监控和告警层 提供流处理作业的监控和告警机制及时发现问题并通知管理员。* 数据存储和可视化层 存储分析结果和质量报告并通过可视化界面展示给用户帮助用户理解数据流的状况。### 解压配置软件解压缩(这里我是在 h122 节点) cd /opt/software unzip griffin-griffin-0.5.0.zip mv griffin-griffin-0.5.0/ …/servers/griffin-0.5.0/ cd …/servers/griffin-0.5.0 运行结果如下图所示#### SQL初始化在MySQL中创建数据库quartz并初始化 # SQL 文件如下 /opt/servers/griffin-0.5.0/service/src/main/resources/Init_quartz_mysql_innodb.sql 备注要做简单的修改主要是增加 use quartz; vim /opt/servers/griffin-0.5.0/service/src/main/resources/Init_quartz_mysql_innodb.sql # 写入 use quartz; 执行如下的结果创建数据库 # 在MySQL中执行 # mysql中执行创建数据库 create database quartz; 执行结果如下运行SQL文件 # 在外部执行 # 命令行执行创建表 cd /opt/servers/griffin-0.5.0/service/src/main/resources/ mysql -uhive -phivewzk.icu Init_quartz_mysql_innodb.sql 执行结果可以连上数据库查看#### Hadoop 和 Hive在HDFS上创建 /spark/spark_conf目录并将Hive的配置文件hive-site.xml上传到该目录下 hdfs dfs -mkdir -p /spark/spark_conf hdfs dfs -putKaTeX parse error: Expected EOF, got # at position 198: …文件上传到HDFS对应目录中#̲### 环境变量确认如下的必要…HADOOP_HOME/etc/hadoop