此处将为大家介绍关于Zeppelin0.9在YARN客户端模式下运行Spark笔记本,而不是YARN集群的详细内容,并且为您解答有关zeppelinapache的相关问题,此外,我们还将为您介绍关于.
此处将为大家介绍关于Zeppelin 0.9 在 YARN 客户端模式下运行 Spark 笔记本,而不是 YARN 集群的详细内容,并且为您解答有关zeppelin apache的相关问题,此外,我们还将为您介绍关于.spark.sql.execution.WholeStageCodegenExec$ 这个异常影响运行吗?spark on yarn 的任务、Apache Zeppelin Spark - 使用 Cron 调度程序运行笔记本后找不到表、apache.spark:应该在客户端设置 spark.yarn.jars 属性吗?、Flink on Zeppelin 系列之:Yarn Application 模式支持的有用信息。
本文目录一览:- Zeppelin 0.9 在 YARN 客户端模式下运行 Spark 笔记本,而不是 YARN 集群(zeppelin apache)
- .spark.sql.execution.WholeStageCodegenExec$ 这个异常影响运行吗?spark on yarn 的任务
- Apache Zeppelin Spark - 使用 Cron 调度程序运行笔记本后找不到表
- apache.spark:应该在客户端设置 spark.yarn.jars 属性吗?
- Flink on Zeppelin 系列之:Yarn Application 模式支持
Zeppelin 0.9 在 YARN 客户端模式下运行 Spark 笔记本,而不是 YARN 集群(zeppelin apache)
如何解决Zeppelin 0.9 在 YARN 客户端模式下运行 Spark 笔记本,而不是 YARN 集群?
我刚刚设置了 Zeppelin(版本 0.9)以与 Hadoop (3.3.0) + Spark (3.1.2) 一起运行。我正在尝试运行 Zeppelin 网站中给出的示例代码:
val bankText = sc.textFile("file:///path/to/bank/bank-full.csv")
case class Bank(age:Integer,job:String,marital : String,education : String,balance : Integer)
// split each line,filter out header (starts with "age"),and map it into Bank case class
val bank = bankText.map(s=>s.split(";")).filter(s=>s(0)!="\"age\"").map(
s=>Bank(s(0).toInt,s(1).replaceAll("\"",""),s(2).replaceAll("\"",s(3).replaceAll("\"",s(5).replaceAll("\"","").toInt
)
)
// convert to DataFrame and create temporal table
bank.toDF().registerTempTable("bank")
然后:
%sql select age,count(1) from bank where age < 30 group by age order by age
当我在 YARN 客户端模式下运行它时,它工作正常并产生预期的输出。但是当我尝试在 YARN 集群模式下运行时,它给了我以下错误:
INFO [2021-07-23 06:05:49,623] ({SchedulerFactory6} ProcessLauncher.java[transition]:109) - Process state is transitioned to LAUNCHED
INFO [2021-07-23 06:05:49,624] ({SchedulerFactory6} ProcessLauncher.java[launch]:96) - Process is launched: [/opt/zeppelin/bin/interpreter.sh,-d,/opt/zeppelin/interpreter/spark,-c,10.0.15.21,-p,37921,-r,:,-i,spark-shared_process,-l,/opt/zeppelin/local-repo/spark,-g,spark]
WARN [2021-07-23 06:05:59,666] ({Exec Default Executor} RemoteInterpreterManagedProcess.java[onProcessComplete]:255) - Process is exited with exit value 0
INFO [2021-07-23 06:05:59,667] ({Exec Default Executor} ProcessLauncher.java[transition]:109) - Process state is transitioned to COMPLETED
INFO [2021-07-23 06:06:06,192] ({pool-7-thread-5} RemoteInterpreterEventServer.java[registerInterpreterProcess]:176) - Register interpreter process: 10.0.15.21:43289,interpreterGroup: spark-shared_process
INFO [2021-07-23 06:06:06,193] ({pool-7-thread-5} ProcessLauncher.java[transition]:109) - Process state is transitioned to RUNNING
INFO [2021-07-23 06:06:06,193] ({SchedulerFactory6} RemoteInterpreterManagedProcess.java[start]:132) - Detected yarn app: application_1627000352599_0011,add it to YarnAppMonitor
ERROR [2021-07-23 06:06:06,194] ({SchedulerFactory6} Job.java[run]:174) - Job Failed
java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
at org.apache.zeppelin.interpreter.remote.RemoteInterpreterManagedProcess.start(RemoteInterpreterManagedProcess.java:133)
at org.apache.zeppelin.interpreter.ManagedInterpreterGroup.getorCreateInterpreterProcess(ManagedInterpreterGroup.java:68)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getorCreateInterpreterProcess(RemoteInterpreter.java:104)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.internal_create(RemoteInterpreter.java:154)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.open(RemoteInterpreter.java:126)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getFormType(RemoteInterpreter.java:271)
at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:444)
at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:72)
at org.apache.zeppelin.scheduler.Job.run(Job.java:172)
at org.apache.zeppelin.scheduler.AbstractScheduler.runJob(AbstractScheduler.java:132)
at org.apache.zeppelin.scheduler.RemoteScheduler$JobRunner.run(RemoteScheduler.java:182)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.classNotFoundException: org.apache.hadoop.conf.Configuration
at java.net.urlclassloader.findClass(urlclassloader.java:382)
at java.lang.classLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.classLoader.loadClass(ClassLoader.java:351)
... 18 more
ERROR [2021-07-23 06:06:06,195] ({SchedulerFactory6} NotebookServer.java[onStatusChange]:1920) - Error
java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
at org.apache.zeppelin.interpreter.remote.RemoteInterpreterManagedProcess.start(RemoteInterpreterManagedProcess.java:133)
at org.apache.zeppelin.interpreter.ManagedInterpreterGroup.getorCreateInterpreterProcess(ManagedInterpreterGroup.java:68)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getorCreateInterpreterProcess(RemoteInterpreter.java:104)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.internal_create(RemoteInterpreter.java:154)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.open(RemoteInterpreter.java:126)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getFormType(RemoteInterpreter.java:271)
at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:444)
at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:72)
at org.apache.zeppelin.scheduler.Job.run(Job.java:172)
at org.apache.zeppelin.scheduler.AbstractScheduler.runJob(AbstractScheduler.java:132)
at org.apache.zeppelin.scheduler.RemoteScheduler$JobRunner.run(RemoteScheduler.java:182)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.classNotFoundException: org.apache.hadoop.conf.Configuration
at java.net.urlclassloader.findClass(urlclassloader.java:382)
at java.lang.classLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.classLoader.loadClass(ClassLoader.java:351)
我真的不知道该怎么做。我尝试通过 hadoop classpath
获取 Hadoop 类路径并返回:
/opt/hadoop/etc/hadoop:/opt/hadoop/share/hadoop/common/lib/*:/opt/hadoop/share/hadoop/common/*:/opt/hadoop/share/hadoop/hdfs:/opt/hadoop/share/hadoop/hdfs/lib/*:/opt/hadoop/share/hadoop/hdfs/*:/opt/hadoop/share/hadoop/mapreduce/*:/opt/hadoop/share/hadoop/yarn:/opt/hadoop/share/hadoop/yarn/lib/*:/opt/hadoop/share/hadoop/yarn/*
然后我将其添加到 spark-defaults.conf
和 spark.driver.extraClasspath
中的 spark.executor.extraClasspath
,因为 org.apache.hadoop.conf.Configuration
在 hadoop-commons-3.3.0.jar
内。我还确保在 zeppelin-env.sh
中包含适当的信息:
export HADOOP_HOME=/opt/hadoop
export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop/
export USE_HADOOP=true
export SPARK_HOME=/opt/spark
但由于某种原因,我似乎无法通过 Zeppelin 以 YARN 集群模式进行部署(如果我自己使用 spark-submit
,我可以。)
注意:我禁用了 zeppelin.spark.enableSupportedVersionCheck
,因为我使用的是由 Zeppelin 官方支持的 Spark 3.1.2 与 Spark 3.0 版本。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
.spark.sql.execution.WholeStageCodegenExec$ 这个异常影响运行吗?spark on yarn 的任务
20/03/23 10:13:08 INFO cluster.YarnScheduler: Adding task set 1.0 with 1 tasks
20/03/23 10:13:08 INFO scheduler.TaskSetManager: Starting task 0.0 in stage 1.0 (TID 1, slave2, executor 1, partition 0, PROCESS_LOCAL, 7778 bytes)
20/03/23 10:13:08 INFO storage.BlockManagerInfo: Added broadcast_1_piece0 in memory on slave2:32779 (size: 6.3 KB, free: 912.3 MB)
20/03/23 10:13:09 WARN scheduler.TaskSetManager: Lost task 0.0 in stage 1.0 (TID 1, slave2, executor 1): java.lang.NullPointerException
at security.view.model.FirewallIncidentCount
at security.view.model.FirewallIncidentCount
at scala.collection.Iterator
at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.processNext(Unknown Source)
at org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
at org.apache.spark.sql.execution.WholeStageCodegenExec
at org.apache.spark.sql.execution.SparkPlan
at org.apache.spark.rdd.RDD
at org.apache.spark.rdd.RDD
at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:288)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
at org.apache.spark.scheduler.Task.run(Task.scala:121)
at org.apache.spark.executor.Executor$TaskRunner$$anonfun$11.apply(Executor.scala:407)
at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1408)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:413)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Apache Zeppelin Spark - 使用 Cron 调度程序运行笔记本后找不到表
如何解决Apache Zeppelin Spark - 使用 Cron 调度程序运行笔记本后找不到表
使用以前版本的 Apache Zeppelin 和 Spark,一切正常。 最近我们升级到 Zeppelin 0.9 和 Spark 3.0.2 (Hadoop 3.2)。 现在,我们在从 UI Cron 调度程序运行 Notebook 时遇到了问题。
在该计划的笔记本中创建表格后,手动运行任何笔记本/段落时都看不到/找不到该表格。
示例:
第 1 段
case class People(name: String,age: Int)
var df = spark.createDataFrame(List(People("jeff",23),People("andy",20)))
df.createOrReplaceTempView("people")
第 2 段
%sql
select * from people
如果这 2 个段落由 Zeppelin Cron 调度程序运行,则一切正常。 但是如果我只手动运行第 2 段,将找不到该表。
Table or view not found: people; line 2 pos 14;
''Project [*]
+- ''UnresolvedRelation [people]
当然,如果我手动运行第1段,就会找到表格。
由于这个问题,我们临时切换到使用 zeppelin API 触发器的 ubuntu crontab。但是在使用该解决方案时,我们遇到了一些奇怪的问题。在某些时候,几乎每天我们都必须重新启动整个集群,因为它不再工作了…… 这就是为什么我更喜欢使用内置的 Zeppelin cron 调度程序来工作。
我想某处有一个配置可以强制 Zeppelin 在相同的上下文中运行笔记本?我已将 Spark 解释器设置为在共享进程中全局实例化
谢谢。
apache.spark:应该在客户端设置 spark.yarn.jars 属性吗?
如何解决apache.spark:应该在客户端设置 spark.yarn.jars 属性吗?
我有一个关于 spark.yarn.jars 属性和 Spark 集群组织的基本问题。
我看到了几个关于该属性 spark2 + yarn - nullpointerexception while preparing AM container,Property spark.yarn.jars - how to deal with it? 的问题,这让我陷入了困境。这是我的设置:
- 鉴于我在火花纱线集群上运行我的工作
- 我正在提交一些 jar 以进行 spark-submit
- 作业转到多个节点执行
- 所有节点都有一些位于某处的火花罐,描述为 spark.yarn.jars 属性
由此我得出结论:
spark.yarn.jars 是服务器端的属性,它与提交作业的 spark 客户端无关。我从来没有在我的本地 spark conf 中设置它。正确吗?
如果是,我对文档中的这段摘录感到困惑:
要使 Spark 运行时 jar 可从 YARN 端访问,您可以指定 spark.yarn.archive 或 spark.yarn.jars。详情请参考 火花属性。如果 spark.yarn.archive 和 spark.yarn.jars 都不是 指定,Spark 将创建一个包含所有 jars 的 zip 文件 $SPARK_HOME/jars 并将其上传到分布式缓存。
所以实际上他们所说的是本地 Spark 客户端将从本地 $SPARK_HOME/jars 复制 jars 并将它们上传到集群,具体取决于我工作中 spark.yarn.jars 的本地值?这与 p.1 相矛盾。
真相在哪里?应该用 spark.yarn.jars 来激发客户的交易吗?
Flink on Zeppelin 系列之:Yarn Application 模式支持
作者:章剑锋(简锋)
去年 Flink Forward 在讲 Flink on Zeppelin 这个项目的未来时我们谈到了对Application 模式的支持,今天就有一个好消息要告诉大家,社区已经实现了这一Feature,欢迎大家加入 Flink on Zeppelin 的钉钉群(32803524),下载最新版来使用这个Feature。
一、架构
二、如何使用 Yarn Application 模式
Scala (%flink)
PyFlink (%flink.pyflink)
SQL (%flink.ssql, %flink.bsql)
在 Zeppelin 中直接写 Scala UDF;
在 Zeppelin 中直接写 PyFlink UDF;
用 SQL 创建 UDF;
使用 flink.udf.jars 来指定含有 udf 的 jar。
flink.excuetion.packages
flink.execution.jars (需要注意的是在 Yarn Application 模式下,这里需要指定 HDFS 路径,因为 Flink Interpreter 运行在 JobManager 里,而JobManager 是跑在 yarn container, 在 yarn container 那台 NodeManager 机器上不一定有你要指定的 jar)
同时支持 Batch SQL 和 Streaming SQL
多语句支持
Comment 支持
Job 并行度支持
Multiple insert 支持
JobName 的设置
Stream SQL 流式数据可视化
▼ 关注「Flink 中文社区」,获取更多技术干货 ▼
戳我,查看更多技术干货!
本文分享自微信公众号 - Flink 中文社区(gh_5efd76d10a8d)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
关于Zeppelin 0.9 在 YARN 客户端模式下运行 Spark 笔记本,而不是 YARN 集群和zeppelin apache的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于.spark.sql.execution.WholeStageCodegenExec$ 这个异常影响运行吗?spark on yarn 的任务、Apache Zeppelin Spark - 使用 Cron 调度程序运行笔记本后找不到表、apache.spark:应该在客户端设置 spark.yarn.jars 属性吗?、Flink on Zeppelin 系列之:Yarn Application 模式支持的相关信息,请在本站寻找。
本文标签: