0

一个管理和监控我们的 hadoop 集群的团队通知我们,我们的 Spark 作业(数百个)对集群有负面影响。显然,每个创建 SparkContext 的作业也会自动创建大量到 Hive Metastore 的连接并“扫描”所有数据库和表(请参阅下面的日志)。

在做了一些测试之后,我们观察到,在我们使用 Spark 1.6 ( /usr/hdp/current/spark-client )创建 SparkContext 之后,我们观察到上述行为。一旦我们切换到 Spark 2 ( /usr/hdp/current/spark2-client ),我们就看不到任何与 Hive Metastore 的连接。

这是代码:

from pyspark import SparkContext

os.environ['SPARK_HOME'] = "/usr/hdp/current/spark-client"
PYSPARK_SUBMIT_ARGS = " --conf spark.logConf=true --master yarn --driver-memory 25g --num-executors 50 --total-executor-cores 3 --executor-memory 25g pyspark-shell"
os.environ['PYSPARK_SUBMIT_ARGS'] = PYSPARK_SUBMIT_ARGS
sc = SparkContext(appName="my_app_name")

我们使用:HDP 2.5;Spark 1.6(PySpark API);蜂巢:1.2.1;集群管理器:纱线

你们能解释一下为什么 Spark 1.6 会发生这种情况,以及避免与 Hive Metastore 建立所有这些连接的可能解决方案是什么(切换到 Spark 2 除外)?非常感谢任何关于挖掘方向的建议。

我查看了 hadoop 和 hive 配置属性,但我不知道更改其中一个或多个是否会对我们有所帮助。我还阅读了有关 HiveSupport() 的信息,但我相信它只能从 2.0 版开始使用。

2019-09-10 10:32:26,662 信息 [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_all_databases 2019-09-10 10: 32:26,898 信息 [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db1 pat=* 2019-09-10 10: 32:26,902 信息 [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db2 pat=* 2019-09-10 10: 32:26,904 信息 [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db3 pat=* 2019-09-10 10: 32:26,905 信息 [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db4 pat=* 2019-09-10 10: 32:26,907 信息 [pool-7-thread-56114]:HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db5 pat=* 2019-09-10 10:32:26,909 INFO [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db6 pat=* 2019-09-10 10:32:26,910 INFO [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db7 pat=* 2019-09-10 10:32:26,912 INFO [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db8 pat=* 2019-09-10 10:32:26,914 INFO [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db9 pat=*db=db5 pat=* 2019-09-10 10:32:26,909 信息 [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db6 pat=* 2019-09-10 10:32:26,910 信息 [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db7 pat=* 2019-09-10 10:32:26,912 信息 [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db8 pat=* 2019-09-10 10:32:26,914 信息 [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db9 拍=*db=db5 pat=* 2019-09-10 10:32:26,909 信息 [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db6 pat=* 2019-09-10 10:32:26,910 信息 [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db7 pat=* 2019-09-10 10:32:26,912 信息 [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db8 pat=* 2019-09-10 10:32:26,914 信息 [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db9 拍=*HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db7 pat=* 2019-09-10 10:32:26,912 INFO [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db8 pat=* 2019-09-10 10:32:26,914 INFO [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db9 pat=*HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db7 pat=* 2019-09-10 10:32:26,912 INFO [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db8 pat=* 2019-09-10 10:32:26,914 INFO [pool-7-thread-56114]: HiveMetaStore.audit (HiveMetaStore.java:logAuditEvent(319)) - ugi=@ ip= cmd=get_functions: db=db9 pat=*db=db9 拍=*db=db9 拍=*

...

4

0 回答 0