我在独立群集上运行spark应用程序时遇到问题.(我使用spark 1.1.0版本).我通过命令成功运行主服务器:
bash start-master.sh
Run Code Online (Sandbox Code Playgroud)
然后我按命令运行一个worker:
bash spark-class org.apache.spark.deploy.worker.Worker spark://fujitsu11:7077
Run Code Online (Sandbox Code Playgroud)
在master的web UI上:
http://localhost:8080
Run Code Online (Sandbox Code Playgroud)
我明白了,那个主人和工人正在奔跑.
然后我从Eclipse Luna运行我的应用程序.我成功连接到cluster by命令
JavaSparkContext sc = new JavaSparkContext("spark://fujitsu11:7077", "myapplication");
Run Code Online (Sandbox Code Playgroud)
并且在该应用程序工作之后,但当程序实现以下代码时:
JavaRDD<Document> collectionRdd = sc.parallelize(list);
Run Code Online (Sandbox Code Playgroud)
它崩溃了以下错误消息:
org.apache.spark.SparkException: Job aborted due to stage failure: Task 7 in stage 0.0 failed 4 times, most recent failure: Lost task 7.3 in stage 0.0 (TID 11, fujitsu11.inevm.ru):java.lang.ClassNotFoundException: maven.maven1.Document
java.net.URLClassLoader$1.run(URLClassLoader.java:366)
java.net.URLClassLoader$1.run(URLClassLoader.java:355)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:354)
java.lang.ClassLoader.loadClass(ClassLoader.java:425)
java.lang.ClassLoader.loadClass(ClassLoader.java:358)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:270)
org.apache.spark.serializer.JavaDeserializationStream$$anon$1.resolveClass(JavaSerializer.scala:59)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
java.io.ObjectInputStream.readArray(ObjectInputStream.java:1706)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1344)
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:500)
org.apache.spark.rdd.ParallelCollectionPartition.readObject(ParallelCollectionRDD.scala:74) …Run Code Online (Sandbox Code Playgroud) 我正在尝试从应用程序连接到Spark的独立集群.我想在一台机器上做这个.我按命令运行独立主服务器:
bash start-master.sh
Run Code Online (Sandbox Code Playgroud)
然后我按命令运行一个worker:
bash spark-class org.apache.spark.deploy.worker.Worker spark://PC:7077 -m 512m
Run Code Online (Sandbox Code Playgroud)
(我为它分配了512 MB).
在master的web UI上:
http://localhost:8080
Run Code Online (Sandbox Code Playgroud)
我明白了,那个主人和工人正在奔跑.
然后我尝试使用以下命令从应用程序连接到群集:
JavaSparkContext sc = new JavaSparkContext("spark://PC:7077", "myapplication");
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序时,它崩溃并显示以下错误消息:
4/11/01 22:53:26 INFO client.AppClient$ClientActor: Connecting to master spark://PC:7077...
14/11/01 22:53:26 INFO spark.SparkContext: Starting job: collect at App.java:115
14/11/01 22:53:26 INFO scheduler.DAGScheduler: Got job 0 (collect at App.java:115) with 2 output partitions (allowLocal=false)
14/11/01 22:53:26 INFO scheduler.DAGScheduler: Final stage: Stage 0(collect at App.java:115)
14/11/01 22:53:26 INFO scheduler.DAGScheduler: Parents of final stage: List()
14/11/01 22:53:26 INFO scheduler.DAGScheduler: Missing …Run Code Online (Sandbox Code Playgroud) 我正在尝试在独立模式下部署 Spark 应用程序。在这个应用程序中,我使用 tf-idf 向量训练朴素贝叶斯分类器。
我以与这篇文章类似的方式编写应用程序(LogisticRegression 的 Spark MLLib TFIDF 实现)不同之处在于,我获取每个文档,并将其标记化和规范化。
JavaRDD<Document> termDocsRdd = sc.parallelize(fileNameList).flatMap(new FlatMapFunction<String, Document>() {
@Override
public Iterable<Document> call(String fileName)
{
return Arrays.asList(parsingFunction(fileName));
}
});
Run Code Online (Sandbox Code Playgroud)
所以每个 Document 副本都有 textField,它包含规范化的文档文本作为字符串列表(单词列表)和 labelField,其中包含文档的标签作为双精度值。parsingFunction 没有像 map 或 flatMap 等任何 Spark 函数。所以它不包含任何数据分发函数。
当我以本地模式启动我的应用程序时 - 它工作正常,并且在预测模式分类器中正确分类测试文档,但是当我尝试以独立模式启动它时 - 我遇到了一些麻烦 -
当我在一台机器上启动主节点和工作节点时 - 应用程序可以工作,但预测结果比在本地模式下更糟糕。当我在一台机器上启动 master 并在另一台机器上启动 worker 时 - 应用程序崩溃并出现以下错误:
14/12/02 11:19:17 INFO scheduler.TaskSetManager: Starting task 0.1 in stage 0.0 (TID 3, fujitsu10.inevm.ru, PROCESS_LOCAL, 1298 bytes)
14/12/02 11:19:17 INFO scheduler.TaskSetManager: Lost task 1.0 …Run Code Online (Sandbox Code Playgroud) 有人知道 - 是否可以保存Spark的Naive Bayes分类器的训练模型(例如在文本文件中),并在将来加载它(如果需要)?
谢谢.