小编Alc*_*ist的帖子

在yarn集群模式下运行spark应用程序时找不到HADOOP_HOME

我正在尝试以纱线集群模式运行应用程序。shell脚本的设置如下:

spark-submit --class "com.Myclass"  \
--num-executors 2 \
 --executor-cores 2 \
 --master yarn \
 --supervise \
 --deploy-mode cluster \
../target/ \
Run Code Online (Sandbox Code Playgroud)

此外,我收到以下错误。以下是来自 YARN LOGS APPLICATIONID 的错误详细信息

INFO : org.apache.spark.deploy.yarn.ApplicationMaster - Registered signal handlers for [TERM, HUP, INT]
DEBUG: org.apache.hadoop.util.Shell - Failed to detect a valid hadoop home directory
java.io.IOException: HADOOP_HOME or hadoop.home.dir are not set.
    at org.apache.hadoop.util.Shell.checkHadoopHome(Shell.java:307)
    at org.apache.hadoop.util.Shell.<clinit>(Shell.java:332)
    at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:79)
    at org.apache.hadoop.yarn.conf.YarnConfiguration.<clinit>(YarnConfiguration.java:590)
    at org.apache.spark.deploy.yarn.YarnSparkHadoopUtil.newConfiguration(YarnSparkHadoopUtil.scala:62)
    at org.apache.spark.deploy.SparkHadoopUtil.<init>(SparkHadoopUtil.scala:52)
    at org.apache.spark.deploy.yarn.YarnSparkHadoopUtil.<init>(YarnSparkHadoopUtil.scala:47)
Run Code Online (Sandbox Code Playgroud)

我尝试像下面这样修改spark-env.sh,我看到 Hadoop_Home 已记录,但仍然出现上述错误。修改并添加以下条目到spark-env.sh

export HADOOP_HOME="/usr/lib/hadoop"
echo "&&&&&&&&&&&&&&&&&&&&&& HADOOP HOME " 
echo …
Run Code Online (Sandbox Code Playgroud)

hadoop-yarn apache-spark

5
推荐指数
1
解决办法
2万
查看次数

Kafka NotLeaderForPartitionException

我正在尝试创建一个简单的 Kafka 客户端,我从 Springboot 应用程序运行它。我的要求是使用Kafka 0.8.2.2版本。该应用程序一开始工作正常,然后我收到此异常,我无法找到根本原因。

在 Kafka 日志中我看到以下异常:

由于分区 [TESTQA,2] 上的客户端测试组的关联 ID 0 的偏移量请求失败,因为代理 256 上的分区 [TESTQA,2] 的领导者不是本地的 2017-07-21 03:40:54,186 INFO kafka.network.Processor:正在关闭套接字连接到/。

kafka.common.NotLeaderForPartitionException: null
    at sun.reflect.GeneratedConstructorAccessor41.newInstance(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_131]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_131]
    at java.lang.Class.newInstance(Class.java:442) ~[na:1.8.0_131]
    at kafka.common.ErrorMapping$.exceptionFor(ErrorMapping.scala:86) ~[kafka_2.10-0.8.2.2.jar:na]
    at kafka.consumer.SimpleConsumer.earliestOrLatestOffset(SimpleConsumer.scala:169) ~[kafka_2.10-0.8.2.2.jar:na]
    at kafka.consumer.ConsumerFetcherThread.handleOffsetOutOfRange(ConsumerFetcherThread.scala:60) ~[kafka_2.10-0.8.2.2.jar:na]
    at kafka.server.AbstractFetcherThread$$anonfun$addPartitions$2.apply(AbstractFetcherThread.scala:177) ~[kafka_2.10-0.8.2.2.jar:na]
    at kafka.server.AbstractFetcherThread$$anonfun$addPartitions$2.apply(AbstractFetcherThread.scala:172) ~[kafka_2.10-0.8.2.2.jar:na]
    at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:772) ~[scala-library-2.10.4.jar:na]
    at scala.collection.immutable.Map$Map2.foreach(Map.scala:130) ~[scala-library-2.10.4.jar:na]
    at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:771) ~[scala-library-2.10.4.jar:na]
    at kafka.server.AbstractFetcherThread.addPartitions(AbstractFetcherThread.scala:172) ~[kafka_2.10-0.8.2.2.jar:na]
    at kafka.server.AbstractFetcherManager$$anonfun$addFetcherForPartitions$2.apply(AbstractFetcherManager.scala:87) ~[kafka_2.10-0.8.2.2.jar:na]
    at kafka.server.AbstractFetcherManager$$anonfun$addFetcherForPartitions$2.apply(AbstractFetcherManager.scala:77) ~[kafka_2.10-0.8.2.2.jar:na]
    at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:772) ~[scala-library-2.10.4.jar:na]
    at scala.collection.immutable.Map$Map2.foreach(Map.scala:130) ~[scala-library-2.10.4.jar:na]
    at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:771) ~[scala-library-2.10.4.jar:na] …
