我在AWS上有一个现有的Apache Spark(1.3版本)独立集群,我想安装Apache Zeppelin.
我有一个非常简单的问题,我是否必须在Spark的主人身上安装Zeppelin?
如果答案是肯定的,我可以使用该指南https://github.com/apache/incubator-zeppelin#build吗?
谢谢大家
bigdata amazon-web-services apache-spark apache-spark-sql apache-zeppelin
我正在尝试在Ubuntu14 w/Hadoop 1.0.3和Spark 1.4.0上运行zeppelin.我已经完成了源代码的构建,所有的包都成功完成了构建.但是当我运行守护进程时,它失败并说Zeppelin进程已经死亡.
有什么想法会出错吗?
它说它找不到日志文件夹和运行文件夹,它们肯定存在.
我是Apache Zeppelin的新手,我尝试在本地运行它.我尝试运行一个简单的健全性检查,看看它是否sc存在并得到以下错误.
我编译它为pyspark和spark 1.5(我使用spark 1.5).我将内存增加到5 GB并将端口更改为8091.
我不确定我做错了什么,所以我得到以下错误,我该如何解决它.
提前致谢
抛出java.lang.ClassNotFoundException:org.apache.spark.repl.SparkCommandLine在java.net.URLClassLoader.findClass(URLClassLoader.java:381)在java.lang.ClassLoader.loadClass(ClassLoader.java:424)在sun.misc.启动$ AppClassLoader.loadClass(Launcher.java:331)在java.lang.ClassLoader.loadClass(ClassLoader.java:357)在org.apache.zeppelin.spark.SparkInterpreter.open(SparkInterpreter.java:401)在org.apache .zeppelin.interpreter.ClassloaderInterpreter.open(ClassloaderInterpreter.java:74)org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:68)at org.apache.zeppelin.spark.PySparkInterpreter.getSparkInterpreter(PySparkInterpreter.java) :485)org.apache.zeppelin.spark.PySparkInterpreter.createGatewayServerAndStartScript(PySparkInterpreter.java:174)org.apache.zeppelin.spark.PySparkInterpreter.open(PySparkInterpreter.java:152)org.apache.zeppelin.interpreter. org.apache.zeppelin.interpreter.Lazy中的ClassloaderInterpreter.open(ClassloaderInterpreter.java:74)org.apache.zeppelin.interpret(LazyOpenInterpreter.java:92)中的OpenInterpreter.open(LazyOpenInterpreter.java:68)位于org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer $ InterpretJob.jobRun(RemoteInterpreterServer.java: 302)在org.apache.zeppelin.scheduler.Job.run(Job.java:171)在org.apache.zeppelin.scheduler.FIFOScheduler $ 1.run(FIFOScheduler.java:139)在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)在java.util.concurrent.FutureTask.run(FutureTask.java:266)在java.util.concurrent.ScheduledThreadPoolExecutor中$ ScheduledFutureTask.access $ 201(ScheduledThreadPoolExecutor.java:180)在爪哇. util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)在java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java: 617)在java.lang.Thread.run(Thread.java:745)
更新 我的解决方案是将我的scala版本从2.11.*降级到2.10.*,再次构建Apache Spark并运行Zeppelin.
斯卡拉:
val df = sc.parallelize(Seq(
("Jan" , "1", "1","3"),
("Feb" , "2", "5","2"),
("Mar" , "2", "3","1")))
.toDF("time" , "f1", "f2", "f3")
df.registerTempTable("inout")
Run Code Online (Sandbox Code Playgroud)
sql:
%sql
select time , f1 , f2 , f3
from inout
Run Code Online (Sandbox Code Playgroud)
但是我想在单个可视化上绘制所有数据点的图形,因此应绘制三条线,其中每条线显示f1,f2,f3的点.目前只显示"f1":
如何在单线图中显示所有数据?
换句话说,如何将这三个折线图显示为单个图表?:
我正在寻找zeppelin文档来启动本地火花它说:
cd $ZEPPELIN_HOME/scripts/docker/spark-cluster-managers/spark_standalone
Run Code Online (Sandbox Code Playgroud)
但是在$ ZEPPELIN_HOME我没有脚本文件夹:
$ ls -l ~/dev/zeppelin-0.7.3-bin-all/
LICENSE README.md conf/ lib/ local-repo/ notebook/ webapps/
NOTICE bin/ interpreter/ licenses/ logs/ run/ zeppelin-web-0.7.3.war
Run Code Online (Sandbox Code Playgroud)
上面提到的脚本目录在哪里?
我正在 google dataproc 中创建一个具有以下特征的集群:
Master Standard (1 master, N workers)
Machine n1-highmem-2 (2 vCPU, 13.0 GB memory)
Primary disk 250 GB
Worker nodes 2
Machine type n1-highmem-2 (2 vCPU, 13.0 GB memory)
Primary disk size 250 GB
Run Code Online (Sandbox Code Playgroud)
我还添加Initialization actions了.sh这个存储库中的文件以使用 zeppelin。
我使用的代码可以很好地处理某些数据,但是如果我使用更多的数据,则会出现以下错误:
Container killed by YARN for exceeding memory limits. 4.0 GB of 4 GB physical memory used. Consider boosting spark.yarn.executor.memoryOverhead.
Run Code Online (Sandbox Code Playgroud)
我看到的帖子像这样的:集装箱杀害纱线超过内存...它建议更改yarn.nodemanager.vmem-check-enabled到false。
我有点困惑。当我初始化集群时是否所有这些配置都发生了?
还有具体位置在哪里yarn-site.xml?我无法在 master 中找到它(无法在/usr/lib/zeppelin/conf/ …
我正在尝试使用 zeppelin-0.8.0 连接到 AWS Glue 开发端点,并且在执行以下单元格时发生错误。并且没有有用的信息来了解可能是什么问题。任何线索表示赞赏
172318_1906434757 is finished, status: ERROR, exception: java.lang.RuntimeException: org.apache.thrift.TApplicationException: Internal error processing createInterpreter, result: %text org.apache.thrift.TApplicationException: Internal error processing createInterpreter
at org.apache.thrift.TApplicationException.read(TApplicationException.java:111)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:71)
at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Client.recv_createInterpreter(RemoteInterpreterService.java:209)
at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Client.createInterpreter(RemoteInterpreterService.java:192)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter$2.call(RemoteInterpreter.java:169)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter$2.call(RemoteInterpreter.java:165)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreterProcess.callRemoteFunction(RemoteInterpreterProcess.java:135)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.internal_create(RemoteInterpreter.java:165)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.open(RemoteInterpreter.java:132)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.getFormType(RemoteInterpreter.java:299)
at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:407)
at org.apache.zeppelin.scheduler.Job.run(Job.java:188)
at org.apache.zeppelin.scheduler.RemoteScheduler$JobRunner.run(RemoteScheduler.java:307)
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)
Run Code Online (Sandbox Code Playgroud)
更新:所以在下面的答案中看起来 0.8.0 还不能与 Glue 一起使用..我在运行 0.7.x 时遇到了问题,javax.ws.rx 包在使用 Java 8 时有一堆 MethodNotFoundException(也没有帮助更新替代 …
我正在Zeppelin内部的协作环境中与Spark合作。因此,我们只有一个解释器,并且许多用户正在使用该解释器。出于这个原因,我定义它使用instantiation per user在scoped mode。
通过这种配置,用户作业X等待其他用户的作业分配的资源。
为了更改此行为并允许来自不同用户的作业同时执行,我将Spark配置(在Zeppelin解释器配置上)定义spark.scheduler.mode为FAIR。为了达到预期的效果,用户需要在笔记本上手动定义自己的Spark池(可以同时执行来自不同池的作业:https://spark.apache.org/docs/latest/job-scheduling。 html#scheduling-in-an-application)和以下代码:
sc.setLocalProperty("spark.scheduler.pool", "pool1")
Run Code Online (Sandbox Code Playgroud)
备注:一小时后,翻译器关闭。如果用户忘记了下次执行该命令,那么他们将落入默认池中,这不好。
我想知道的是:是否可以在他每次执行Spark段落时自动设置一个Spark用户池,而无需人工操作?
如果还有其他方法可以做到,请告诉我。
我在 Zeppelin 笔记本中使用 pspark 并尝试使用 SELECT 语句获取数据。我只是想查询一个表,但以下命令出现奇怪的错误:
%pyspark
spark.sql('select * from default.abc').show()
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Py4JJavaError: An error occurred while calling o92.sql.
: java.lang.NoSuchMethodError: com.facebook.fb303.FacebookService$Client.sendBaseOneway(Ljava/lang/String;Lorg/apache/thrift/TBase;)V
at com.facebook.fb303.FacebookService$Client.send_shutdown(FacebookService.java:436)
at com.facebook.fb303.FacebookService$Client.shutdown(FacebookService.java:430)
at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.close(HiveMetaStoreClient.java:606)
at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:154)
at com.sun.proxy.$Proxy39.close(Unknown Source)
at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.hive.metastore.HiveMetaStoreClient$SynchronizedHandler.invoke(HiveMetaStoreClient.java:2477)
at com.sun.proxy.$Proxy39.close(Unknown Source)
at org.apache.hadoop.hive.ql.metadata.Hive.close(Hive.java:414)
at org.apache.hadoop.hive.ql.metadata.Hive.create(Hive.java:330)
at org.apache.hadoop.hive.ql.metadata.Hive.getInternal(Hive.java:317)
at org.apache.hadoop.hive.ql.metadata.Hive.get(Hive.java:293)
at org.apache.spark.sql.hive.client.HiveClientImpl$$anonfun$withHiveState$1.apply(HiveClientImpl.scala:278)
at org.apache.spark.sql.hive.client.HiveClientImpl.liftedTree1$1(HiveClientImpl.scala:221)
at org.apache.spark.sql.hive.client.HiveClientImpl.retryLocked(HiveClientImpl.scala:220)
at org.apache.spark.sql.hive.client.HiveClientImpl.withHiveState(HiveClientImpl.scala:266)
at org.apache.spark.sql.hive.client.HiveClientImpl.databaseExists(HiveClientImpl.scala:356)
at org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$databaseExists$1.apply$mcZ$sp(HiveExternalCatalog.scala:217)
at org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$databaseExists$1.apply(HiveExternalCatalog.scala:217)
at org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$databaseExists$1.apply(HiveExternalCatalog.scala:217)
at org.apache.spark.sql.hive.HiveExternalCatalog.withClient(HiveExternalCatalog.scala:99)
at …Run Code Online (Sandbox Code Playgroud) 我想将一个字符串传递给spark.sql
这是我的查询
mydf = spark.sql("SELECT * FROM MYTABLE WHERE TIMESTAMP BETWEEN '2020-04-01' AND '2020-04-08')
Run Code Online (Sandbox Code Playgroud)
我想传递一个日期字符串。
我试过这段代码
val = '2020-04-08'
s"spark.sql("SELECT * FROM MYTABLE WHERE TIMESTAMP BETWEEN $val AND '2020-04-08'
Run Code Online (Sandbox Code Playgroud) apache-zeppelin ×10
apache-spark ×6
pyspark ×4
aws-glue ×1
bigdata ×1
hadoop-yarn ×1
pyspark-sql ×1
python-3.x ×1
scala ×1