Ubuntu JDK安装
由于要学习Hadoop,故此需要在Ubuntu下面安装JDK。之前安装过几次了,每次安装都是去百度、Google,这次突然想到记录下来,以备以后查阅。
基本环境为:
系统:Ubuntu 12.04 LTS 32位
JDK version:jdk-7u21-linux-i586.tar.gz
第一步:下载jdk-7u21-linux-i586.tar.gz
这步没什么好说的
第二步:解压安装
sudo tar zxvf ./jdk-7u21-linux-i586.tar.gz -C /usr/lib/jvm
第三步:修改环境变量
vim ~/.bashrc
添加:
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_21 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
保存退出,输入以下命令使之立即生效。
source ~/.bashrc
(说明:有人去配置/etc/environment,似乎两者都是可以的,但是在配置Hadoop的时候,有地方出错了,会去调用openjdk,但是修改.bashrc没错。故我选择修改.bashrc文件。两者间具体的不同,请参考http://hi.baidu.com/npugtawqdnbgqrq/item/322e67028224f4006d9048f5)
第四步:配置默认JDK版本
由于ubuntu中可能会有默认的JDK,如openjdk,所以,为了将我们安装的JDK设置为默认JDK版本,还要进行如下工作。
执行代码:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_21/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_21/bin/javac 300 sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.7.0_21/bin/jar 300 sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk1.7.0_21/bin/javah 300 sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.7.0_21/bin/javap 300
执行代码:
sudo update-alternatives --config java
系统会列出各种JDK版本,如下所示:
hadoop@hadoop-virtual-machine:~$ sudo update-alternatives --config java 有 2 个候选项可用于替换 java (提供 /usr/bin/java)。 选择 路径 优先级 状态 ------------------------------------------------------------ * 0 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 自动模式 1 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 手动模式 2 /usr/lib/jvm/jdk1.7.0_21/bin/java 300 手动模式 要维持当前值[*]请按回车键,或者键入选择的编号:2 update-alternatives: 使用 /usr/lib/jvm/jdk1.7.0_21/bin/java 来提供 /usr/bin/java (java),于 手动模式 中。
第五步:测试
hadoop@hadoop-virtual-machine:~$ java -version java version "1.7.0_21" Java(TM) SE Runtime Environment (build 1.7.0_21-b11) Java HotSpot(TM) Server VM (build 23.21-b01, mixed mode) hadoop@hadoop-virtual-machine:~$ javac 用法: javac <options> <source files> 其中, 可能的选项包括: -g 生成所有调试信息 -g:none 不生成任何调试信息 -g:{lines,vars,source} 只生成某些调试信息 -nowarn 不生成任何警告 -verbose 输出有关编译器正在执行的操作的消息 -deprecation 输出使用已过时的 API 的源位置 -classpath <路径> 指定查找用户类文件和注释处理程序的位置 -cp <路径> 指定查找用户类文件和注释处理程序的位置 -sourcepath <路径> 指定查找输入源文件的位置 -bootclasspath <路径> 覆盖引导类文件的位置 -extdirs <目录> 覆盖所安装扩展的位置 -endorseddirs <目录> 覆盖签名的标准路径的位置 -proc:{none,only} 控制是否执行注释处理和/或编译。 -processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程 -processorpath <路径> 指定查找注释处理程序的位置 -d <目录> 指定放置生成的类文件的位置 -s <目录> 指定放置生成的源文件的位置 -implicit:{none,class} 指定是否为隐式引用文件生成类文件 -encoding <编码> 指定源文件使用的字符编码 -source <发行版> 提供与指定发行版的源兼容性 -target <发行版> 生成特定 VM 版本的类文件 -version 版本信息 -help 输出标准选项的提要 -A关键字[=值] 传递给注释处理程序的选项 -X 输出非标准选项的提要 -J<标记> 直接将 <标记> 传递给运行时系统 -Werror 出现警告时终止编译 @<文件名> 从文件读取选项和文件名 hadoop@hadoop-virtual-machine:~$ java 用法: java [-options] class [args...] (执行类) 或 java [-options] -jar jarfile [args...] (执行 jar 文件) 其中选项包括: -d32 使用 32 位数据模型 (如果可用) -d64 使用 64 位数据模型 (如果可用) -client 选择 "client" VM -server 选择 "server" VM -hotspot 是 "client" VM 的同义词 [已过时] 默认 VM 是 server, 因为您是在服务器类计算机上运行。 -cp <目录和 zip/jar 文件的类搜索路径> -classpath <目录和 zip/jar 文件的类搜索路径> 用 : 分隔的目录, JAR 档案 和 ZIP 档案列表, 用于搜索类文件。 -D<name>=<value> 设置系统属性 -verbose[:class|gc|jni] 启用详细输出 -version 输出产品版本并退出 -version:<value> 需要指定的版本才能运行 -showversion 输出产品版本并继续 -jre-restrict-search | -no-jre-restrict-search 在版本搜索中包括/排除用户专用 JRE -? -help 输出此帮助消息 -X 输出非标准选项的帮助 -ea[:<packagename>...|:<classname>] -enableassertions[:<packagename>...|:<classname>] 按指定的粒度启用断言 -da[:<packagename>...|:<classname>] -disableassertions[:<packagename>...|:<classname>] 禁用具有指定粒度的断言 -esa | -enablesystemassertions 启用系统断言 -dsa | -disablesystemassertions 禁用系统断言 -agentlib:<libname>[=<options>] 加载本机代理库 <libname>, 例如 -agentlib:hprof 另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help -agentpath:<pathname>[=<options>] 按完整路径名加载本机代理库 -javaagent:<jarpath>[=<options>] 加载 Java 编程语言代理, 请参阅 java.lang.instrument -splash:<imagepath> 使用指定的图像显示启动屏幕 有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html。
参考链接:
http://blog.csdn.net/yang_hui1986527/article/details/6677450