运维实践01-安装OpenJDK

前几天逛知乎,有个问题是如何成为一个优秀的运维工程师,有个回答是让自己搞清楚如下几件事情。
首先,搭4台Linux的服务器。然后完成如下操作

  1. 批量安装最新版OpenJDK
  2. 安装部署elastic search集群
  3. 安装部署mysql9.0,实现一主三备。
  4. 安装redis server,实现两主两从。
  5. 安装监控prometheus,把以上服务的运行状态全都监控起来。

最后,让以上操作在命令下自动执行。

所以我们今天就来实践第一步。当然了,4台服务器的搭建过程略。
OpenJDK是一个java环境的开源安装包,比较小,安装比较简单。很适合用来做自动化运维的安装测试。以下用手动安装和脚本安装两种方式来进行介绍。

下载安装文件

  1. 手动下载

    下载地址:https://jdk.java.net/22/

    我下载到的文件名是:openjdk-22.0.2_linux-x64_bin.tar.gz

    通过ftp工具上传到服务器指定目录,略。

  2. 通过wget下载

    需要安装wget工具

    # 检查是否安装了wget
    rpm qa|grep wget
    # 如果有会显示版本,否则使用yum命令安装。默认rpm源可能略慢,建议使用阿里云的repo
    

    设置阿里云yum源(可选)

    # 测试是否能ping通阿里云
    ping mirrors.aliyun.com
    
    # 删除原yum仓库
    rm -rf /etc/yum.repos.d/*
    
    # 下载阿里云的repo
    # curl命令下载: curl [options] [url]
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
    # 清除yum缓存
    yum clean all
     
    # 缓存阿里云镜像
    yum makecache
    

    确认yum源

    [root@69af1d3b05c2 yum.repos.d]# yum repolist
    Loaded plugins: fastestmirror, ovl
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    repo id                                         repo name                                                              status
    base/7/x86_64                                   CentOS-7 - Base - mirrors.aliyun.com                                   10072
    extras/7/x86_64                                 CentOS-7 - Extras - mirrors.aliyun.com                                   526
    updates/7/x86_64                                CentOS-7 - Updates - mirrors.aliyun.com                                 5802
    repolist: 16400
    

    yum安装wget

    yum install -y wget
    

    然后使用如下命令进行下载,假设下载到/opt/

    wget /opt/ https://download.java.net/java/GA/jdk22.0.2/c9ecb94cd31b495da20a27d4581645e8/9/GPL/openjdk-22.0.2_linux-x64_bin.tar.gz
    

    如果下载途中出现卡住的问题

    首先使用ctrl+z 暂停任务
    然后使用下述命令继续下载
    wget -c https://download.java.net/java/GA/jdk22.0.2/c9ecb94cd31b495da20a27d4581645e8/9/GPL/openjdk-22.0.2_linux-x64_bin.tar.gz
    
    

解压进行安装

解压命令

# 先创建文件夹
# mkdir /opt/jdk/
# tar -zxf /opt/openjdk-22.0.2_linux-x64_bin.tar.gz -C /opt/jdk/

配置环境变量

vim /etc/profile

# 在最后添加如下语句,然后保存
export JAVA_HOME=/opt/jdk/jdk-22.0.2

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# 使配置文件生效
source /etc/profile

# 然后可以使用下述命令检查是否成功
java --version

脚本安装

熟悉了手动安装的步骤,接下来我们来进行脚本一键安装。首先,脚本内容如下:

#!/bin/sh
# 安装OpenJDK的脚本
live=1
#判断自带JDK
rpm -qa|grep java

#创建jdk安装路径
echo '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'
echo 创建jdk安装路径/opt/jdk
mkdir -p /opt/jdk
tar -zxf /opt/openjdk-22.0.2_linux-x64_bin.tar.gz -C /opt/jdk/
if [ $? == 0 ]
	then
	 echo '解压成功'
	else
	 echo '解压失败'
	 live=0
	 exit 0
fi

#配置环境变量
function setJdk(){
if [ live == 0 ];then 
	exit 0 
	else
echo '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'
echo 配置环境变量
echo '#设置环境变量' >> /etc/profile
echo 'export JAVA_HOME=/opt/jdk/jdk-22.0.2' >> /etc/profile
echo 'export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/:$JAVA_HOME/jre/lib' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR' >> /etc/profile
fi
}
setJdk

#重新加载配置文件
echo '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'
echo 重新加载配置文件
source /etc/profile
echo JAVA_HOME=$JAVA_HOME
echo CLASSPATH=$CLASSPATH

#查询java安装信息
echo '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'
echo 查询java安装信息
java -version

假设我们把脚本放在/opt/install_jdk.sh,我们需要授予它运行的权限

chmod 777 /opt/install_jdk.sh

然后运行脚本

# 注意这里是用sh运行的
sh /opt/install_jdk.sh

此时,当前连接的bash界面还没刷新,还无法使用java命令。这是因为:执行脚本时,脚本中的命令是在子shell中执行,子shell只能继承父shell的环境变量,而无法修改父shell的环境变量,所做的修改仅对当前子shell有效。所以,当脚本执行完成,回到shell命令行,原子shell脚本中执行的source命令也就不生效。

所以,建议使用source或.运行脚本

source /opt/install_jdk.sh
或者
. /opt/install_jdk.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值