首页 > 系统相关 >centos789手动无脑用sh脚本安装hadoop3.3.5

centos789手动无脑用sh脚本安装hadoop3.3.5

时间:2024-09-19 20:04:39浏览次数:11  
标签:centos789 Hadoop HADOOP sh echo 无脑 exit SERVER DIR

和上篇一样的操作

查看代码
#!/bin/bash

# 确保以 root 用户运行
if [ "$(id -u)" -ne "0" ]; then
  echo "请以 root 用户运行此脚本!"
  exit 1
fi

# 定义目录和文件路径
SOFTWARE_DIR="/export/software"
SERVER_DIR="/export/servers"
HADOOP_TAR="hadoop-3.3.5.tar.gz"
HADOOP_DIR="hadoop-3.3.5"
HADOOP_SYMLINK="hadoop"

# 确保目标目录存在
if [ ! -d "$SOFTWARE_DIR" ]; then
  echo "目录 $SOFTWARE_DIR 不存在,正在创建..."
  mkdir -p "$SOFTWARE_DIR"
  if [ $? -ne 0 ]; then
    echo "创建目录 $SOFTWARE_DIR 失败。"
    exit 1
  fi
fi

if [ ! -d "$SERVER_DIR" ]; then
  echo "目录 $SERVER_DIR 不存在,正在创建..."
  mkdir -p "$SERVER_DIR"
  if [ $? -ne 0 ]; then
    echo "创建目录 $SERVER_DIR 失败。"
    exit 1
  fi
fi

# 切换到软件目录
cd "$SOFTWARE_DIR" || { echo "无法切换到目录 $SOFTWARE_DIR"; exit 1; }

# 检查 Hadoop 压缩包是否存在
if [ ! -f "$HADOOP_TAR" ]; then
  echo "压缩包 $HADOOP_TAR 不存在,请上传该文件后再运行脚本。"
  exit 1
fi

# 删除现有的 Hadoop 目录(如果存在)
if [ -d "$SERVER_DIR/$HADOOP_DIR" ]; then
  echo "目录 $SERVER_DIR/$HADOOP_DIR 已存在,正在删除..."
  rm -rf "$SERVER_DIR/$HADOOP_DIR" || { echo "删除 $HADOOP_DIR 失败"; exit 1; }
fi

if [ -d "$SERVER_DIR/$HADOOP_SYMLINK" ] || [ -L "$SERVER_DIR/$HADOOP_SYMLINK" ]; then
  echo "符号链接或目录 $SERVER_DIR/$HADOOP_SYMLINK 已存在,正在删除..."
  rm -rf "$SERVER_DIR/$HADOOP_SYMLINK" || { echo "删除符号链接 $HADOOP_SYMLINK 失败"; exit 1; }
fi

# 解压 Hadoop 包
echo "正在解压 $HADOOP_TAR 到 $SERVER_DIR..."
tar -zxvf "$HADOOP_TAR" -C "$SERVER_DIR" || { echo "解压失败"; exit 1; }

# 重命名解压后的 Hadoop 目录
if [ -d "$SERVER_DIR/$HADOOP_DIR" ]; then
  echo "重命名 $HADOOP_DIR 为 $HADOOP_SYMLINK..."
  mv "$SERVER_DIR/$HADOOP_DIR" "$SERVER_DIR/$HADOOP_SYMLINK" || { echo "重命名失败"; exit 1; }
else
  echo "目录 $HADOOP_DIR 不存在,检查解压结果。"
  exit 1
fi

# 配置 Hadoop 环境变量
PROFILE_FILE="/etc/profile"
echo "配置 Hadoop 环境变量..."
{
  echo "# Hadoop 环境变量配置"
  echo "export HADOOP_HOME=$SERVER_DIR/$HADOOP_SYMLINK"
  echo "export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH"
} >> "$PROFILE_FILE"

# 重新加载环境变量
echo "重新加载环境变量..."
source "$PROFILE_FILE" || { echo "无法重新加载环境变量配置"; exit 1; }

# 验证 Hadoop 是否安装成功
echo "验证 Hadoop 安装..."
hadoop version || { echo "Hadoop 安装失败"; exit 1; }

echo "Hadoop 安装和配置完成!"

运行完自己检测一下

如果有错更改,如图进行更改/etc/profile文件

标签:centos789,Hadoop,HADOOP,sh,echo,无脑,exit,SERVER,DIR
From: https://www.cnblogs.com/zhangxiaozhang001/p/18421231

相关文章

  • centos789手动无脑用sh脚本安装Java8
    #老师给的文件是jdk1.8版本,所以我这边写的也是8的脚本输入命令:mkdir–p/export/data#放置相关的数据文件输入命令mkdir–p/export/servers#软件的安装目录输入命令:mkdir–p/export/software上传文件jdk-8u241-linux-x64.tar.gz到/export/software目录然后写一个安装......
  • centos789手动无脑用sh脚本安装Java8
    #老师给的文件是jdk1.8版本,所以我这边写的也是1.8的脚本输入命令:mkdir–p/export/data#放置相关的数据文件输入命令mkdir–p/export/servers#软件的安装目录输入命令:mkdir–p/export/software上传文件jdk-8u241-linux-x64.tar.gz到/export/software目录然后写一个安......
  • K8S入门学习(四):集群编排工具之 Dashboard
    一、Dashboard简单介绍1.1、Dashboard它是什么Dashboard是K8s集群管理的一个基于web的用户界面---WebUI,它提供了一个直观的方式来管理和监控K8s集群。Dashboard提供了对集群资源、应用程序部署和状态的实时查看和操作,使得用户能够更高效地管理和监控其K8s集。Dashboa......
  • SpringBoot整合ShardingJdbc分表
    项目中处理接收设备上报日志需求,上报数据量大,因此对数据进行按日期分表处理。使用技术:ShardingJdbc+rabbitMq+jpa+多线程处理引入所需jar:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</a......
  • Windows安装时调出系统的cmd功能 Shift+F10
    Windows安装时调出系统的cmd功能Shift+F10(笔记本可能是Shift+FN+F10)比如可以转换磁盘分区形式。 在Windows安装程序中同时按下【Shift+F10】键以打开命令提示符窗口,并按顺序输入以下命令。 diskpart listdisk(会显示磁盘列表) selectdisk1(1为要安装......
  • 【论文阅读笔记】【Hand Pose Estimation-Interacting Hand】 Interacting Two-Hand 3
    ICCV2021读论文思考的问题论文试图解决什么问题?写作背景是什么?问题:如何针对性解决双手手势识别里出现的重度遮挡以及深度交互的问题?背景:由于严重的遮挡和交互特点,先前针对单手手势识别设计的模型不能很好地应用到双手的情景中文章提出了什么样的解决方法?提出......
  • Wireshark安装
    Wireshark安装1.官网地址下载选择合适的版本安装,我是Windows11专业版就下载的第一个2.以管理员身份运行安装包第二个选项为创建桌面图标,可按照自己的情况选择一路默认即可,建议修改安装路径3.NPcap和USBPcap,如果电脑上已安装的可忽略,没有的可以安装一下4.安装完成运行......
  • 强大的终端SSH工具:SecureCRT (Win&Mac) 特别版
    SecureCRT是一款专业的终端仿真程序,它支持SSH(包括SSH1和SSH2)、Telnet、rlogin等多种网络协议,广泛用于Windows、UNIX、Linux和VMS系统的远程访问和管理。这款软件以其用户友好的界面、高度的可定制性和强大的安全性而受到网络管理员、系统管理员和开发人员的青睐。主要特点包......
  • 使用 PowerShell 管理 DNS 服务器,你可以执行多种操作,如添加、删除和修改 DNS 记录,以及
    使用PowerShell管理DNS服务器,你可以执行多种操作,如添加、删除和修改DNS记录,以及管理DNS区域。以下是一些常用的cmdlet示例:查看所有DNS区域powershellCopyCodeGet-DnsServerZone添加新的DNS区域powershellCopyCodeAdd-DnsServerPrimaryZone-Name"yourdomai......
  • 一文搞定WeakHashMapE0
    写在前面在缓存场景下,由于内存是有限的,不能缓存所有对象,因此就需要一定的删除机制,淘汰掉一些对象。这个时候可能很快就想到了各种Cache数据过期策略,目前也有一些优秀的包提供了功能丰富的Cache,比如Google的GuavaCache,它支持数据定期过期、LRU、LFU等策略,但它仍然有可能会导致有......