首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mobius SparkClr入门(在Linux上)

Mobius SparkClr入门(在Linux上)
EN

Stack Overflow用户
提问于 2017-01-27 05:08:02
回答 1查看 381关注 0票数 1

我希望在现有的(独立的) spark集群(在Ubuntu Linux上)上试用C#驱动程序,我可以通过python或scala与之进行愉快的交互。

我不清楚如何运行一个简单的c#示例,因为我已经将最新的Mobius发行版下载到了linux box。我不清楚的是clr spark提交所需的两个额外参数(除了通常需要的参数之外)。当我尝试按照文档中的提交参数操作时,我遇到了各种各样的错误(或者我误解了说明)

首先,对于--exe,是简单地指向.exe文件还是需要传递它;--exe mono params其次,remote- spark -clr似乎坚持使用HDFS路径,但我运行的spark没有HDFS。HDFS真的有必要吗?第三,与问题(二)有关,如果为工作进程分发exe/包,这些包是否也必须位于hdfs路径中,或者我是否可以将它们放在“常规”文件系统中的合理位置。

简而言之,我正在寻找确认HDFS不是必需的,以及可以在某些位置运行exe的简单的一行提交示例。令人遗憾的是,我尝试过的组合对我不起作用。

EN

回答 1

Stack Overflow用户

发布于 2017-02-08 18:19:23

在Linux上运行Mobius需要一个小技巧:

  • 创建使用单
  • 启动可执行文件的shell脚本将扩展名.exe添加到shell脚本,以便它们被linux接受确保您的shell脚本是linux编码的-当它们有CRLF行结尾时,我们会遇到问题。

如果您的应用程序名为Driver.exe,我建议您创建一个包含以下内容的文件driver.sh.exe

代码语言:javascript
复制
#!/bin/sh
exec mono ./Driver.exe "$@"

同样,创建一个包含以下内容的文件CSharpDriver.sh.exe

代码语言:javascript
复制
#!/bin/sh
exec mono ./CSharpWorker.exe "$@"

在您的App.config中,在appSettings中设置以下值:

代码语言:javascript
复制
<add key="CSharpWorkerPath" value="CSharpWorker.sh.exe"/>

最后,在提交应用程序时,请使用以下参数:

代码语言:javascript
复制
$SPARKCLR_HOME/scripts/sparkclr-submit.sh \
--master yarn \
--deploy-mode client \
--exe driver.sh.exe \
/path/to/driver

请注意,--exe参数只接受文件名,路径是下一个参数。

您可以将应用程序放在常规文件系统上(不需要使用HDFS),但根据我的经验,Mobius将在内部使用HDFS将应用程序分发给工作人员。我不知道你能不能避免。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41883002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档