在Linux中安装JDK

Linux中安装JDK

1. 软件准备

JDK安装包
下载地址:http://www.oracle.com/technetwork/java/javase/archive-139210.html

我这里使用 jdk-8u73-linux-x64.tar.gz

2. 手动安装JDK的步骤

(0) 查看系统中是否已经安装了JDK,如果有就卸载掉

[root@node01 ~]# rpm -qa | grep jdk
java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64
java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64
[root@node01 ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64
[root@node01 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64

(1) 把JDK安装包上传到服务器并解压

[root@node01 ~]# tar -zxvf jdk-8u73-linux-x64.tar.gz -C /usr/local/

(2) 配置环境变量

系统级别的环境变量配置文件为/etc/profile
普通用户的环境变量配置文件为/home/用户名/.bashrc或者/home/用户名/.bash_profile
我是用root用户安装的JDK,所以修改/etc/profile文件,添加JDK的环境变量:

[root@node01 ~]# vim /etc/profile

# 在文件末尾追加以下内容
export JAVA_HOME=/usr/local/jdk1.8.0_73
export PATH=$PATH:$JAVA_HOME/bin

(3) 重新加载环境变量配置文件

[root@node01 ~]# source /etc/profile

(4) 验证

[root@node01 ~]# java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)

安装成功!

3. 使用脚本批量安装JDK

我们现在有一个JDK安装包在一台服务器上(node01),那我们要实现JDK自动批量安装到node02、node03、node04上

(1) 实现思路

需要以下几个步骤:

  1. node01把包传到其他服务器,或者其他服务器通过本地yum源的方式去node01中取(我这里实现的是后者)
  2. 给每一台机器发送一个安装脚本,并且让脚本自己执行
  3. 要写一个启动脚本,用来执行以上两步操作

(2) 编写一个安装脚本 installJDK.sh

作用:

  • 负责从远程软件库(node01)下载 JDK 安装包
  • 负责 JDK 的安装
  • 负责 JDK 的环境变量配置

脚本内容:

#!/bin/bash

## 远程软件安装源(你可能需要修改这里)
BASE_SERVER=node01

## 为了防止系统没有安装 wget 工具,所以安装
yum install -y wget

## 远程下载(你可能需要修改这里的安装包所在的路径)
## 我的安装包放在/var/www/html/soft/下,所以我就写$BASE_SERVER/soft/
wget $BASE_SERVER/soft/jdk-8u73-linux-x64.tar.gz

## 解压到对应安装目录
tar -zxvf jdk-8u73-linux-x64.tar.gz -C /usr/local

## 配置环境变量
cat >> /etc/profile << EOF
  export JAVA_HOME=/usr/local/jdk1.8.0_73
  export PATH=\$PATH:\$JAVA_HOME/bin
EOF

## 删除安装包
rm -rf /root/jdk-8u73-linux-x64.tar.gz

## 检测安装是否成功
source /etc/profile
java -version

(3) 编写一个安装启动脚本 startInstallJDK.sh

作用:

  • 负责安装脚本 installJDK.sh 的分发
  • 负责安装脚本 installJDK.sh 的自动执行

脚本内容:

#!/bin/bash

## 要安装 JDK 的服务器目录列表
SERVERS=$*

## 密码(你可能需要修改)
PASSWORD=hadoop
## 软件源(你可能需要修改)
BASE_SERVER=node01
## 启动安装 installJDK.sh 脚本分发程序 和 自动安装
for SERVER in $SERVERS
do
# (你可以自定义这个路径)
scp installJDK.sh root@$SERVER:/root/
ssh root@$SERVER chmod 755 installJDK.sh
ssh root@$SERVER /root/installJDK.sh
done

(4) 运行演示

[root@node01 ~]# sh startInstallJDK.sh node02 node03 node04

该命令表示:在 node01 服务器上,用户 root 执行脚本 startInstallJDK.sh 在集群其他3个节点 node02 node03 node04 中安装了JDK

注意:

  1. 以上脚本执行需要配置集群各节点之间免秘钥登录,参考:
    配置各台虚拟机之间免秘钥登录

  2. node01服务器必须安装httpd服务,并且启动该服务

安装httpd服务:

yum install httpd -y

启动httpd服务:

service httpd start
  1. 在node01的/var/www/html目录下放置安装包

我在其中又创建了soft目录,然后在soft目录下放置了JDK安装包,所以在我的installJDK.sh中,从node01下载JDK安装包的路径是这么写的:
wget $BASE_SERVER/soft/jdk-8u73-linux-x64.tar.gz
如果你直接放在了/var/www/html目录下,你的路径应该是:
wget $BASE_SERVER/jdk-8u73-linux-x64.tar.gz

(5) 验证

[root@node02 ~]# java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)

[root@node03 ~]# java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)

[root@node04 ~]# java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容