TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)
  • Ambari环境

  • JDK环境

    • ONEKEY——安装JDK1.8
      • 1、前提条件
      • 2、JDK 8 安装步骤
        • 2.1 下载 JDK 安装包
        • 2.2 解压 JDK 安装包
        • 2.3 配置环境变量
        • 2.4 验证 JDK 安装
      • 3、配置 update-alternatives
        • 3.1 切换 Java 版本
      • 4、总结
        • 使用说明:
        • 脚本功能:
    • ONEKEY——安装JDK 17
  • MAVEN环境

  • GRADLE环境

  • CONDA环境

  • R环境

  • 一键部署
  • JDK环境
JaneTTR
2023-04-03
目录

ONEKEY——安装JDK1.8

# 1、前提条件

在安装 JDK 之前,请确保系统满足以下要求:

提示

操作系统:Linux(适用于其他操作系统,安装步骤略有不同)
权限要求:必须有 sudo 权限
网络要求:需要网络连接,用于下载 JDK 安装包

# 2、JDK 8 安装步骤

# 2.1 下载 JDK 安装包

从官网下载 JDK 8 安装包,或者使用国内镜像源下载。以下是国内镜像源链接:

  • JDK 8 下载链接: Huawei Cloud JDK 8u202 下载链接 (opens new window)

# 2.2 解压 JDK 安装包

将下载的 JDK 安装包解压到指定目录:

#!/bin/bash

# 设置变量
JDK_FILE_PATH="/opt/modules/jdk-8u202-linux-x64.tar.gz"
JDK_INSTALL_DIR="/opt/modules/jdk1.8.0_202"

# 解压安装包
echo "Extracting JDK installation package..."
tar -zxvf "$JDK_FILE_PATH" -C "$JDK_INSTALL_DIR"

# 验证 JDK 是否成功解压
if [ $? -eq 0 ]; then
    echo "JDK installed successfully."
else
    echo "JDK installation failed."
    exit 1
fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 2.3 配置环境变量

配置 JAVA_HOME 和 PATH 环境变量,使系统能正确识别 JDK:

#!/bin/bash

# 配置 JAVA_HOME 和 PATH
echo "Configuring JAVA_HOME and PATH..."
echo "export JAVA_HOME=${JDK_INSTALL_DIR}" | sudo tee -a /etc/profile
echo "export PATH=\$PATH:\$JAVA_HOME/bin" | sudo tee -a /etc/profile

# 使配置生效
source /etc/profile

# 验证环境变量配置
echo "JAVA_HOME is set to: $JAVA_HOME"
echo "PATH is set to: $PATH"
1
2
3
4
5
6
7
8
9
10
11
12
13

# 2.4 验证 JDK 安装

安装完成后,可以通过以下命令检查 JDK 是否安装成功:

java -version
javac -version
1
2

如果安装成功,您将看到类似以下的输出:

java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
1
2
3

笔记

如果出现类似的版本信息,说明 JDK 安装成功!

# 3、配置 update-alternatives

如果您的系统有多个版本的 Java,您可以使用 update-alternatives 来切换 JDK 版本:

# 安装 JDK 到 alternatives
sudo update-alternatives --install /usr/bin/java java ${JDK_INSTALL_DIR}/bin/java 2
sudo update-alternatives --install /usr/bin/javac javac ${JDK_INSTALL_DIR}/bin/javac 2

# 配置默认 Java 版本
sudo update-alternatives --config java
sudo update-alternatives --config javac
1
2
3
4
5
6
7

# 3.1 切换 Java 版本

执行 update-alternatives 后,您会看到一个菜单,选择您需要的 Java 版本即可。

# 4、总结

通过以上步骤,您已成功安装并配置了 JDK 8。在 Linux 系统中,JDK 8 的安装过程相对简单,只需要下载、解压并配置环境变量即可。如果有多个 Java 版本,您可以使用 update-alternatives 来进行版本管理。

注意

注意:确保安装路径和环境变量正确配置,否则可能会导致 Java 无法识别。

如有任何问题或需要进一步的帮助,请随时提出!


# 一键安装脚本

以下是 JDK 8 安装的一键安装脚本,可以自动化完成 JDK 下载、安装和配置环境变量。

#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Author: JaneTTR

set -ex

###########JDK_INIT start

echo "############## SETUP JDK_INIT start #############"

