你使用的是hdfs,但你在Configuration中只设置了mapred.job.tracker值,这个是jobtracker的地址,你需要设置namenode的地址。而放到集群时在new Configuration时会自动加载集群的配置文件,如core-site.xml,hdfs-site.xml等
解决方法:
1)直接调用Configuration的set方法为fs.default.name设置值,值为namenode地址
2)直接将集群的三个*-site.xml配置文件放入项目的classpath下,简单方便
将 hadoop执行job命令写到shell脚本中。类似 hadoop jar x.jar ×××.mainclassname inputpath outputpath这种命令。 hadoop客户机在本地,使用 process执行shell脚本,java执行本地shell脚本的代码 process process =null;string command1 = " ./test.sh";process = runtime.getruntime().exec(command1);process.waitfor(); 3.hadoop 在远程服务器上,java可以使用ssh连接远程服务器执行shell脚本。需要借助第三方jar包实现,常用的是ganymed-ssh2-build210.jar,网上有很多例子。
Hadoop|
Apache Pig|
Apache Kafka|
Apache Storm|
Impala|
Zookeeper|
SAS|
TensorFlow|
人工智能基础|
Apache Kylin|
Openstack|
Flink|
MapReduce|
大数据|
云计算|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....