linux /hadoop 运行java 程序

2019-02-13 00:28 

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012507864/article/details/75426025

linux / hadoop 运行java程序

  1. 单个java文件

javac编译生成.class文件
java 命令运行程序

javac Hello.java
java Hello

  1. 多个java文件

javac编译生成.class文件
jar命令生成jar包
java命令运行程序

cd classes //首先进入根目录,否则打包会有问题
touch MANIFEST.MF
jar -cvfm xx.jar MANIFEST.MF com/

c, 表示创建压缩包.jar包
v, 表示显示详细信息
m, 表示将后面的清单文件 MANIFEST.MF 一起打包到jar中,注意这个不能省略
xx.jar表示最终生成的jar包名
classes/ 表示存放所有.class文件的package根目录
其中清单文件MANIFEST.MF的内容如下:
Manifest-Version: 1.0 //清单版本
Main-Class: com.linky.Main //jar 包运行后的main函数入口类

如果有多个.java文件,可以将需要编译的.java文件,包括package写入sourcelist(可随便命名)中

find com/ -name '*.java' > sourcelist
javac @sourcelist -d classes/
cd classes/
touch MANIFEST.MF   //添加如下语句到该文件中,然后保存
//  Manifest-Version: 1.0   //清单版本   
//  Main-Class: com.linky.Main      //jar 包运行后的main函数入口类
jar -cvfm server.jar MANIFEST.MF com/
java -jar server.jar

hadoop 运行java程序

使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0

我们将 Hadoop 的 classhpath 信息添加到 CLASSPATH 变量中,在 ~/.bashrc 中增加如下几行:

export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH


//编译wordcount
mkdir WordCount
javac -d WordCount WordCount.java


//打包程序
jar -cvf wordcount.jar -C WordCount .


//运行程序
hadoop jar wordcount.jar WordCount /input /output

javac -d path *.java //表示在路径path下编译生成

发表评论

您必须 登录 才能发表留言!