
hadoop是使用Java语言开发的并且Hadoop运行需要有Java环境的支持,因此在安装hadoop之前需要安装Java开发环境即JDK(Java Development Kit)。安装前首先向大家介绍以一下本文会用到的几个词:
JAVA_HOME:
一是为了方便引用,比如,JDK安装在/usr/lib/jvm/java-7-openjdk-i386目录里,则设置JAVA_HOME为该目录路径, 那么以后要使用这个路径的时候, 只需输入$JAVA_HOME即可, 避免每次引用都输入很长的路径串;
二则是归一原则, 当JDK路径改变的时候, 仅需更改JAVA_HOME的变量值即可, 否则,就要更改任何用绝对路径引用JDK目录的文档, 要是万一没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃!
三则是第三方软件会引用约定好的 JAVA_HOME 变量, 不然, 你不能正常使用该软件。
path 变量
path 变量使得我们能够在系统中的任何地方运行java等应用程序,比如 javac、java、javah 等等,这就要找到我们安装JDK 的目录,
假设我们的JDK安装在/usr/lib/jvm/java-7-openjdk-i386 目录下,那么在 /usr/lib/jvm/java-7-openjdk-i386/bin目录下就是我们常用的 java 应用程序,我们就需要把 这个目录加到 path 环境变量里面。
classpath 变量
classpath 环境变量,是当我们在开发java程序时需要引用别人写好的类时,要让 java 解释器知道到哪里去找这个类。通常,sun 为我们提供了一些额外的丰富的类包,一个是 dt.jar,一个是 tools.jar,这两个 jar 包都位于 /usr/lib/jvm/java-7-openjdk-i386\lib 目录下,所以通常我们都会把这两个 jar 包加到我们的 classpath 环境变量中。
JRE(Java Runtime Enviroment) 是 Java 的运行环境。面向 Java 程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行 Java 程序。JRE 是运行Java 程序所必须环境的集合,包含JVM标准实现及 Java核心类库。它包括 Java 虚拟机、Java 平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。
JDK(Java Development Kit) 又称 J2SDK(Java2 Software Development Kit),是 Java 开发工具包,它提供了 Java 的开发环境(提供了编译器javac 等工具,用于将 java 文件编译为 class 文件)和运行环境(提 供了 JVM 和 Runtime 辅助包,用于解析 class 文件使其得到运行)。如果你下载并安装了 JDK,那么你不仅可以开发 Java 程序,也同时拥有了运行 Java 程序的平台。JDK 是整个 Java 的核心,包括了Java运行环境(JRE),一堆 Java 工具 tools.jar 和 Java 标准类库 (rt.jar)。
1、JDK安装方式及版本介绍
JDK在Ubuntu下的常用安装方式有两种:一种是使用apt-get等类似软件包管理工具在线安装,另一种方式为离线安装:将编译好的软件代码先下载然后安装。JDK的版本有许多,常用的是jdk1.7、jdk1.8,为了简化安装过程我们本次采用apt-get在线方式安装jdk1.7版本。
2、安装
首先启动ubuntu系统的终端,然后在终端中输入java -version来查看系统是否已安装jdk。结果如下图所示,未安装jdk。
在Linux中既可以使用apt进行软件包管理,也可以使用apt-get下载安装软件包。
为了获得最新软件包版本,我们使用apt-get安装jdk之前需先执行apt-get update来更新软件源信息。
执行apt-get 命令需要较高的权限,因此命令前需加sudo命令
sudo apt-get update
经过一段时间的更新与下载之后,软件源信息更新完成。
下面开始安装JDK,安装jdk的命令为:sudo apt-get install default-jdk。
软件下载、安装需要一定的空间,安装程序会提示是否继续执行,输入Y然后按回车键即可。
软件下载及安装需要一定时间,耐心等待即可无需其他操作。执行到下图出现done表示已经完成安装。
此时可以通过执行java -version命令查看JDK安装版本。
3、系统环境变量配置
有些软件运行需要用到系统变量JAVA_HOME CLASS_PATH因此我们还需要讲安装好的JDK进行配置。首先可以通过命令sudo find / -name javac来查找jdk的安装位置。如下图所示jdk的安装位置为:/usr/lib/jvm/java-7-openjdk-i386
我们可以通过ls命令查看jdk下面都有哪些文件,如下图所示jdk下面有bin、jre、lib等文件目录,其中bin目录下有java常用开发编译工具如javac等,而jre/bin下有java程序的运行环境如java程序等。lib目录在文章开始的时候也提到了,里面有java开发常用的类库。
我们执行cd命令可以直接回到用户主目录下
接下来我们配置一下环境变量,在用户主目录下执行 vim ./bashrc,在该文件中输入下图信息并保存。
刷新一下系统配置文件,使用命令source ./bashrc
我们可以通过命令:echo 变量名 方式查看配置的环境变量是否成功。
如上图所示,显示的信息与我们实际配置是一致的,jdk安装完成。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
MySQL 服务器内存碎片:成因、检测与内存持续增长的解决策略 在 MySQL 运维中,“内存持续增长” 是常见且隐蔽的性能隐患 —— ...
2025-09-24人工智能重塑工程质量检测:核心应用、技术路径与实践案例 工程质量检测是保障建筑、市政、交通、水利等基础设施安全的 “最后一 ...
2025-09-24CDA 数据分析师:驾驭通用与场景指标,解锁数据驱动的精准路径 在数据驱动业务的实践中,指标是连接数据与决策的核心载体。但并 ...
2025-09-24在数据驱动的业务迭代中,AB 实验系统(负责验证业务优化效果)与业务系统(负责承载用户交互与核心流程)并非独立存在 —— 前 ...
2025-09-23CDA 业务数据分析:6 步闭环,让数据驱动业务落地 在企业数字化转型中,CDA(Certified Data Analyst)数据分析师的核心价值,并 ...
2025-09-23CDA 数据分析师:以指标为钥,解锁数据驱动价值 在数字化转型的浪潮中,“用数据说话” 已成为企业决策的共识。但数据本身是零散 ...
2025-09-23当 “算法” 成为数据科学、人工智能、业务决策领域的高频词时,一种隐形的认知误区正悄然蔓延 —— 有人将分析结果不佳归咎于 ...
2025-09-22在数据分析、金融计算、工程评估等领域,“平均数” 是描述数据集中趋势最常用的工具之一。但多数人提及 “平均数” 时,默认指 ...
2025-09-22CDA 数据分析师:参数估计助力数据决策的核心力量 在数字化浪潮席卷各行各业的当下,数据已成为驱动业务增长、优化运营效率的核 ...
2025-09-22训练与验证损失骤升:机器学习训练中的异常诊断与解决方案 在机器学习模型训练过程中,“损失曲线” 是反映模型学习状态的核心指 ...
2025-09-19解析 DataHub 与 Kafka:数据生态中两类核心工具的差异与协同 在数字化转型加速的今天,企业对数据的需求已从 “存储” 转向 “ ...
2025-09-19CDA 数据分析师:让统计基本概念成为业务决策的底层逻辑 统计基本概念是商业数据分析的 “基础语言”—— 从描述数据分布的 “均 ...
2025-09-19CDA 数据分析师:表结构数据 “获取 - 加工 - 使用” 全流程的赋能者 表结构数据(如数据库表、Excel 表、CSV 文件)是企业数字 ...
2025-09-19SQL Server 中 CONVERT 函数的日期转换:从基础用法到实战优化 在 SQL Server 的数据处理中,日期格式转换是高频需求 —— 无论 ...
2025-09-18MySQL 大表拆分与关联查询效率:打破 “拆分必慢” 的认知误区 在 MySQL 数据库管理中,“大表” 始终是性能优化绕不开的话题。 ...
2025-09-18DSGE 模型中的 Et:理性预期算子的内涵、作用与应用解析 动态随机一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明确:TIF 中的地名有哪两种存在形式? 在开始提取前,需先判断 TIF 文件的类型 —— ...
2025-09-17CDA 数据分析师:解锁表结构数据特征价值的专业核心 表结构数据(以 “行 - 列” 规范存储的结构化数据,如数据库表、Excel 表、 ...
2025-09-17Excel 导入数据含缺失值?详解 dropna 函数的功能与实战应用 在用 Python(如 pandas 库)处理 Excel 数据时,“缺失值” 是高频 ...
2025-09-16深入解析卡方检验与 t 检验:差异、适用场景与实践应用 在数据分析与统计学领域,假设检验是验证研究假设、判断数据差异是否 “ ...
2025-09-16