大数据-259 离线数仓 - Griffin架构 修改设置 pom.xml sparkProperties 编

[复制链接]
发表于 2024-12-26 05:32:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
点一下关注吧!!!非常感谢!!持续更新!!!

Java篇开始了!

目前开始更新 MyBatis,一起深入浅出!
目前已经更新到了:



  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(已更完)
  • Spark(已更完)
  • Flink(已更完)
  • ClickHouse(已更完)
  • Kudu(已更完)
  • Druid(已更完)
  • Kylin(已更完)
  • Elasticsearch(已更完)
  • DataX(已更完)
  • Tez(已更完)
  • 数据挖掘(已更完)
  • Prometheus(已更完)
  • Grafana(已更完)
  • 离线数仓(正在更新…)
章节内容



  • Griffin架构 设置安装
  • Livy 架构计划
  • 解压设置 Hadoop Hive

主要特点

数据质量评估

Apache Griffin 支持基于规则和模型的质量评估。用户可以为数据集定义不同的质量规则,例如完备性、准确性、一致性、有效性和及时性等。通过这些规则,系统可以自动识别和标记质量问题。
质量规则定义和管理

用户可以自定义规则,使用 JSON 或其他标准格式来形貌数据质量的各项要求。这些规则能够对数据举行周期性检查,并在发现问题时发出警报或举行自动修复。
灵活的数据源支持

Griffin 可以与多种数据源宁静台集成,支持数据从 HDFS、Hive、Kafka、HBase 等数据存储中读取。它能够处置惩罚批处置惩罚和流处置惩罚两种模式的数据。
多维度数据质量监控监控

Apache Griffin 提供了多维度的数据质量监控监控功能,答应用户基于时间、地点、数据源等多个维度举行数据质量评估。这使得用户能够灵活地设置监控监控指标,得到更精细的质量控制。
可视化界面

Griffin 提供了一个可视化的界面,用户可以在其中检察数据质量评估的效果、数据质量报告、告诫信息等。该界面使得管理者能够直观地监控和分析数据质量问题。
集成与兼容性

Griffin 与多种大数据平台高度集成,能够与现有的大数据基础办法兼容使用。例如,它可以与 Hadoop、Spark 等数据处置惩罚引擎协同工作,确保数据处置惩罚过程中的质量问题被及时发现和修正。
自动化修复

除了检测数据质量问题,Apache Griffin 还支持自动修复部分数据质量问题,比如自动填补缺失值或调解数据格式,减少人工干预。
扩展性

Griffin 提供了扩展的接口和插件机制,答应用户根据需要扩展数据质量检测功能,适应不同场景下的需求。
上节到了Griffin设置部分 下面继续

设置修改

pom.xml

修改 pom:
  1. cd /opt/servers/griffin-0.5.0
  2. vim service/pom.xml
复制代码
修改内容约113行,加入MySQL的依赖:
  1. <dependency>
  2.   <groupId>mysql</groupId>
  3.   <artifactId>mysql-connector-java</artifactId>
  4.   <version>${mysql.java.version}</version>
  5. </dependency>
复制代码
修改效果如下(这里注意MySQL的版本,我这里是MySQL8版本):

application.properties

  1. cd /opt/servers/griffin-0.5.0
  2. vim service/src/main/resources/application.properties
复制代码
  1. server.port = 9876
  2. spring.application.name=griffin_service
  3. spring.datasource.url=jdbc:mysql://h123.wzk.icu:3306/quartz?autoReconnect=true&useSSL=false
  4. spring.datasource.username=hive
  5. [email protected]
  6. spring.jpa.generate-ddl=true
  7. spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  8. spring.jpa.show-sql=true
  9. # Hive metastore
  10. hive.metastore.uris=thrift://h123.wzk.icu:9083
  11. hive.metastore.dbname=hivemetadata
  12. hive.hmshandler.retry.attempts=15
  13. hive.hmshandler.retry.interval=2000ms
  14. # Hive cache time
  15. cache.evict.hive.fixedRate.in.milliseconds=900000
  16. # Kafka schema registry
  17. kafka.schema.registry.url=http://localhost:8081
  18. # Update job instance state at regular intervals
  19. jobInstance.fixedDelay.in.milliseconds=60000
  20. # Expired time of job instance which is 7 days that is604800000 milliseconds.Time unit only supports milliseconds
  21. jobInstance.expired.milliseconds=604800000
  22. # schedule predicate job every 5 minutes and repeat 12 timesat most
  23. #interval time unit s:second m:minute h:hour d:day,onlysupport these four units
  24. predicate.job.interval=5m
  25. predicate.job.repeat.count=12
  26. # external properties directory location
  27. external.config.location=
  28. # external BATCH or STREAMING env
  29. external.env.location=
  30. # login strategy ("default" or "ldap")
  31. login.strategy=default
  32. # ldap
  33. ldap.url=ldap://hostname:port
  34. [email protected]
  35. ldap.searchBase=DC=org,DC=example
  36. ldap.searchPattern=(sAMAccountName={0})
  37. # hdfs default name
  38. fs.defaultFS=
  39. # elasticsearch
  40. elasticsearch.host=h123.wzk.icu
  41. elasticsearch.port=9200
  42. elasticsearch.scheme=http
  43. # elasticsearch.user = user
  44. # elasticsearch.password = password
  45. # livy
  46. livy.uri=http://0.0.0.0:8998/batches
  47. livy.need.queue=false
  48. livy.task.max.concurrent.count=20
  49. livy.task.submit.interval.second=3
  50. livy.task.appId.retry.count=3
  51. # yarn url
  52. yarn.uri=http://h123.wzk.icu:8088
  53. # griffin event listener
  54. internal.event.listeners=GriffinJobEventHook
