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

和上篇一样的操作

查看代码
#!/bin/bash# 确保以 root 用户运行
if [ "$(id -u)" -ne "0" ]; thenecho "请以 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" ]; thenecho "目录 $SOFTWARE_DIR 不存在,正在创建..."mkdir -p "$SOFTWARE_DIR"if [ $? -ne 0 ]; thenecho "创建目录 $SOFTWARE_DIR 失败。"exit 1fi
fiif [ ! -d "$SERVER_DIR" ]; thenecho "目录 $SERVER_DIR 不存在,正在创建..."mkdir -p "$SERVER_DIR"if [ $? -ne 0 ]; thenecho "创建目录 $SERVER_DIR 失败。"exit 1fi
fi# 切换到软件目录
cd "$SOFTWARE_DIR" || { echo "无法切换到目录 $SOFTWARE_DIR"; exit 1; }# 检查 Hadoop 压缩包是否存在
if [ ! -f "$HADOOP_TAR" ]; thenecho "压缩包 $HADOOP_TAR 不存在,请上传该文件后再运行脚本。"exit 1
fi# 删除现有的 Hadoop 目录(如果存在)
if [ -d "$SERVER_DIR/$HADOOP_DIR" ]; thenecho "目录 $SERVER_DIR/$HADOOP_DIR 已存在,正在删除..."rm -rf "$SERVER_DIR/$HADOOP_DIR" || { echo "删除 $HADOOP_DIR 失败"; exit 1; }
fiif [ -d "$SERVER_DIR/$HADOOP_SYMLINK" ] || [ -L "$SERVER_DIR/$HADOOP_SYMLINK" ]; thenecho "符号链接或目录 $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" ]; thenecho "重命名 $HADOOP_DIR 为 $HADOOP_SYMLINK..."mv "$SERVER_DIR/$HADOOP_DIR" "$SERVER_DIR/$HADOOP_SYMLINK" || { echo "重命名失败"; exit 1; }
elseecho "目录 $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=\$PATH:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin"
} >> "$PROFILE_FILE"# 重新加载环境变量
echo "重新加载环境变量..."
source "$PROFILE_FILE" || { echo "无法重新加载环境变量配置"; exit 1; }# 验证 Hadoop 是否安装成功
echo "验证 Hadoop 安装..."
hadoop version || { echo "Hadoop 安装失败"; exit 1; }echo "Hadoop 安装和配置完成!"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/800056.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

想做数据报表?你的“后台”够硬吗

在数据驱动的时代,制作一份高效、精准的数据报表成为企业管理和决策的重要手段。但要做好数据报表,不仅需要一款功能强大的报表工具,还必须有一个强有力的“后台”管理系统来支撑。那么,为什么报表工具需要一个管理后台?以及管理后台的核心功能有哪些?今天就带大家一探究…

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目录 然后…

C++ vector 的一些操作

▲ 《C++ Primer》 P87▲ 《C++ Primer》 P91

BoardLight

​​这是一个easy程度的靶机,所以博主写的也很简单,总共有2个flag。 信息收集端口扫描: ​​发现开放了22,80端口 Web渗透 ​​最底部发现域名 board.htb写进/etc/hosts​文件中 sudo echo "10.10.11.11 board.htb" | sudo tee -a /etc/hosts 对他进行子域名爆破…

LLM学习笔记-长度外推技术

长度外推为在不需要对模型进行额外训练的情况下,模型可以处理更长的序列。本篇文章主要介绍目前大模型用到的一些长度外推技术,包括以RoPE为基础进行位置插值、NTK-aware、动态NTK、NTK-by-parts 和YaRN。关于RoPE,可参见我的上一篇博客LLM学习笔记-位置编码篇 位置插值 回想…

裘立帆-第一次作业

在博客园建立个人技术博客,完善个人信息及博客设置,并发布一篇包含自我介绍、技能树与技术偏好、课程期望的随笔,以此作为课程参与的开始。这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/rjjc/这个作业的目标 熟悉博客的写作和使用,将自己介绍给老师和助教姓名…

章14——集合——集合体系

目录两个难点 底层机制,和不同应用场景下的选择集合体系图,需要背诵!总结: 1、集合主要是两组(单列集合、双列集合) 2、Collection 接口有两个重要的子接口 List Set, 他们的实现子列都是单列集合 3、Map 接口实现的子类是双列集合,存放的是key,value 4、上述两张图要记…

使用 VSCode 调试 Zig

首要条件是你本地需要安装MinGW-w64. 可以参考MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本 - jack_Meng - 博客园 (cnblogs.com) 这里有几点需要注意,在2024年9月时,我没有找exe的安装,你需要在github下载 Releases niXman/mingw-builds-binaries (github.com) …

Go 入门指南:8.5. map 的排序

原创 吃个大西瓜 Coding Big Tree2024年09月19日 08:00 云南map 默认是无序的,不管是按照 key 还是按照 value 默认都不排序(详见第 8.3 节)。 如果你想为 map 排序,需要将 key(或者 value)拷贝到一个切片,再对切片排序(使用 sort 包,详见第 7.6.6 节),然后可以使用…

频率响应9

频率响应 公式推导 正弦输入的一般形式 \[u(t)=Asin(\omega_i)+bcos(\omega_i) \]整理 \[u(t)=M_i sin(\omega_i t + \phi_i) \\其中 \phi_i=arctan \frac{B}{A} \qquad ,M_i=\sqrt{A^2+B^2} \]输入到系统 G(s) \[\begin{aligned} U(s)& =\mathcal{L}[u\left(t\right)]=\…

vscode 搜索框3个按钮分别代表什么

https://blog.csdn.net/u012292754/article/details/108307288相信坚持的力量,日复一日的习惯.