Java程序部署到Linux环境上运行
文章目录前言一、Java环境安装二、Eclipse编译java程序并导出jar包三、Linux环境上运行jar包前言想要在Linux上运行java程序,可以将java程序编译成功后导出成jar包,然后在Linux上用命令执行jar文件一、Java环境安装1.下载压缩包首先把JDK8的压缩格式的文件jdk-8u162-linux-x64.tar.gz安装到本地电脑,假设保存在“/root/downl
·
前言
想要在Linux上运行java程序,可以将java程序编译成功后导出成jar包,然后在Linux上用命令执行jar文件
一、Java环境安装
1.下载压缩包
首先把JDK8的压缩格式的文件jdk-8u162-linux-x64.tar.gz安装到本地电脑,假设保存在“/root/download/”目录下。 在Linux命令行界面中,执行如下Shell命令(注意:当前登录用户名是root):cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
cd ~ #进入hadoop用户的主目录
cd download #注意区分大小写字母,刚才已经通过FTP软件把JDK安装包jdk-8u162-linux-x64.tar.gz上传到该目录下
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm #把JDK文件解压到/usr/lib/jvm目录下
解压成功后配置环境变量
cd ~
vim ~/.bashrc
打开了root用户的环境变量配置文件,请在这个文件的开头位置,添加如下内容
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存.bashrc文件后,继续执行如下命令让.bashrc文件的配置立即生效:
source ~/.bashrc
这时,可以使用如下命令查看是否安装成功:
java -version
如果能够在屏幕上返回如下信息,则说明安装成功:
root@huangkiayu:~$ java -version java version "1.8.0_162" Java(TM) SE Runtime Environment (build 1.8.0_162-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode) |
二、Eclipse编译java程序并导出jar包
这里的Eclipse是windows上的IDE,Linux上安装了JAVA就行 这里以HDFS的操作为例,实现按行读取HDFS中指定文件的方法“readLine()”。 如果读到文件末尾,则返回空,否则返回文件一行的文本。 |
1、创建项目时导入需要的jar包
- 首先创建java项目
- 点击next后添加所需的jar包
-所需要的jar包在下载hadoop的压缩包里,路径是
hadoop-3.2.2.tar\hadoop-3.2.2\share\hadoop\common
- 导入后点击finish,准备工作就完事了
2、编译java程序导出Jar包
- 编译所要运行代码,功能为输出hdfs中的指定文件内容
package hadoop1;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.fs.Path;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.*;
public class ShowTheContent extends FSDataInputStream {
public ShowTheContent(InputStream in) {
super(in);
}
public static String readline(BufferedReader br) throws IOException {
char[] data = new char[1024];
int read = -1;
int off = 0;
while ((read = br.read(data, off, 1)) != -1) {
if (String.valueOf(data[off]).equals("\n")) {
off += 1;
break;
}
off += 1;
}
if (off > 0) {
return String.valueOf(data);
} else {
return null;
}
}
public static void cat(Configuration conf, String remoteFilePath) throws IOException {
FileSystem fs = FileSystem.get(conf);
Path remotePath = new Path(remoteFilePath);
FSDataInputStream in = fs.open(remotePath);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String line = null;
while ((line = ShowTheContent.readline(br)) != null) {
System.out.println(line);
}
br.close();
in.close();
fs.close();
}
public static void main(String[] args) {
Configuration conf = new Configuration();
conf.set("fs.default.name", "hdfs://47.113.222.36:9000");
String remoteFilePath = "/user/root/test/file1.txt"; // HDFS 路径
try {
ShowTheContent.cat(conf, remoteFilePath);
} catch (Exception e) {
e.printStackTrace();
}
}
}
-
发生异常不需要理会,因为我们是要在已经安装过hadoop和jdk1.8的linux环境上运行,在windows系统运行肯定会报错
-
右键java文件,选择Export
-
直接next
-
选择java程序和导出的路径与自定义名称
-
点击finish,导出过程中弹出的warning直接ok或者关掉就行
- 完成后指定路径成功生成jar包
三、Linux环境上运行jar包
- 在/usr/local/hadoop路径下创建文件夹myapp
- 将刚刚生成的jar包传入myapp文件夹中
- shell命令运行jar包
hadoop jar ./myapp/hadoop2.jar
- 编译成功输出文本中内容this is file2.txt
更多推荐
已为社区贡献6条内容
所有评论(0)