Run Code Online (Sandbox Code Playgroud)

apache-kafka

5
推荐指数
1
解决办法
7976
查看次数

Spark 2.3 java.lang.NoSuchMethodError:io.netty.buffer.PooledByteBufAllocator.metric

SPARK 2.3引发以下异常。谁能帮忙!我尝试添加JAR

308 [驱动程序]错误org.apache.spark.deploy.yarn.ApplicationMaster-用户类引发异常:java.lang.NoSuchMethodError:io.netty.buffer.PooledByteBufAllocator.metric()Lio / netty / buffer / PooledByteBufAllocatorMetric; java.lang.NoSuchMethodError:io.netty.buffer.PooledByteBufAllocator.metric()Lio / netty / buffer / PooledByteBufAllocatorMetric; 在org.apache.spark.network.util.NettyMemoryMetrics。(NettyMemoryMetrics.java:76)在org.apache.spark.network.util.NettyMemoryMetrics.registerMetrics(NettyMemoryMetrics.java:80)在org.apache.spark.network中。在org.apache.spark.network.transportContext.createClientFactory(TransportContext.java:99)处的client.TransportClientFactory。(TransportClientFactory.java:109)在org.apache.spark.rpc.netty.NettyRpcEnv。(NettyRpcEnv.scala:71)在org.apache.spark.rpc.netty。

apache-spark

5
推荐指数
1
解决办法
5988
查看次数

如何为 Spark 结构化流动态分配资源和管理尖峰?

我编写了一个结构化的流应用程序来将数据实时推送到 S3。我们从 Kafka 接收数据,并在使用结构化流处理数据后将数据推送到 S3。

我知道 Spark 流支持动态分配资源。但是在 JIRA https://issues.apache.org/jira/browse/SPARK-24815 之后发现说结构化流不支持资源的动态分配。

想知道在结构化流目前不支持动态分配资源时如何处理数据峰值。

不实现动态分配的原因如下(来自 JIRA): 如果我们设置 spark.dynamicAllocation.enabled=true 并运行一个结构化的流作业,批量动态分配算法就会启动。如果任务积压是特定大小,它会请求更多的执行程序, 并在它们空闲一段时间后删除 executors。它基本上用于批处理而不是连续处理。在批处理模式下,我们关心 numRunningOrPendingTasks 而对于流的比率:averageBatchProcTime.toDouble / batchDurationMs 即每单位时间的平均批处理时间,因此在空闲时缩小系统不是一个有效的解决方案。

问题:未提供资源动态分配时如何处理 SPIKES。

apache-spark spark-structured-streaming

5
推荐指数
1
解决办法
532
查看次数

如何动态增加在Yarn上运行的Spark中的活动任务

在此输入图像描述我正在运行一个火花流式传输过程,我得到了一批6000个事件.但是当我查看执行程序时,只有一个活动任务正在运行.我尝试了动态分配以及设置执行程序的数量等.即使我有15个执行程序,一次只运行一个活动任务.任何人都可以指导我在这里做错了什么.

hadoop-yarn apache-spark spark-streaming

4
推荐指数
1
解决办法
1502
查看次数

(SQL) 如何应用带有百分位数的 case 语句来计算组的中位数

我正在使用 case 语句来计算某些标准的统计数据,如下所示

avg(case when det.detection_time >0 then det.blocked_time end) 

and

sum(case when det.detection_time  =0 then 1 else 0 end) 
Run Code Online (Sandbox Code Playgroud)

我应该如何应用案例陈述来获得中位数。

目前我得到的中位数如下:

PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER by det.blocked_time)
Run Code Online (Sandbox Code Playgroud)

我应该如何向 PERCENTILE_CONT 块添加条件“case when det.detection_time >0”以获得 det.detection_time >0 的组的中值

sql postgresql

0
推荐指数
1
解决办法
3257
查看次数