一个非常简单的问题:spark-submit:command not found
我尝试使用bash脚本来提交spark任务。但不知何故,它总是抱怨它找不到命令。 但是,当我只复制命令并直接在我的终端中运行时,它运行良好。
我的壳鱼贝,这里就是我有我的鱼贝的配置:~/.config/fish/config.fish
:
alias spark-submit='/Users/MY_NAME/Downloads/spark-2.0.2-bin-hadoop2.7/bin/spark-submit'
这里是我的bash脚本:
#!/usr/bin/env bash
SUBMIT_COMMAND="HADOOP_USER_NAME=hdfs spark-submit \
--master $MASTER \
--deploy-mode client \
--driver-memory $DRIVER_MEMORY \
--executor-memory $EXECUTOR_MEMORY \
--num-executors $NUM_EXECUTORS \
--executor-cores $EXECUTOR_CORES \
--conf spark.shuffle.compress=true \
--conf spark.network.timeout=2000s \
$DEBUG_PARAM \
--class com.fisher.coder.OfflineIndexer \
--verbose \
$JAR_PATH \
--local $LOCAL \
$SOLR_HOME \
--solrconfig 'resource:solrhome/' \
$ZK_QUORUM_PARAM \
--source $SOURCE \
--limit $LIMIT \
--sample $SAMPLE \
--dest $DEST \
--copysolrconfig \
--shards $SHARDS \
$S3_ZK_ZNODE_PARENT \
$S3_HBASE_ROOTDIR \
"
eval "$SUBMIT_COMMAND"
我已经试过: 当我将这个命令直接复制并直接运行时,我可以在我的Mac OS X fish shell上完美地运行此命令。 但是,我想实现的是能够运行./submit.sh -local
,它执行上面的shell。
请提供任何线索吗?
数据不足。请向我们展示您输入的内容以及输出包括所有错误(只需从终端复制/粘贴)。另外,如果你输入'ls -l。/ submit.sh',你会看到什么?换句话说,你的CWD中的脚本是什么? –
另外,如果你通过bash脚本运行'spark-submit',你为什么需要鱼别名?它的用途是什么?这与你的问题有什么关系? –
输出结果为:'./submit.sh:line 186:spark-submit:command not found'。这是我看到'ls -l submit.sh -rwxr-xr-x 1 myname staff 5700 Aug 17 16:14 submit.sh' – FisherCoder