复制代码
对应的截图如下所示:

备注:


  • 默认是8080,防止辩论修改为9876
  • 需要启动Hive的Metastore服务
  • 假如Griffin、MySQL没有在同一台节点上,需要确认可以远程登录!
quartz.properties

  1. cd /opt/servers/griffin-0.5.0
  2. vim service/src/main/resources/quartz.properties
复制代码
修改内容:
  1. # 将第26行修改为以下内容
  2. org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
复制代码
修改内容如下所示:

sparkProperties.json

修改设置文件
  1. cd /opt/servers/griffin-0.5.0
  2. vim service/src/main/resources/sparkProperties.json
复制代码
修改内容如下:spark.yarn.dist.files
  1. {
  2.   "file": "hdfs:///griffin/griffin-measure.jar",
  3.   "className": "org.apache.griffin.measure.Application",
  4.   "name": "griffin",
  5.   "queue": "default",
  6.   "numExecutors": 2,
  7.   "executorCores": 1,
  8.   "driverMemory": "1g",
  9.   "executorMemory": "1g",
  10.   "conf": {
  11.     "spark.yarn.dist.files": "hdfs:///spark/spark_conf/hive-site.xml"
  12.   },
  13.   "files": [
  14.   ]
  15. }
复制代码
修改的内容如下所示:

env_batch.json

继续修改对应的设置文件:
  1. cd /opt/servers/griffin-0.5.0
  2. vim service/src/main/resources/env/env_batch.json
复制代码
修改的内容如下:
  1. {
  2.   "spark": {
  3.     "log.level": "WARN"
  4.   },
  5.   "sinks": [
  6.     {
  7.       "type": "CONSOLE",
  8.       "config": {
  9.         "max.log.lines": 10
  10.       }
  11.     },
  12.     {
  13.       "type": "HDFS",
  14.       "config": {
  15.         "path": "hdfs:///griffin/persist",
  16.         "max.persist.lines": 10000,
  17.         "max.lines.per.file": 10000
  18.       }
  19.     },
  20.     {
  21.       "type": "ELASTICSEARCH",
  22.       "config": {
  23.         "method": "post",
  24.         "api": "http://h123.wzk.icu:9200/griffin/accuracy",
  25.         "connection.timeout": "1m",
  26.         "retry": 10
  27.       }
  28.     }
  29.   ],
  30.   "griffin.checkpoint": []
  31. }
复制代码
备注:


  • 修改config.api的地址
正式编译

  1. cd /opt/servers/griffin-0.5.0
  2. mvn -Dmaven.test.skip=true clean install
复制代码
备注:


  • 编译过程中需要下载500M的jar包
  • 假如修改了前面的设置文件 需要重新编译
执行过程如下所示:

Jar拷贝

编译完成之后,会在service和measure模块的target目录下分别看到service-0.5.0.jar 和 measure-0.5.0.jar 两个jar,将这两个jar分别拷贝到服务器de 目录下:
  1. cd /opt/servers/griffin-0.5.0/service/target
  2. cp service-0.5.0.jar /opt/servers/griffin-0.5.0/
  3. cd /opt/servers/griffin-0.5.0/measure/target
  4. cp measure-0.5.0.jar /opt/lagou/servers/griffin-0.5.0/griffin-measure.jar
  5. cd /opt/lagou/servers/griffin-0.5.0
  6. hdfs dfs -mkdir /griffin
  7. hdfs dfs -put griffin-measure.jar /griffin
复制代码
备注:Spark在YARN集群上执行任务时,需要到HDFS的/griffin目录下加载griffin-measure.jar,避免发生org.apache.griffin.measure.Application找不到的错误
启动服务

启动Griffin管理背景:
  1. cd /opt/servers/griffin-0.5.0
  2. nohup java -jar service-0.5.0.jar>service.out 2>&1 &
复制代码
启动之后,我们需要访问地址:
  1. http://h122.wzk.icu:9876
复制代码
访问的效果如下图所示:
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表