# JDK path and URL
JDK_FILE_PATH="/opt/modules/jdk-8u202-linux-x64.tar.gz"
JDK_FILE_HOME_PATH="/opt/modules/jdk1.8.0_202"
JDK_DOWNLOAD_URL="https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz"
JDK_FILE_PATH_LOCK="/data/.setup_jdk.lock"
TAR_LOCK="/data/.setup_jdk_tar.lock"
mkdir -p /data
# 解压缩函数
extract_tar_gz() {
    local file_path=$1
    local dest_dir=$2

    if [ -f "$TAR_LOCK" ]; then
        return
    else
        touch $TAR_LOCK
    fi

    echo "Extracting file $file_path to directory $dest_dir..."
    tar -zxvf "$file_path" -C "$dest_dir"

    if [ $? -eq 0 ]; then
        echo "File extracted successfully: $dest_dir"
    else
        echo "File extraction failed"
        exit 1
    fi

    rm -f $TAR_LOCK
}

# 配置 JAVA_HOME 函数
configure_java_home() {
    # 使用 sed 命令更新或添加 JAVA_HOME 变量
    if grep -q "^export JAVA_HOME=" /etc/profile; then
        sudo sed -i "s#^export JAVA_HOME=.*#export JAVA_HOME=${JDK_FILE_HOME_PATH}#" /etc/profile
    else
        echo "export JAVA_HOME=${JDK_FILE_HOME_PATH}" | sudo tee -a /etc/profile
    fi

    # 更新 PATH 变量以包含 JAVA_HOME/bin
    if ! grep -q "^export PATH=.*\$JAVA_HOME/bin" /etc/profile; then
        echo "export PATH=\$PATH:\$JAVA_HOME/bin" | sudo tee -a /etc/profile
    fi

    # 重新加载 /etc/profile 文件以应用更改
    source /etc/profile

    # 验证 JAVA_HOME 设置
    echo "JAVA_HOME is set to: $JAVA_HOME"
}

# 检查并下载 JDK 文件
check_and_download_jdk() {
    if [ -f "$JDK_FILE_PATH" ]; then
        echo "JDK file exists: $JDK_FILE_PATH"
    elif [ -f "$JDK_FILE_PATH_LOCK" ]; then
        echo "Other instance downloading..."
    else
        touch $JDK_FILE_PATH_LOCK
        echo "openjdk file does not exist, downloading..."
        mkdir -p "$(dirname "$JDK_FILE_PATH")"
        curl -o "$JDK_FILE_PATH" "$JDK_DOWNLOAD_URL"

        if [ $? -eq 0 ]; then
            echo "openjdk download success: $JDK_FILE_PATH"
            extract_tar_gz "$JDK_FILE_PATH" "/opt/modules"
        else
            echo "openjdk download failed!!"
            rm -f $JDK_FILE_PATH_LOCK
            exit 1
        fi

        rm -f $JDK_FILE_PATH_LOCK
    fi

    while [ -f "$JDK_FILE_PATH_LOCK" ]; do
        echo "Waiting for the lock to be released..."
        sleep 1
    done

    echo "Lock released. Continuing..."
}

# 添加并配置 update-alternatives
configure_update_alternatives() {
    sudo update-alternatives --install /usr/bin/java java ${JDK_FILE_HOME_PATH}/bin/java 2
    sudo update-alternatives --install /usr/bin/javac javac ${JDK_FILE_HOME_PATH}/bin/javac 2

    sudo update-alternatives --set java ${JDK_FILE_HOME_PATH}/bin/java
    sudo update-alternatives --set javac ${JDK_FILE_HOME_PATH}/bin/javac

    # 验证 Java 版本
    java -version
}

main() {
    check_and_download_jdk

    if [ -d "$JDK_FILE_HOME_PATH" ]; then
        echo "JDK home exists: $JDK_FILE_HOME_PATH"
    else
        extract_tar_gz "$JDK_FILE_PATH" "/opt/modules"
    fi

    configure_java_home
    configure_update_alternatives
}

main

###########JDK_INIT end

echo "############## SETUP JDK_INIT end #############"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138

# 使用说明:

  1. 将脚本保存为 install_jdk.sh。
  2. 给脚本添加执行权限:chmod +x install_jdk.sh。
  3. 运行脚本进行 JDK 安装:./install_jdk.sh。

# 脚本功能:

  • 自动下载 JDK 8 安装包:如果本地没有 JDK 文件,会自动下载并解压。
  • 配置 JAVA_HOME 和 PATH:配置 JAVA_HOME 环境变量并更新 PATH。
  • 一键安装:通过执行一条命令即可完成 JDK 安装和配置,简化安装过程。
#ONEKEY#JDK#安装#配置
ONEKEY——快速安装
ONEKEY——安装JDK 17

← ONEKEY——快速安装 ONEKEY——安装JDK 17→

最近更新
01
Pandoc 缺失导致 SparkR 构建失败
06-08
02
Cyrus SASL/GSASL 缺失解决
06-07
03
Hadoop_3.3.4 编译实战 1.0.0+
06-06
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式