linux下运行jupyter,运行出错,有星号出现:in[*]


  • 报错提示1:at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.waitForAppl

  • 报错提示2:Error initializing SparkContext

  • 解决方案:

  • 首先看一下Java版本   Java -version  和 javac -version 输出是否一致。若不一致:

      在Linux系统里,#which Java 会出现几个Java路径,cd到这些路径里,#cd /usr/bin

当我们输入Java的时候系统就会在/usr/bin 里面找,然后我们看一下其属性:#file java*,发现这些都是连接,

连接到/etc/alternatives里面去,这里面是之前安装的Java,自然就和现在安装的不匹配。

解决方法是把他们删除,或者弄成备注,使他们不起作用。#mv  Java   Java.bak

       这样就输出一致了,Java的问题的到解决。

  • 报错的代码:
  • at org.apache.spark.network.client.TransportClient$3.operationComplete(TransportClient.java:249)
        at org.apache.spark.network.client.TransportClient$3.operationComplete(TransportClient.java:233)
        at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:514)
        at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:488)
        at io.netty.util.concurrent.DefaultPromise.access$000(DefaultPromise.java:34)
        at io.netty.util.concurrent.DefaultPromise$1.run(DefaultPromise.java:438)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:408)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:455)
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:140)
        at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
        at java.lang.Thread.run(Thread.java:748)

这些代码的意思是,系统需要调这些包,调包是出现错误,故出现了这些东西。。。。。。。。

解决方法是:在yarn-site.sh中写入以下代码:


    yarn.nodemanager.pmem-check-enabled
    false



    yarn.nodemanager.vmem-check-enabled
    false

划重点,敲黑板 :namenode和datanode都需要配置!重启!重启Hadoop!

继续重启spark,在yarn模式打开jupyter,可以运行了。

yarn模式启动jupyter:PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS="notebook"
HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop pyspark --master yarn --deploy-mode client

转载连接:https://blog.csdn.net/gg584741/article/details/72825713

还有:其实我的错误还有另外一个致命的,粗心的错误,就是配置spark-env.sh时,写Hadoop的环境变量时多写了一个w!!!

 

手残多打了一个字符,太粗心了。

 

 

 

 

你可能感兴趣的:(Hadoop)