- 今天在CDH上模拟数据的时候发现,使用通过命令行的方式调用java代码模拟数据可以成功运行,但是放到脚本中就失效。
我是这么解决的:
-
原来的脚本:
#! /bin/bash
for i in hadoop102 hadoop103 do ssh $i java -classpath /opt/module/log-collector-1.0-SNAPSHOT-jar-with-dependencies.jar com.wei.appclient.AppMain $1 $2 >/opt/module/test.log &" done
执行完可以生成test.log,但是内容为空。
解决:
#! /bin/bash
for i in hadoop102 hadoop103
do
ssh $i "source /etc/profile && java -classpath /opt/module/log-collector-1.0-SNAPSHOT-jar-with-dependencies.jar com.wei.appclient.AppMain $1 $2 >/opt/module/test.log &"
done
加了个source让ssh后刷新环境变量。