非常に単純な質問:spark-submit:コマンドが見つかりません
私はspashジョブを送信するためにbashスクリプトを使用しようとしています。しかし何とかして、それはコマンドを見つけることができないと不満を続けています。 しかし、私はちょうどコマンドをコピーして、私の端末で直接実行すると、正常に動作します。
私のシェルは魚のシェルで、ここで私は私の魚貝の設定で持っているものです:~/.config/fish/config.fish
:
#!/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"
私が試した何:
alias spark-submit='/Users/MY_NAME/Downloads/spark-2.0.2-bin-hadoop2.7/bin/spark-submit'
は、ここに私のbashスクリプトです このコマンドを文字通りコピーして直接実行すると、Mac OS Xの魚のシェルでこのコマンドを完璧に実行できます。 しかし、私が達成したいのは、上記のシェルを実行する./submit.sh -local
を実行できることです。
お願いします。
データが不十分です。入力した内容とすべてのエラーを含む出力を表示してください(端末からコピー/貼り付けするだけです)。また、 '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