当前位置: 首页 > 知识库问答 >
问题:

将本地计算机/容器设置为边缘节点,以便在远程群集上提交spark应用程序

梁丘权
2023-03-14

我试图将容器设置为边缘节点,以便在安装了spark/Hadoop(Spark2.2.0)的dev集群上运行spark应用程序。

    null

我还尝试将SPARK_LOCAL_IP设置为dev集群边缘机器,我们通常在这里提交spark-submit。

这就是我在容器上提交spark-submit的方式:

spark-submit-主纱-queue stark-total-executor-cores 4-executor-cores 2-executor-memory 10g-driver-memory 10g-name Test_Spark-class ca.ix.hubble.insights.runner.jobrunneroptimized hdfs://novus-nameservice/tmp/airflowtest/insights.jar

如果我这样做,我将得到以下错误:

java.net.BindException: Cannot assign requested address: Service 'sparkDriver' failed after 16 retries (on a random free port)! Consider explicitly setting the appropriate binding address for the service 'sparkDriver' (for example spark.driver.bindAddress for SparkDriver) to the correct binding address.
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:461)
        at sun.nio.ch.Net.bind(Net.java:453)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:222)
        at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:127)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:501)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1218)
        at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:496)
        at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:481)
        at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:965)
        at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:210)
        at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:353)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:399)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:446)
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
        at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
        at java.lang.Thread.run(Thread.java:748)```



共有1个答案

聂炜
2023-03-14

顺便说一下,这是我自己想出来的,下面是我如何将本地机器设置为边缘节点:

  1. 将安装hadoop的远程服务器上的spark2,hadoop目录复制到本地的/tmp/。您还可以在本地安装hadoop和spark,然后将core-site.xml、hdfs-site.xml和yarn-site.xml从集群替换为本地默认文件。您可能还希望为Spark.
  2. 带来spark-env.sh
  3. 创建HADOOP_HOME环境变量并指向本地,例如导出HADOOP_HOME=/tmp/hadoop
  4. 创建了SPARK_HOME环境变量并指向本地,例如export SPARK_HOME=/tmp/spark2
  5. 创建HADOOP_CONF_DIR,并指向本地,例如export HADOOP_CONF_DIR=/tmp/hadoop/conf
  6. 安装java并设置JAVA_HOME环境变量
  7. 将所有环境变量bin目录添加到PATH中,例如export PATH=$PATH:${JAVA_HOME}/bin:${SPARK_HOME}/bin:${HADOOP_HOME}/bin
  8. 请确保所有远程服务器主机名和ip地址项都在/etc/hosts的本地主机文件
  9. 为了将spark-submit应用程序从本地使用部署模式作为集群提交到远程hadoop服务器,例如
spark-submit --master yarn  --queue default --deploy-mode cluster --total-executor-cores 4 --executor-cores 2 --executor-memory 10g --driver-memory 10g --name Test_Spark --class ca.test.TestClass hdfs://hostname/tmp/test.jar```
 类似资料:
  • 注意:用户界面已经在 Dreamweaver CC 和更高版本中进行了简化。因此,您可能在 Dreamweaver CC 和更高版本中找不到本文中描述的一些选项。有关详细信息,请参阅此文章。 构建 Web 应用程序所需的内容 若要在 Adobe Dreamweaver 中构建 Web 应用程序,您需要以下软件: Web 服务器 与 Web 服务器配合工作的应用程序服务器 注意:在 Web 应用程序

  • 我被困在: 在我得到这个之前: 当我签出应用程序跟踪页面时,我在stderr上得到以下信息: 我对这一切都很陌生,也许我的推理有缺陷,任何投入或建议都会有所帮助。

  • 问题内容: 我有两台用于ES(2.2.0)的专用计算机。这两台机器具有相同的规格。每个服务器都在Windows Server 2012 R2上运行,并具有128GB内存。关于ES,我计划在群集的每台计算机上有两个节点。 我正在查看elasticsearch.yml,以了解如何配置每个节点以形成集群。 同一网络上的两台机器具有以下服务器名称和IP地址: 我正在查看elasticsearch.yml,

  • 我已经用intelliJ编写了一个spark scala(sbt)应用程序,我想在Azure databricks上托管的远程集群上运行它。为了避免手动将JAR上传到dbfs中,需要遵循哪些步骤来测试代码

  • 问题内容: 我尝试在Google Container Engine的群集节点上安装ElasticSearch(最新版本),但是ElasticSearch需要变量:>> 262144。 如果我ssh到每个节点并手动运行: 一切正常,但是任何新节点将没有指定的配置。 所以我的问题是: 有没有办法在引导时在每个节点上加载系统配置?Deamon Set并不是一个好的解决方案,因为在Docker容器中,系统

  • 我有: 本地PyCharm 带有docker容器的远程服务器 我想在远程docker容器Python解释器中运行本地PyCharm代码(远程服务器上的代码),以便调试。怎么设置? 我还在互联网上找到了一些文章,其中包含我不需要的以下描述: 地方魅力-